From 434643dd4d14a841abdcc73ad7b3a0a8e06e4438 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Wed, 25 Jul 2012 14:56:18 -0500 Subject: [svn-r22600] Description: Bring r22251:22599 from trunk to revise_chunks branch. Tested on: Mac OSX/64 10.7.4 (amazon) w/gcc 4.7.1, C++ & FORTRAN (Not h5committested yet, as this branch doesn't require it) --- CMakeLists.txt | 34 +- MANIFEST | 62 +- README.txt | 2 +- c++/examples/Makefile.in | 11 +- c++/src/Makefile.in | 2 +- c++/test/tfile.cpp | 13 +- config/cmake/CTestCustom.cmake | 19 +- config/cmake/FindHDF5.cmake.in | 85 + config/cmake/runTest.cmake | 36 +- config/examples.am | 12 +- config/lt_vers.am | 2 +- configure | 24 +- configure.in | 3 +- examples/Makefile.am | 1 + examples/Makefile.in | 14 +- examples/README | 17 + examples/h5_attribute.c | 1 - fortran/examples/Makefile.in | 11 +- fortran/src/H5Df.c | 24 +- fortran/src/H5Tff.f90 | 57 +- fortran/src/Makefile.in | 2 +- fortran/test/tH5T.f90 | 45 + hl/c++/examples/Makefile.in | 11 +- hl/c++/src/Makefile.in | 2 +- hl/examples/Makefile.in | 11 +- hl/fortran/examples/Makefile.in | 11 +- hl/fortran/src/Makefile.in | 2 +- hl/src/Makefile.in | 2 +- hl/test/Makefile.am | 6 +- hl/test/Makefile.in | 6 +- hl/test/test_lite.c | 1 - release_docs/CMake.txt | 106 +- release_docs/RELEASE.txt | 26 +- release_docs/Using_CMake.txt | 49 +- src/H5.c | 2 +- src/H5A.c | 17 +- src/H5AC.c | 12 +- src/H5Abtree2.c | 20 +- src/H5Adeprec.c | 12 +- src/H5Aint.c | 76 +- src/H5C.c | 6 +- src/H5D.c | 33 +- src/H5Dbtree.c | 385 +- src/H5Dbtree2.c | 8 +- src/H5Dchunk.c | 770 ++-- src/H5Dcompact.c | 100 +- src/H5Dcontig.c | 227 +- src/H5Ddbg.c | 14 +- src/H5Ddeprec.c | 34 +- src/H5Defl.c | 146 +- src/H5Dfill.c | 56 +- src/H5Dint.c | 361 +- src/H5Dio.c | 116 +- src/H5Dlayout.c | 66 +- src/H5Dmpio.c | 299 +- src/H5Doh.c | 116 +- src/H5Dpkg.h | 167 +- src/H5Dprivate.h | 6 - src/H5Dproxy.c | 124 +- src/H5Dscatgath.c | 96 +- src/H5Dselect.c | 31 +- src/H5Dtest.c | 40 +- src/H5E.c | 66 +- src/H5F.c | 55 +- src/H5FD.c | 12 +- src/H5FDlog.c | 19 +- src/H5FDmpi.c | 49 +- src/H5FDmpi.h | 7 +- src/H5FDmulti.c | 3 +- src/H5FDpublic.h | 2 +- src/H5Faccum.c | 27 +- src/H5G.c | 13 +- src/H5I.c | 220 +- src/H5Ipkg.h | 2 +- src/H5Iprivate.h | 56 +- src/H5MF.c | 20 +- src/H5MFaggr.c | 115 +- src/H5Odtype.c | 20 +- src/H5Olayout.c | 16 +- src/H5Ostorage.c | 14 +- src/H5Pdcpl.c | 4 +- src/H5Pdxpl.c | 20 +- src/H5Pint.c | 30 +- src/H5R.c | 53 +- src/H5S.c | 49 +- src/H5Smpio.c | 1 + src/H5T.c | 943 +++-- src/H5Tarray.c | 40 +- src/H5Tbit.c | 110 +- src/H5Tcommit.c | 12 +- src/H5Tcompound.c | 36 +- src/H5Tconv.c | 1052 ++--- src/H5Tdbg.c | 8 +- src/H5Tenum.c | 37 +- src/H5Tfields.c | 22 +- src/H5Tnative.c | 22 +- src/H5Toh.c | 2 +- src/H5Tpkg.h | 409 +- src/H5Tvisit.c | 12 +- src/H5Tvlen.c | 20 +- src/H5config.h.in | 7 +- src/H5detect.c | 2 +- src/H5private.h | 38 +- src/H5public.h | 4 +- src/H5system.c | 6 +- src/Makefile.in | 2 +- test/Makefile.am | 13 +- test/Makefile.in | 40 +- test/bittests.c | 104 +- test/cmpd_dset.c | 2 +- test/dsets.c | 40 +- test/dt_arith.c | 114 +- test/dtypes.c | 5 + test/external.c | 6 +- test/file_image.c | 48 +- test/mf.c | 50 +- test/objcopy.c | 2 +- test/testfiles/error_test_1 | 6 +- test/tgenprop.c | 42 + test/tid.c | 18 +- test/tmisc.c | 84 +- test/vfd.c | 3 +- testpar/t_dset.c | 2 +- tools/h5copy/testfiles/h5copy_ref.out.ls | 2 +- tools/h5copy/testfiles/h5copytst.out.ls | 174 +- tools/h5diff/h5diffgentest.c | 4 +- tools/h5diff/testh5diff.sh | 11 +- tools/h5dump/CMakeLists.txt | 1035 +++-- tools/h5dump/Makefile.am | 2 +- tools/h5dump/errfiles/filter_fail.err | 21 + tools/h5dump/errfiles/tall-1.err | 25 + tools/h5dump/errfiles/tall-2A.err | 25 + tools/h5dump/errfiles/tall-2B.err | 25 + tools/h5dump/errfiles/tarray1_big.err | 67 + tools/h5dump/errfiles/tattr-3.err | 8 + tools/h5dump/errfiles/tattrregR.err | 45 + tools/h5dump/errfiles/tcomp-3.err | 16 + tools/h5dump/errfiles/tdataregR.err | 45 + tools/h5dump/errfiles/tdset-2.err | 33 + tools/h5dump/errfiles/texceedsubblock.err | 1 + tools/h5dump/errfiles/texceedsubcount.err | 1 + tools/h5dump/errfiles/texceedsubstart.err | 1 + tools/h5dump/errfiles/texceedsubstride.err | 1 + tools/h5dump/errfiles/textlink.err | 50 + tools/h5dump/errfiles/textlinkfar.err | 243 ++ tools/h5dump/errfiles/textlinksrc.err | 243 ++ tools/h5dump/errfiles/tgroup-2.err | 20 + .../errfiles/tnofilename-with-packed-bits.err | 1 + tools/h5dump/errfiles/torderlinks1.err | 25 + tools/h5dump/errfiles/torderlinks2.err | 25 + tools/h5dump/errfiles/tpbitsCharLengthExceeded.err | 1 + tools/h5dump/errfiles/tpbitsCharOffsetExceeded.err | 1 + tools/h5dump/errfiles/tpbitsIncomplete.err | 1 + tools/h5dump/errfiles/tpbitsIntLengthExceeded.err | 1 + tools/h5dump/errfiles/tpbitsIntOffsetExceeded.err | 1 + tools/h5dump/errfiles/tpbitsLengthExceeded.err | 1 + tools/h5dump/errfiles/tpbitsLengthPositive.err | 1 + tools/h5dump/errfiles/tpbitsLongLengthExceeded.err | 1 + tools/h5dump/errfiles/tpbitsLongOffsetExceeded.err | 1 + tools/h5dump/errfiles/tpbitsMaxExceeded.err | 1 + tools/h5dump/errfiles/tpbitsOffsetExceeded.err | 1 + tools/h5dump/errfiles/tpbitsOffsetNegative.err | 1 + tools/h5dump/errfiles/tperror.err | 33 + tools/h5dump/errfiles/tqmarkfile.err | 33 + tools/h5dump/errfiles/tslink-D.err | 25 + tools/h5dump/h5dump.c | 40 +- tools/h5dump/h5dump_ddl.c | 136 +- tools/h5dump/h5dump_xml.c | 1 - tools/h5dump/h5dumpgentest.c | 4398 ++++++++++---------- tools/h5dump/testh5dump.sh.in | 165 +- tools/h5dump/testh5dumppbits.sh.in | 82 +- tools/h5import/CMakeLists.txt | 179 +- tools/h5import/h5import.c | 2344 +++++++++-- tools/h5import/h5import.h | 29 +- tools/h5import/h5importtest.c | 32 +- tools/h5import/h5importtestutil.sh | 108 +- tools/h5import/testfiles/dbinfp64.h5.txt | 2 + tools/h5import/testfiles/dbinin16.h5.txt | 2 + tools/h5import/testfiles/dbinin32.h5.txt | 2 + tools/h5import/testfiles/dbinin8.h5.txt | 2 + tools/h5import/testfiles/dbinin8w.h5.txt | 2 + tools/h5import/testfiles/dbinuin16.h5.txt | 2 + tools/h5import/testfiles/dbinuin32.h5.txt | 2 + tools/h5import/testfiles/dtxtstr.h5.txt | 2 + tools/h5repack/CMakeLists.txt | 31 +- tools/h5repack/h5repack.c | 9 +- tools/h5repack/h5repack.h | 1 + tools/h5repack/h5repack.sh.in | 51 +- tools/h5repack/h5repack_copy.c | 46 +- tools/h5repack/h5repack_main.c | 2 + tools/h5repack/h5repack_opttable.c | 13 +- tools/h5repack/h5repacktst.c | 117 +- tools/h5repack/testfiles/h5repack_layout3.h5 | Bin 0 -> 966904 bytes tools/h5stat/CMakeLists.txt | 6 + tools/h5stat/h5stat.c | 39 +- tools/h5stat/testfiles/h5stat_notexist.ddl | 5 + tools/h5stat/testh5stat.sh.in | 3 + tools/lib/h5tools_dump.c | 17 +- tools/lib/h5trav.c | 121 +- tools/lib/h5trav.h | 2 + tools/misc/CMakeLists.txt | 7 + tools/testfiles/filter_fail.ddl | 21 - tools/testfiles/h5dump-help.txt | 27 +- tools/testfiles/tattr-3.ddl | 8 - tools/testfiles/tattrcontents1.ddl | 21 + tools/testfiles/tattrcontents2.ddl | 21 + tools/testfiles/tdset-2.ddl | 33 - tools/testfiles/tdset_idx.ls | 36 + tools/testfiles/textlink.ddl | 50 - tools/testfiles/tgroup-2.ddl | 1 - tools/testfiles/tnestedcmpddt.ddl | 220 + tools/testfiles/tnestedcmpddt.h5 | Bin 0 -> 16536 bytes tools/testfiles/tnofilename-with-packed-bits.ddl | 27 +- tools/testfiles/tordercontents1.ddl | 20 + tools/testfiles/tordercontents2.ddl | 20 + tools/testfiles/torderlinks1.ddl | 52 + tools/testfiles/torderlinks2.ddl | 52 + tools/testfiles/tpbitsIncomplete.ddl | 27 +- tools/testfiles/tpbitsLengthExceeded.ddl | 27 +- tools/testfiles/tpbitsLengthPositive.ddl | 27 +- tools/testfiles/tpbitsMaxExceeded.ddl | 27 +- tools/testfiles/tpbitsOffsetExceeded.ddl | 27 +- tools/testfiles/tpbitsOffsetNegative.ddl | 27 +- tools/testfiles/tperror.ddl | 33 - tools/testfiles/tqmarkfile.ddl | 33 - tools/testfiles/tslink-D.ddl | 25 - tools/testfiles/twidedisplay.ddl | 130 + vms/src/h5pubconf.h | 8 +- windows/src/H5pubconf.h | 6 +- 229 files changed, 12212 insertions(+), 7332 deletions(-) create mode 100644 config/cmake/FindHDF5.cmake.in create mode 100644 examples/README create mode 100644 tools/h5dump/errfiles/filter_fail.err create mode 100644 tools/h5dump/errfiles/tall-1.err create mode 100644 tools/h5dump/errfiles/tall-2A.err create mode 100644 tools/h5dump/errfiles/tall-2B.err create mode 100644 tools/h5dump/errfiles/tarray1_big.err create mode 100644 tools/h5dump/errfiles/tattr-3.err create mode 100644 tools/h5dump/errfiles/tattrregR.err create mode 100644 tools/h5dump/errfiles/tcomp-3.err create mode 100644 tools/h5dump/errfiles/tdataregR.err create mode 100644 tools/h5dump/errfiles/tdset-2.err create mode 100644 tools/h5dump/errfiles/texceedsubblock.err create mode 100644 tools/h5dump/errfiles/texceedsubcount.err create mode 100644 tools/h5dump/errfiles/texceedsubstart.err create mode 100644 tools/h5dump/errfiles/texceedsubstride.err create mode 100644 tools/h5dump/errfiles/textlink.err create mode 100644 tools/h5dump/errfiles/textlinkfar.err create mode 100644 tools/h5dump/errfiles/textlinksrc.err create mode 100644 tools/h5dump/errfiles/tgroup-2.err create mode 100644 tools/h5dump/errfiles/tnofilename-with-packed-bits.err create mode 100644 tools/h5dump/errfiles/torderlinks1.err create mode 100644 tools/h5dump/errfiles/torderlinks2.err create mode 100644 tools/h5dump/errfiles/tpbitsCharLengthExceeded.err create mode 100644 tools/h5dump/errfiles/tpbitsCharOffsetExceeded.err create mode 100644 tools/h5dump/errfiles/tpbitsIncomplete.err create mode 100644 tools/h5dump/errfiles/tpbitsIntLengthExceeded.err create mode 100644 tools/h5dump/errfiles/tpbitsIntOffsetExceeded.err create mode 100644 tools/h5dump/errfiles/tpbitsLengthExceeded.err create mode 100644 tools/h5dump/errfiles/tpbitsLengthPositive.err create mode 100644 tools/h5dump/errfiles/tpbitsLongLengthExceeded.err create mode 100644 tools/h5dump/errfiles/tpbitsLongOffsetExceeded.err create mode 100644 tools/h5dump/errfiles/tpbitsMaxExceeded.err create mode 100644 tools/h5dump/errfiles/tpbitsOffsetExceeded.err create mode 100644 tools/h5dump/errfiles/tpbitsOffsetNegative.err create mode 100644 tools/h5dump/errfiles/tperror.err create mode 100644 tools/h5dump/errfiles/tqmarkfile.err create mode 100644 tools/h5dump/errfiles/tslink-D.err create mode 100644 tools/h5import/testfiles/dbinfp64.h5.txt create mode 100644 tools/h5import/testfiles/dbinin16.h5.txt create mode 100644 tools/h5import/testfiles/dbinin32.h5.txt create mode 100644 tools/h5import/testfiles/dbinin8.h5.txt create mode 100644 tools/h5import/testfiles/dbinin8w.h5.txt create mode 100644 tools/h5import/testfiles/dbinuin16.h5.txt create mode 100644 tools/h5import/testfiles/dbinuin32.h5.txt create mode 100644 tools/h5import/testfiles/dtxtstr.h5.txt create mode 100644 tools/h5repack/testfiles/h5repack_layout3.h5 create mode 100644 tools/h5stat/testfiles/h5stat_notexist.ddl create mode 100644 tools/testfiles/tattrcontents1.ddl create mode 100644 tools/testfiles/tattrcontents2.ddl create mode 100644 tools/testfiles/tdset_idx.ls create mode 100644 tools/testfiles/tnestedcmpddt.ddl create mode 100644 tools/testfiles/tnestedcmpddt.h5 create mode 100644 tools/testfiles/tordercontents1.ddl create mode 100644 tools/testfiles/tordercontents2.ddl create mode 100644 tools/testfiles/torderlinks1.ddl create mode 100644 tools/testfiles/torderlinks2.ddl create mode 100644 tools/testfiles/twidedisplay.ddl diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d025e2..b44f01d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -667,6 +667,12 @@ IF (WIN32 AND NOT CYGWIN) ENDIF (HDF5_ENABLE_THREADSAFE) ENDIF (WIN32 AND NOT CYGWIN) +# ----------------------------------------------------------------------- +# wrapper script variables +# +#SET (CFLAGS "${C_DEFINES}") +#SET (CXXFLAGS "${CXX_DEFINES}") + #----------------------------------------------------------------------------- # Add the HDF5 Library Target to the build #----------------------------------------------------------------------------- @@ -739,6 +745,12 @@ IF (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for IF (HDF5_BUILD_FORTRAN) OPTION (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF) INCLUDE (${HDF5_RESOURCES_DIR}/HDF5UseFortran.cmake) + + # ----------------------------------------------------------------------- + # wrapper script variables + # +# SET (FCFLAGS "${Fortran_DEFINES}") + ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/fortran ${PROJECT_BINARY_DIR}/fortran) IF (HDF5_BUILD_HL_LIB) IF (EXISTS "${HDF5_SOURCE_DIR}/hl/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/fortran") @@ -972,7 +984,27 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES) SET (CPACK_NSIS_PACKAGE_NAME "HDF5 ${HDF5_PACKAGE_VERSION}") ELSE (WIN32) SET (CPACK_PACKAGING_INSTALL_PREFIX "/usr") - SET (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON) + SET (CPACK_RPM_PACKAGE_RELOCATABLE ON) + SET (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + SET (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + SET (CPACK_RPM_PACKAGE_URL "${HDF5_PACKAGE_URL}") + SET (CPACK_RPM_PACKAGE_SUMMARY "HDF5 is a unique technology suite that makes possible the management of extremely large and complex data collections.") + SET (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + + * Tools and applications for managing, manipulating, viewing, and analyzing the data in the collection. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) SET (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") SET (CPACK_DEBIAN_PACKAGE_MAINTAINER "${HDF5_PACKAGE_BUGREPORT}") diff --git a/MANIFEST b/MANIFEST index 7dc3dc0..30bbdbc 100644 --- a/MANIFEST +++ b/MANIFEST @@ -138,7 +138,7 @@ ./examples/h5_shared_mesg.c ./examples/ph5example.c ./examples/testh5cc.sh.in - +./examples/README #------------------------------------------------------------------------------ @@ -1193,6 +1193,14 @@ ./tools/h5import/testfiles/txtstr.conf ./tools/h5import/testfiles/txtstr.h5 ./tools/h5import/testfiles/txtstr.txt +./tools/h5import/testfiles/dbinfp64.h5.txt +./tools/h5import/testfiles/dbinin8.h5.txt +./tools/h5import/testfiles/dbinin8w.h5.txt +./tools/h5import/testfiles/dbinin16.h5.txt +./tools/h5import/testfiles/dbinin32.h5.txt +./tools/h5import/testfiles/dbinuin16.h5.txt +./tools/h5import/testfiles/dbinuin32.h5.txt +./tools/h5import/testfiles/dtxtstr.h5.txt # h5diff sources ./tools/h5diff/Makefile.am @@ -1300,6 +1308,7 @@ ./tools/h5stat/testfiles/h5stat_newgrat-UA.ddl ./tools/h5stat/testfiles/h5stat_newgrat-UG.ddl ./tools/h5stat/testfiles/h5stat_newgrat.h5 +./tools/h5stat/testfiles/h5stat_notexist.ddl ./tools/h5stat/testfiles/h5stat_tsohm.ddl ./tools/h5stat/testfiles/h5stat_tsohm.h5 @@ -1455,6 +1464,8 @@ ./tools/testfiles/tnbit.ddl ./tools/testfiles/tnestcomp-1.ddl ./tools/testfiles/tnestedcomp.h5 +./tools/testfiles/tnestedcmpddt.ddl +./tools/testfiles/tnestedcmpddt.h5 ./tools/testfiles/tno-subset.h5 ./tools/testfiles/tno-subset.ddl ./tools/testfiles/tnullspace.h5 @@ -1494,7 +1505,13 @@ ./tools/testfiles/tattr2.h5 ./tools/testfiles/tall-2A.ddl ./tools/testfiles/tall-2B.ddl +./tools/testfiles/tattrcontents1.ddl +./tools/testfiles/tattrcontents2.ddl ./tools/testfiles/tcontents.ddl +./tools/testfiles/tordercontents1.ddl +./tools/testfiles/tordercontents2.ddl +./tools/testfiles/torderlinks1.ddl +./tools/testfiles/torderlinks2.ddl ./tools/testfiles/tfilters.h5 ./tools/testfiles/tchunked.ddl ./tools/testfiles/tcompact.ddl @@ -1537,6 +1554,46 @@ ./tools/testfiles/tbigdims.ddl ./tools/testfiles/tbigdims.h5 ./tools/testfiles/thyperslab.h5 +./tools/testfiles/twidedisplay.ddl + +# h5dump test error files +./tools/h5dump/errfiles/filter_fail.err +./tools/h5dump/errfiles/tall-1.err +./tools/h5dump/errfiles/tall-2A.err +./tools/h5dump/errfiles/tall-2B.err +./tools/h5dump/errfiles/tarray1_big.err +./tools/h5dump/errfiles/tattr-3.err +./tools/h5dump/errfiles/tattrregR.err +./tools/h5dump/errfiles/tcomp-3.err +./tools/h5dump/errfiles/tdataregR.err +./tools/h5dump/errfiles/tdset-2.err +./tools/h5dump/errfiles/texceedsubblock.err +./tools/h5dump/errfiles/texceedsubcount.err +./tools/h5dump/errfiles/texceedsubstart.err +./tools/h5dump/errfiles/texceedsubstride.err +./tools/h5dump/errfiles/textlink.err +./tools/h5dump/errfiles/textlinkfar.err +./tools/h5dump/errfiles/textlinksrc.err +./tools/h5dump/errfiles/tgroup-2.err +./tools/h5dump/errfiles/tnofilename-with-packed-bits.err +./tools/h5dump/errfiles/torderlinks1.err +./tools/h5dump/errfiles/torderlinks2.err +./tools/h5dump/errfiles/tpbitsCharLengthExceeded.err +./tools/h5dump/errfiles/tpbitsCharOffsetExceeded.err +./tools/h5dump/errfiles/tpbitsIncomplete.err +./tools/h5dump/errfiles/tpbitsIntLengthExceeded.err +./tools/h5dump/errfiles/tpbitsIntOffsetExceeded.err +./tools/h5dump/errfiles/tpbitsLengthExceeded.err +./tools/h5dump/errfiles/tpbitsLengthPositive.err +./tools/h5dump/errfiles/tpbitsLongLengthExceeded.err +./tools/h5dump/errfiles/tpbitsLongOffsetExceeded.err +./tools/h5dump/errfiles/tpbitsMaxExceeded.err +./tools/h5dump/errfiles/tpbitsOffsetExceeded.err +./tools/h5dump/errfiles/tpbitsOffsetNegative.err +./tools/h5dump/errfiles/tperror.err +./tools/h5dump/errfiles/tqmarkfile.err +./tools/h5dump/errfiles/tslink-D.err + # h5dump packed bits validation ./tools/testfiles/tnofilename-with-packed-bits.ddl ./tools/testfiles/tpbitsLengthPositive.ddl @@ -1988,6 +2045,7 @@ ./tools/h5repack/testfiles/h5repack_layout.h5 ./tools/h5repack/testfiles/h5repack_layouto.h5 ./tools/h5repack/testfiles/h5repack_layout2.h5 +./tools/h5repack/testfiles/h5repack_layout3.h5 ./tools/h5repack/testfiles/h5repack_early.h5 ./tools/h5repack/testfiles/h5repack_szip.h5 ./tools/h5repack/testfiles/h5repack_deflate.h5 @@ -2330,7 +2388,7 @@ ./config/cmake/CheckTypeSize.cmake ./config/cmake/H5cxx_config.h.in ./config/cmake/H5pubconf.h.in -./config/cmake/FindHDF5.cmake +./config/cmake/FindHDF5.cmake.in ./config/cmake/FindMPI.cmake ./config/cmake/hdf5-config.cmake.build.in ./config/cmake/hdf5-config.cmake.install.in diff --git a/README.txt b/README.txt index 54356a8..c80fea1 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.113-FA_a5 currently under development +HDF5 version 1.9.124-FA_a5 currently under development Please refer to the release_docs/INSTALL file for installation instructions. ------------------------------------------------------------------------------ diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in index 479747e..9397a27c 100644 --- a/c++/examples/Makefile.in +++ b/c++/examples/Makefile.in @@ -643,7 +643,7 @@ install-data-local: uninstall-local: @$(MAKE) $(AM_MAKEFLAGS) uninstall-examples -install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) +install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) @for f in X $(INSTALL_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \ @@ -655,6 +655,12 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) (set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\ fi; \ done + @for f in X $(INSTALL_TOP_FILES); do \ + if test $$f != X; then \ + (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ + chmod a-x $(EXAMPLETOPDIR)/$$f;\ + fi; \ + done @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ @@ -668,6 +674,9 @@ uninstall-examples: @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \ fi + @if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \ + set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \ + fi @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \ set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \ fi diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 3f99980..b83f4e1 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -431,7 +431,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 103 +LT_VERS_REVISION = 114 LT_VERS_AGE = 0 # Include src directory diff --git a/c++/test/tfile.cpp b/c++/test/tfile.cpp index 88ffc03..df01752 100644 --- a/c++/test/tfile.cpp +++ b/c++/test/tfile.cpp @@ -110,15 +110,22 @@ static void test_file_create() // try to create the same file with H5F_ACC_TRUNC. This should fail // because file1 is the same file and is currently open. + +/* These three are failing with new/PGI compiler, HDFFV-8067 + The line "H5File file2 (FILE1, H5F_ACC_TRUNC); // should throw E" + Results in this message: + "terminate called without an active exception + Command terminated by signal 6" + Commenting it out until it's fixed LK 20120626. #ifndef H5_HAVE_FILE_VERSIONS try { H5File file2 (FILE1, H5F_ACC_TRUNC); // should throw E - // Should FAIL but didn't, so throw an invalid action exception throw InvalidActionException("H5File constructor", "Attempted to create an existing file."); } catch( FileIException E ) // catch truncating existing file {} // do nothing, FAIL expected + #endif // Close file1 delete file1; @@ -152,13 +159,15 @@ static void test_file_create() // Try with H5F_ACC_EXCL. This should fail too because the file already // exists. try { - H5File file3 (FILE1, H5F_ACC_EXCL); // should throw E +// H5File file3 (FILE1, H5F_ACC_EXCL); // should throw E // Should FAIL but didn't, so throw an invalid action exception throw InvalidActionException("H5File constructor", "H5F_ACC_EXCL attempt on an existing file."); } catch( FileIException E ) // catching H5F_ACC_EXCL on existing file {} // do nothing, FAIL expected +*/ + std::cerr << "SKIPPED for HDFFV-8067" << std::endl; // Get the file-creation template FileCreatPropList tmpl1 = file1->getCreatePlist(); diff --git a/config/cmake/CTestCustom.cmake b/config/cmake/CTestCustom.cmake index b54bedc..6b6acc2 100755 --- a/config/cmake/CTestCustom.cmake +++ b/config/cmake/CTestCustom.cmake @@ -37,11 +37,9 @@ SET (CTEST_CUSTOM_MEMCHECK_IGNORE hl_test-clear-objects hl_fortran_test-clear-objects ######### tools/h5copy ######### - H5COPY-clearall-objects H5COPY-clear-refs H5COPY-clear-ext-links H5COPY-clear-misc - H5COPY-clear-samefile ######### tools/h5diff ######### H5DIFF-clearall-objects ######### tools/h5dump ######### @@ -52,7 +50,22 @@ SET (CTEST_CUSTOM_MEMCHECK_IGNORE H5DUMP_PACKED_BITS-clearall-objects H5DUMP-XML-clearall-objects ######### tools/h5import ######### - H5IMPORT-clear-objects + H5IMPORT-ASCII_I32-clear-objects + H5IMPORT-ASCII_I16-clear-objects + H5IMPORT-ASCII_I8-clear-objects + H5IMPORT-ASCII_UI16-clear-objects + H5IMPORT-ASCII_UI32-clear-objects + H5IMPORT-ASCII_F32-clear-objects + H5IMPORT-ASCII_F64-clear-objects + H5IMPORT-BINARY_F64-clear-objects + H5IMPORT-BINARY_I8-clear-objects + H5IMPORT-BINARY_I16-clear-objects + H5IMPORT-BINARY_I32-clear-objects + H5IMPORT-BINARY_UI16-clear-objects + H5IMPORT-BINARY_UI32-clear-objects + H5IMPORT-STR-clear-objects + H5IMPORT-BINARY_I8_EOF-clear-objects + H5IMPORT-ASCII_F64_R1-clear-objects ######### tools/h5jam ######### H5JAM-SETUP-N_twithub_u10_c-clear-objects H5JAM-SETUP-N_twithub_u10_c diff --git a/config/cmake/FindHDF5.cmake.in b/config/cmake/FindHDF5.cmake.in new file mode 100644 index 0000000..a866859 --- /dev/null +++ b/config/cmake/FindHDF5.cmake.in @@ -0,0 +1,85 @@ +# +# To be used by projects that make use of Cmakeified hdf5-1.8 +# + +# +# Find the HDF5 includes and get all installed hdf5 library settings from +# HDF5-config.cmake file : Requires a CMake compatible hdf5-1.8.5 or later +# for this feature to work. The following vars are set if hdf5 is found. +# +# HDF5_FOUND - True if found, otherwise all other vars are undefined +# HDF5_INCLUDE_DIR - The include dir for main *.h files +# HDF5_FORTRAN_INCLUDE_DIR - The include dir for fortran modules and headers +# HDF5_VERSION_STRING - full version (e.g. 1.8.5) +# HDF5_VERSION_MAJOR - major part of version (e.g. 1.8) +# HDF5_VERSION_MINOR - minor part (e.g. 5) +# +# The following boolean vars will be defined +# HDF5_ENABLE_PARALLEL - 1 if HDF5 parallel supported +# HDF5_BUILD_FORTRAN - 1 if HDF5 was compiled with fortran on +# HDF5_BUILD_CPP_LIB - 1 if HDF5 was compiled with cpp on +# HDF5_BUILD_TOOLS - 1 if HDF5 was compiled with tools on +# HDF5_BUILD_HL_LIB - 1 if HDF5 was compiled with high level on +# HDF5_BUILD_HL_CPP_LIB - 1 if HDF5 was compiled with high level and cpp on +# +# Target names that are valid (depending on enabled options) +# will be the following +# +# hdf5 : HDF5 C library +# hdf5_tools : the tools library +# hdf5_f90cstub : used by Fortran to C interface +# hdf5_fortran : Fortran HDF5 library +# hdf5_cpp : HDF5 cpp interface library +# hdf5_hl : High Level library +# hdf5_hl_f90cstub : used by Fortran to C interface to High Level library +# hdf5_hl_fortran : Fortran High Level library +# hdf5_hl_cpp : High Level cpp interface library +# +# To aid in finding HDF5 as part of a subproject set +# HDF5_ROOT_DIR_HINT to the location where hdf5-config.cmake lies + +INCLUDE (SelectLibraryConfigurations) +INCLUDE (FindPackageHandleStandardArgs) + +# The HINTS option should only be used for values computed from the system. +SET (_HDF5_HINTS + $ENV{HOME}/.local + $ENV{HDF5_ROOT} + $ENV{HDF5_ROOT_DIR_HINT} +) +# Hard-coded guesses should still go in PATHS. This ensures that the user +# environment can always override hard guesses. +SET (_HDF5_PATHS + $ENV{HOME}/.local + $ENV{HDF5_ROOT} + $ENV{HDF5_ROOT_DIR_HINT} + /usr/lib/@HDF5_PACKAGE@ + /usr/share/@HDF5_PACKAGE@ + /usr/local/@HDF5_PACKAGE@ + /usr/local/@HDF5_PACKAGE@/share +) + +FIND_PATH (HDF5_ROOT_DIR "@HDF5_PACKAGE@@HDF5_PACKAGE_EXT@-config.cmake" + HINTS ${_HDF5_HINTS} + PATHS ${_HDF5_PATHS} + PATH_SUFFIXES + lib/cmake/@HDF5_PACKAGE@ + share/cmake/@HDF5_PACKAGE@ +) + +FIND_PATH (HDF5_INCLUDE_DIRS "H5public.h" + HINTS ${_HDF5_HINTS} + PATHS ${_HDF5_PATHS} + PATH_SUFFIXES + include + Include +) + +# For backwards compatibility we set HDF5_INCLUDE_DIR to the value of +# HDF5_INCLUDE_DIRS +SET ( HDF5_INCLUDE_DIR "${HDF5_INCLUDE_DIRS}" ) + +IF (HDF5_INCLUDE_DIR) + SET (HDF5_FOUND "YES") + INCLUDE (${HDF5_ROOT_DIR}/@HDF5_PACKAGE@@HDF5_PACKAGE_EXT@-config.cmake) +ENDIF (HDF5_INCLUDE_DIR) diff --git a/config/cmake/runTest.cmake b/config/cmake/runTest.cmake index 139819f..4738523 100644 --- a/config/cmake/runTest.cmake +++ b/config/cmake/runTest.cmake @@ -24,7 +24,9 @@ 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) +IF (NOT TEST_ERRREF) + SET (ERROR_APPEND 1) +ENDIF (NOT TEST_ERRREF) MESSAGE (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}") @@ -74,7 +76,11 @@ IF (TEST_MASK_MOD) ENDIF (TEST_MASK_MOD) IF (TEST_MASK_ERROR) - FILE (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM) + 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}") @@ -82,7 +88,11 @@ IF (TEST_MASK_ERROR) 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}") + 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) @@ -109,6 +119,26 @@ IF (NOT TEST_SKIP_COMPARE) IF (NOT ${TEST_RESULT} STREQUAL 0) MESSAGE (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} 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 + ) + + 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_PROGRAM} did not match ${TEST_ERRREF}") + ENDIF (NOT ${TEST_RESULT} STREQUAL 0) + ENDIF (TEST_ERRREF) ENDIF (NOT TEST_SKIP_COMPARE) # everything went fine... diff --git a/config/examples.am b/config/examples.am index 244e695..9acd719 100644 --- a/config/examples.am +++ b/config/examples.am @@ -32,6 +32,7 @@ ## The source files that the examples use which should be installed. ## INSTALL_SCRIPT_FILES ## INSTALL_TOP_SCRIPT_FILES +## INSTALL_TOP_FILES ## ## EXAMPLEDIR ## The directory into which examples should be installed. @@ -64,7 +65,7 @@ install-data-local: uninstall-local: @$(MAKE) $(AM_MAKEFLAGS) uninstall-examples -install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) +install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) @for f in X $(INSTALL_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \ @@ -76,6 +77,12 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) (set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\ fi; \ done + @for f in X $(INSTALL_TOP_FILES); do \ + if test $$f != X; then \ + (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ + chmod a-x $(EXAMPLETOPDIR)/$$f;\ + fi; \ + done @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ @@ -89,6 +96,9 @@ uninstall-examples: @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \ fi + @if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \ + set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \ + fi @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \ set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \ fi diff --git a/config/lt_vers.am b/config/lt_vers.am index c492a0c..4ad3051 100644 --- a/config/lt_vers.am +++ b/config/lt_vers.am @@ -17,7 +17,7 @@ # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 103 +LT_VERS_REVISION = 114 LT_VERS_AGE = 0 ## If the API changes *at all*, increment LT_VERS_INTERFACE and diff --git a/configure b/configure index f66bf21..73d7478 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.in Id: configure.in 22254 2012-04-06 02:57:06Z koziol . +# From configure.in Id: configure.in 22487 2012-06-24 14:29:36Z hdftest . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for HDF5 1.9.113-FA_a5. +# Generated by GNU Autoconf 2.68 for HDF5 1.9.124-FA_a5. # # Report bugs to . # @@ -571,8 +571,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='HDF5' PACKAGE_TARNAME='hdf5' -PACKAGE_VERSION='1.9.113-FA_a5' -PACKAGE_STRING='HDF5 1.9.113-FA_a5' +PACKAGE_VERSION='1.9.124-FA_a5' +PACKAGE_STRING='HDF5 1.9.124-FA_a5' PACKAGE_BUGREPORT='help@hdfgroup.org' PACKAGE_URL='' @@ -1463,7 +1463,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.113-FA_a5 to adapt to many kinds of systems. +\`configure' configures HDF5 1.9.124-FA_a5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1533,7 +1533,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.9.113-FA_a5:";; + short | recursive ) echo "Configuration of HDF5 1.9.124-FA_a5:";; esac cat <<\_ACEOF @@ -1726,7 +1726,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.9.113-FA_a5 +HDF5 configure 1.9.124-FA_a5 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2815,7 +2815,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.113-FA_a5, which was +It was created by HDF5 $as_me 1.9.124-FA_a5, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3636,7 +3636,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.9.113-FA_a5' + VERSION='1.9.124-FA_a5' cat >>confdefs.h <<_ACEOF @@ -30668,7 +30668,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.113-FA_a5, which was +This file was extended by HDF5 $as_me 1.9.124-FA_a5, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -30734,7 +30734,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.113-FA_a5 +HDF5 config.status 1.9.124-FA_a5 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" @@ -33533,7 +33533,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -HDF5 config.lt 1.9.113-FA_a5 +HDF5 config.lt 1.9.124-FA_a5 configured by $0, generated by GNU Autoconf 2.68. Copyright (C) 2010 Free Software Foundation, Inc. diff --git a/configure.in b/configure.in index 03ac547..8737e64 100644 --- a/configure.in +++ b/configure.in @@ -26,7 +26,7 @@ dnl dnl NOTE: Don't forget to change the version number here when we do a dnl release!!! dnl -AC_INIT([HDF5], [1.9.113-FA_a5], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.9.124-FA_a5], [help@hdfgroup.org]) AC_CONFIG_SRCDIR([src/H5.c]) AM_CONFIG_HEADER([src/H5config.h]) @@ -251,6 +251,7 @@ dnl CPU dnl dnl If the `OS' ends with a version number then remove it. For instance, dnl `freebsd3.1' would become `freebsd' + case $host_os in aix*) host_os_novers=aix diff --git a/examples/Makefile.am b/examples/Makefile.am index 9ec6a85..a35d8ca 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -44,6 +44,7 @@ INSTALL_FILES = h5_write.c h5_read.c h5_extend_write.c h5_chunk_read.c \ INSTALL_SCRIPT_FILES = run-c-ex.sh INSTALL_TOP_SCRIPT_FILES = run-all-ex.sh +INSTALL_TOP_FILES = README # How to build examples, using installed version of h5cc if BUILD_PARALLEL_CONDITIONAL diff --git a/examples/Makefile.in b/examples/Makefile.in index c93ad12..c01afcc 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -54,7 +54,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/run-c-ex.sh.in $(srcdir)/testh5cc.sh.in \ $(top_srcdir)/config/commence.am \ $(top_srcdir)/config/conclude.am \ @@ -382,6 +382,7 @@ INSTALL_FILES = h5_write.c h5_read.c h5_extend_write.c h5_chunk_read.c \ INSTALL_SCRIPT_FILES = run-c-ex.sh INSTALL_TOP_SCRIPT_FILES = run-all-ex.sh +INSTALL_TOP_FILES = README # The external link examples demonstrate how to use paths; they need # directories to be created to do this. @@ -674,7 +675,7 @@ install-data-local: uninstall-local: @$(MAKE) $(AM_MAKEFLAGS) uninstall-examples -install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) +install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) @for f in X $(INSTALL_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \ @@ -686,6 +687,12 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) (set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\ fi; \ done + @for f in X $(INSTALL_TOP_FILES); do \ + if test $$f != X; then \ + (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ + chmod a-x $(EXAMPLETOPDIR)/$$f;\ + fi; \ + done @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ @@ -699,6 +706,9 @@ uninstall-examples: @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \ fi + @if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \ + set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \ + fi @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \ set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \ fi diff --git a/examples/README b/examples/README new file mode 100644 index 0000000..0550b15 --- /dev/null +++ b/examples/README @@ -0,0 +1,17 @@ + HDF5 Examples + +This directory contains example programs for the installed APIs and scripts to +compile and run them. Examples in the c and hl/c subdirectories are always +installed, and those in fortan, hl/fortran, c++ and hl/c++ will be installed +when fortran or c++ are enabled. + +Running the run-all-ex.sh script in this directory will run the scripts and in +turn the examples in all the subdirectories where examples are installed. The +scripts can also be run individually. The appropriate compile scripts in the +bin directory for this install will be used by default to compile and link the +example programs. Note that h5redeploy must be run if these binaries are +copied or extracted in a directory other than the one where they were initially +installed. Compile scripts from other locations can be used by setting an +environment variable prefix to the path of the directory containing the bin +directory with the compile scripts h5cc, h5fc, etc. For example, export +prefix=/usr/local/hdf5 to use h5cc, h5fc, etc. in /usr/local/hdf5/bin. diff --git a/examples/h5_attribute.c b/examples/h5_attribute.c index 646b395..0ea0153 100644 --- a/examples/h5_attribute.c +++ b/examples/h5_attribute.c @@ -66,7 +66,6 @@ main (void) unsigned i, j; /* Counters */ char string_out[80]; /* Buffer to read string attribute back */ int point_out; /* Buffer to read scalar attribute back */ - int num_attr; /* Number of attributes */ /* * Data initialization. diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in index 12460f3..410f1e9 100644 --- a/fortran/examples/Makefile.in +++ b/fortran/examples/Makefile.in @@ -683,7 +683,7 @@ install-data-local: uninstall-local: @$(MAKE) $(AM_MAKEFLAGS) uninstall-examples -install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) +install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) @for f in X $(INSTALL_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \ @@ -695,6 +695,12 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) (set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\ fi; \ done + @for f in X $(INSTALL_TOP_FILES); do \ + if test $$f != X; then \ + (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ + chmod a-x $(EXAMPLETOPDIR)/$$f;\ + fi; \ + done @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ @@ -708,6 +714,9 @@ uninstall-examples: @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \ fi + @if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \ + set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \ + fi @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \ set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \ fi diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c index e1aa98e..ab7adf7 100644 --- a/fortran/src/H5Df.c +++ b/fortran/src/H5Df.c @@ -2401,16 +2401,6 @@ nh5dread_f_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t c_xfer_prp; herr_t status; -/* int i, j; */ -/* typedef struct { */ -/* int x; */ -/* float y; */ -/* } r_dual_c; */ - -/* r_dual_c *name=buf; */ - -/* r_dual_c access[4][4]; */ - 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; @@ -2419,22 +2409,10 @@ nh5dread_f_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, /* * Call H5Dread function. */ - -/* printf("%i %i %i %i %i \n",c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp); */ - status = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf); if ( status < 0 ) return ret_value; -/* for ( i=0; i<4; ++i) */ -/* for (j = 0; j<4; ++j) { */ -/* access[i][j] = name[i*4+j]; */ -/* /\* access[i].x = access[i].x + 1; *\/ */ -/* printf("x = %i \n", access[i][j].x); */ -/* printf("y = %f \n", access[i][j].y); */ -/* } */ - - - ret_value = 1; + ret_value = 0; return ret_value; } /****if* H5Df/nh5dget_access_plist_c diff --git a/fortran/src/H5Tff.f90 b/fortran/src/H5Tff.f90 index f5369d0..fd857a8 100644 --- a/fortran/src/H5Tff.f90 +++ b/fortran/src/H5Tff.f90 @@ -2050,17 +2050,19 @@ CONTAINS ! h5tcreate_f ! ! PURPOSE -! Creates a new dataype +! Creates a new datatype. ! ! INPUTS -! class - datatype class, possible values are: -! H5T_COMPOUND_F -! H5T_ENUM_F -! H5T_OPAQUE_F -! size - datattype size +! 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 +! type_id - Datatype identifier. +! hdferr - Returns 0 if successful and -1 if fails ! ! AUTHOR ! Elena Pourmal @@ -2072,29 +2074,26 @@ CONTAINS ! port). March 7, 2001 ! SOURCE SUBROUTINE h5tcreate_f(class, size, type_id, hdferr) - IMPLICIT NONE - INTEGER, INTENT(IN) :: class ! Datatype class can be one of - ! H5T_COMPOUND_F - ! H5T_ENUM_F - ! H5T_OPAQUE_F - INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the datatype - INTEGER(HID_T), INTENT(OUT) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code + 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 + 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 + hdferr = h5tcreate_c(class, size, type_id) + END SUBROUTINE h5tcreate_f ! !****s* H5T/h5tinsert_f diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index c963c83..e0fd502 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -478,7 +478,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 103 +LT_VERS_REVISION = 114 LT_VERS_AGE = 0 # Include src directory in both Fortran and C flags (C compiler is used diff --git a/fortran/test/tH5T.f90 b/fortran/test/tH5T.f90 index 6af1ba6..9605c45 100644 --- a/fortran/test/tH5T.f90 +++ b/fortran/test/tH5T.f90 @@ -108,6 +108,51 @@ INTEGER(HID_T) :: decoded_sid1 INTEGER(HID_T) :: decoded_tid1 + INTEGER(HID_T) :: fixed_str1, fixed_str2 + LOGICAL :: are_equal + INTEGER(SIZE_T), PARAMETER :: str_size = 10 + INTEGER(SIZE_T) :: query_size + + ! Test h5tcreate_f with H5T_STRING_F option: + ! Create fixed-length string in two ways and make sure they are the same + + CALL h5tcopy_f(H5T_FORTRAN_S1, fixed_str1, error) + CALL check("h5tcopy_f", error, total_error) + CALL h5tset_size_f(fixed_str1, str_size, error) + CALL check("h5tset_size_f", error, total_error) + CALL h5tset_strpad_f(fixed_str1, H5T_STR_NULLTERM_F, error) + CALL check("h5tset_strpad_f", error, total_error) + + CALL h5tcreate_f(H5T_STRING_F, str_size, fixed_str2, error) + CALL check("h5tcreate_f", error, total_error) + CALL h5tset_strpad_f(fixed_str2, H5T_STR_NULLTERM_F, error) + CALL check("h5tset_strpad_f", error, total_error) + + CALL h5tequal_f(fixed_str1, fixed_str2, are_equal, error) + IF(.NOT.are_equal)THEN + CALL check("h5tcreate_f", -1, total_error) + ENDIF + + CALL h5tget_size_f(fixed_str1, query_size, error) + CALL check("h5tget_size_f", error, total_error) + + IF(query_size.NE.str_size)THEN + CALL check("h5tget_size_f", -1, total_error) + ENDIF + + CALL h5tget_size_f(fixed_str2, query_size, error) + CALL check("h5tget_size_f", error, total_error) + + IF(query_size.NE.str_size)THEN + CALL check("h5tget_size_f", -1, total_error) + ENDIF + + CALL h5tclose_f(fixed_str1,error) + CALL check("h5tclose_f", error, total_error) + + CALL h5tclose_f(fixed_str2,error) + CALL check("h5tclose_f", error, total_error) + data_dims(1) = dimsize ! ! Initialize data buffer. diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in index acb7c11..dd07bfd 100644 --- a/hl/c++/examples/Makefile.in +++ b/hl/c++/examples/Makefile.in @@ -628,7 +628,7 @@ install-data-local: uninstall-local: @$(MAKE) $(AM_MAKEFLAGS) uninstall-examples -install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) +install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) @for f in X $(INSTALL_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \ @@ -640,6 +640,12 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) (set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\ fi; \ done + @for f in X $(INSTALL_TOP_FILES); do \ + if test $$f != X; then \ + (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ + chmod a-x $(EXAMPLETOPDIR)/$$f;\ + fi; \ + done @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ @@ -653,6 +659,9 @@ uninstall-examples: @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \ fi + @if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \ + set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \ + fi @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \ set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \ fi diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index af3203d..f22d1c8 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -421,7 +421,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 103 +LT_VERS_REVISION = 114 LT_VERS_AGE = 0 # Include src directory diff --git a/hl/examples/Makefile.in b/hl/examples/Makefile.in index e79583d..f8b3dd2 100644 --- a/hl/examples/Makefile.in +++ b/hl/examples/Makefile.in @@ -668,7 +668,7 @@ install-data-local: uninstall-local: @$(MAKE) $(AM_MAKEFLAGS) uninstall-examples -install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) +install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) @for f in X $(INSTALL_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \ @@ -680,6 +680,12 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) (set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\ fi; \ done + @for f in X $(INSTALL_TOP_FILES); do \ + if test $$f != X; then \ + (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ + chmod a-x $(EXAMPLETOPDIR)/$$f;\ + fi; \ + done @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ @@ -693,6 +699,9 @@ uninstall-examples: @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \ fi + @if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \ + set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \ + fi @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \ set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \ fi diff --git a/hl/fortran/examples/Makefile.in b/hl/fortran/examples/Makefile.in index 22744ae..e8028aa 100644 --- a/hl/fortran/examples/Makefile.in +++ b/hl/fortran/examples/Makefile.in @@ -631,7 +631,7 @@ install-data-local: uninstall-local: @$(MAKE) $(AM_MAKEFLAGS) uninstall-examples -install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) +install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) @for f in X $(INSTALL_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \ @@ -643,6 +643,12 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) (set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\ fi; \ done + @for f in X $(INSTALL_TOP_FILES); do \ + if test $$f != X; then \ + (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ + chmod a-x $(EXAMPLETOPDIR)/$$f;\ + fi; \ + done @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \ if test $$f != X; then \ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \ @@ -656,6 +662,9 @@ uninstall-examples: @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \ fi + @if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \ + set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \ + fi @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \ set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \ fi diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index e9ec78f..aeea150 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -436,7 +436,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 103 +LT_VERS_REVISION = 114 LT_VERS_AGE = 0 INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/hl/src -I$(top_builddir)/hl/src \ -I$(top_srcdir)/fortran/src -I$(top_builddir)/fortran/src diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index 4dc491e..9b2bbdb 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -420,7 +420,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 103 +LT_VERS_REVISION = 114 LT_VERS_AGE = 0 # This library is our main target. diff --git a/hl/test/Makefile.am b/hl/test/Makefile.am index 0e7b018..c546513 100644 --- a/hl/test/Makefile.am +++ b/hl/test/Makefile.am @@ -49,9 +49,9 @@ if BUILD_ALL_CONDITIONAL endif # Temporary files. These files are the ones created by running `make test'. -CHECK_CLEANFILES+=combine_tables[1-2].h5 test_ds[1-9].h5 test_image[1-3].h5 \ - file_img[1-2].h5 test_lite[1-2].h5 test_table.h5 test_packet_table.h5 \ - test_packet_compress.h5 test_detach.h5 +CHECK_CLEANFILES+=combine_tables[1-2].h5 test_ds[1-9].h5 test_ds10.h5 \ + test_image[1-3].h5 file_img[1-2].h5 test_lite[1-4].h5 test_table.h5 \ + test_packet_table.h5 test_packet_compress.h5 test_detach.h5 DISTCLEANFILES=test_ld.sh include $(top_srcdir)/config/conclude.am diff --git a/hl/test/Makefile.in b/hl/test/Makefile.in index c7c9a55..428e9ad 100644 --- a/hl/test/Makefile.in +++ b/hl/test/Makefile.in @@ -446,9 +446,9 @@ TRACE = perl $(top_srcdir)/bin/trace # Temporary files. These files are the ones created by running `make test'. CHECK_CLEANFILES = *.chkexe *.chklog *.clog combine_tables[1-2].h5 \ - test_ds[1-9].h5 test_image[1-3].h5 file_img[1-2].h5 \ - test_lite[1-2].h5 test_table.h5 test_packet_table.h5 \ - test_packet_compress.h5 test_detach.h5 + test_ds[1-9].h5 test_ds10.h5 test_image[1-3].h5 \ + file_img[1-2].h5 test_lite[1-4].h5 test_table.h5 \ + test_packet_table.h5 test_packet_compress.h5 test_detach.h5 # Test script TEST_SCRIPT = test_ld.sh diff --git a/hl/test/test_lite.c b/hl/test/test_lite.c index eb00cd7..3fface8 100644 --- a/hl/test/test_lite.c +++ b/hl/test/test_lite.c @@ -1816,7 +1816,6 @@ static int test_valid_path(void) herr_t status; FILE *fp = NULL; htri_t path_valid; - char path[10]; const char *data_string_in = "test"; TESTING("H5LTpath_valid"); diff --git a/release_docs/CMake.txt b/release_docs/CMake.txt index 2d15741..1d36e21 100644 --- a/release_docs/CMake.txt +++ b/release_docs/CMake.txt @@ -248,51 +248,69 @@ Notes: This short instruction is written for users who want to quickly build ======================================================================== All options for HDF5 C/C++ Libraries with CMake + Option Name --- Option Description --- Option Default ======================================================================== -OPTION (HDF5_Enable_Clear_File_Buffers "Securely clear file buffers before writing to file" ON) -OPTION (HDF5_Enable_Instrument "Instrument The library" HDF5_Enable_Instrument) -OPTION (HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks" OFF) -OPTION (HDF5_METADATA_TRACE_FILE "Enable metadata trace file collection" OFF) -OPTION (HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON) -OPTION (HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON) -OPTION (HDF5_ENABLE_CODESTACK "Enable the function stack tracing (for developer debugging)." OFF) -OPTION (HDF5_ENABLE_HSIZET "Enable datasets larger than memory" ON) -OPTION (HDF5_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON) -OPTION (HDF5_ENABLE_GPFS "Enable GPFS hints for the MPI/POSIX file driver" OFF) -IF (APPLE) OPTION (HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF) -OPTION (BUILD_SHARED_LIBS "Build Shared Libraries" OFF) -OPTION (BUILD_STATIC_EXECS "Build Static Executabless" OFF) -OPTION (BUILD_STATIC_PIC "Build Static PIC" OFF) -OPTION (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF) -OPTION (HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF) -OPTION (HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON) -OPTION (HDF5_ENABLE_TRACE "Enable API tracing capability" ON) -OPTION (HDF5_ENABLE_TRACE "Enable API tracing capability" OFF) -OPTION (HDF5_ENABLE_EMBEDDED_LIBINFO "embed library info into executables" ON) -OPTION (HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF) -OPTION (HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF) -OPTION (HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF) -OPTION (HDF5_USE_18_API_DEFAULT "Use the HDF5 1.8.x API by default" OFF) -OPTION (HDF5_USE_FILTER_${FILTER} "Use the ${FILTER} Filter" ON) -OPTION (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building" "NO") -OPTION (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0) -OPTION (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0) -OPTION (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF) -OPTION (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF) -IF (HDF5_ENABLE_SZIP_SUPPORT) OPTION (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF) -OPTION (HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF) -IF (WIN32 AND NOT CYGWIN) OPTION (HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF) -OPTION (BUILD_TESTING "Build HDF5 Unit Testing" OFF) -OPTION (HDF5_TEST_VFD "Execute tests with different VFDs" OFF) -IF (HDF5_TEST_VFD) OPTION (HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON) -OPTION (HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF) -IF (HDF5_BUILD_FORTRAN) OPTION (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF) -OPTION (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF) -OPTION (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF) -OPTION (HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF) -OPTION (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF) -OPTION (HDF5_NO_PACKAGES "Do not include CPack Packaging" OFF) -OPTION (HDF5_USE_FOLDERS "Do not include CPack Packaging" OFF) +---------------- General Build Options --------------------- +BUILD_SHARED_LIBS "Build Shared Libraries" OFF +BUILD_STATIC_EXECS "Build Static Executabless" OFF +BUILD_STATIC_PIC "Build Static PIC" OFF +BUILD_TESTING "Build HDF5 Unit Testing" OFF + +---------------- HDF5 Build Options --------------------- +HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF +HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF +HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF +HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF +HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF +IF (HDF5_BUILD_FORTRAN) + HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF + +---------------- HDF5 Advanced Options --------------------- +HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF +HDF5_Enable_Clear_File_Buffers "Securely clear file buffers before writing to file" ON +HDF5_Enable_Instrument "Instrument The library" HDF5_Enable_Instrument +HDF5_ENABLE_CODESTACK "Enable the function stack tracing (for developer debugging)." OFF +HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF +HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON +HDF5_ENABLE_EMBEDDED_LIBINFO "embed library info into executables" ON +HDF5_ENABLE_GPFS "Enable GPFS hints for the MPI/POSIX file driver" OFF +HDF5_ENABLE_HSIZET "Enable datasets larger than memory" ON +HDF5_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON +HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF +HDF5_ENABLE_TRACE "Enable API tracing capability" OFF +HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF +HDF5_METADATA_TRACE_FILE "Enable metadata trace file collection" OFF +HDF5_NO_PACKAGES "Do not include CPack Packaging" OFF +HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF +HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks" OFF +HDF5_TEST_VFD "Execute tests with different VFDs" OFF +HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF +HDF5_USE_18_API_DEFAULT "Use the HDF5 1.8.x API by default" OFF +HDF5_USE_FOLDERS "Do not include CPack Packaging" OFF +HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON +HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON +IF (APPLE) + HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF +IF (CMAKE_BUILD_TYPE MATCHES Debug) + HDF5_ENABLE_TRACE "Enable API tracing capability" ON +IF (HDF5_TEST_VFD) + HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON +IF (WIN32 AND NOT CYGWIN) + HDF_LEGACY_NAMING "Use Legacy Names for Libraries and Programs" OFF +HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF + +---------------- External Library Options --------------------- +HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building" "NO" +HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF +HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF +ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0 +SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0 +HDF5_USE_FILTER_FLETCHER32 "Use the FLETCHER32 Filter" ON +HDF5_USE_FILTER_NBIT "Use the NBIT Filter" ON +HDF5_USE_FILTER_SCALEOFFSET "Use the SCALEOFFSET Filter" ON +HDF5_USE_FILTER_SHUFFLE "Use the SHUFFLE Filter" ON +IF (HDF5_ENABLE_SZIP_SUPPORT) + HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF ************************************************************************ diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 91b4694..cdda305 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.113-FA_a5 currently under development +HDF5 version 1.9.124-FA_a5 currently under development ================================================================================ @@ -693,9 +693,26 @@ Bug Fixes since HDF5-1.8.0 release (ADB - 2011/08/15) - perf_serial test added to Windows projects and check batch file. (ADB - 2009/06/11) + Fortran + -------- + - Fixed a typo in return value of the nh5dread_f_c function ( was 1 + instead of 0 on success); fixed the return value to make it consistent + with other Fortran functions; cleaned the code from debug statements. + (EIP - 2012/06/23) Tools ----- + - h5diff: Fixed the Function COPY_TESTFILES_TO_TESTDIR() of + testh5diff.sh to better report when there is an error in the file + copying. HDFFV-8105 (AKC -2012/07/22) + - h5diff: Fixed not to check and display dangling link status without + --follow-symlinks option. This also improved performance when + comparing lots of external links without the --follow-symlinks + option. HDFFV-7998 (JKM 2012/04/26) + - h5unjam: Fixed sefgault when used -V (show version) option. + HDFFV-8001 (JKM 2012/04/19) + - h5repack: Fixed a failure when change the chunk size of a specified + chunked dataset with unlimited max dims. HDFFV-7993 (JKM 2012/04/11) - h5diff: Fixed failure for comparing same named object with different object types in comparing groups. Prior to the fix, h5diff resulted in error. After the fix, h5diff detects such case as non-comparable @@ -1121,6 +1138,13 @@ SuSe Linux 2.6.5 Known Problems ============== +* The data conversion test dt_arith.c has failures (segmentation fault) from + "long double" to other datatypes during hard conversion when the library + is built with the default GCC 4.2.1 on Mac Lion system. It only happens + with optimization (-O3, -O2, and -O1). Some newer versions of GCC do not + have this problem. Users should disable optimization or try newer version + of GCC. (Issue 8017. SLU - 2012/6/12) + * The data conversion test dt_arith.c fails in "long double" to integer conversion on Ubuntu 11.10 (3.0.0.13 kernal) with GCC 4.6.1 if the library is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal diff --git a/release_docs/Using_CMake.txt b/release_docs/Using_CMake.txt index 4819815..71f2fcf 100644 --- a/release_docs/Using_CMake.txt +++ b/release_docs/Using_CMake.txt @@ -1,15 +1,17 @@ ************************************************************************ -* Build and Install HDF5 Examples with CMake * +* Build and Install HDF5 Applications with CMake * ************************************************************************ Notes: This short instruction is written for users who want to quickly build - HDF5 Examples from the HDF5 source code package using the CMake tools. + HDF5 Applications from the HDF5 Examples package using the CMake tools. + Users can adapt these instructions for their own applicaltions, see the + "Minimum Project Files" section. More information about using CMake can be found at the KitWare site, www.cmake.org. CMake uses the command line, however the visual CMake tool is - recommended for the configuration step. The steps are similiar for + available for the configuration step. The steps are similiar for all the operating systems supported by CMake. NOTES: @@ -24,7 +26,7 @@ Notes: This short instruction is written for users who want to quickly build Please send us any comments on how CMake support can be improved on any system. Visit the KitWare site for more information about CMake. - 3. Build and test results can be submitted to our CDash server at: + 3. HDF5 library build and test results can be submitted to our CDash server at: cdash.hdfgroup.uiuc.edu. Please read the HDF and CDash document at: www.hdfgroup.org/CDash/HowToSubmit. @@ -35,21 +37,23 @@ Notes: This short instruction is written for users who want to quickly build ======================================================================== 1. We suggest you obtain the latest CMake for windows from the Kitware - web site. The HDF5 1.8.x product requires CMake version 2.8.6. + web site. The HDF5 1.8.x product requires CMake version 2.8.6 (minimum). - 2. You have installed the HDF5 library built with CMake. If you are - using a Windows platform, you can obtain a pre-built Windows binary - from The HDF Group's website at www.hdfgroup.org. + 2. You have installed the HDF5 library built with CMake, by executing the + HDF Install Utility (The *.exe file in the binary package for Windows). + If you are using a Windows platform, you can obtain a pre-built Windows + binary from The HDF Group's website at www.hdfgroup.org. 3. On Windows with Visual Studio, if you have installed the static HDF5 library, you will need to add the HDF5\lib folder to the library search list. See the "Using Static Libraries with Visual Studio" section. 4. Set the environment variable HDF5_ROOT to the installed location of HDF5. - On Windows HDF5_ROOT=C:\Program Files\HDF Group\HDF5\hdf5-1.8.7 + On Windows HDF5_ROOT=C:\Program Files\HDF Group\HDF5\hdf5-1.8.x + (Note there are no quote characters used on windows) ======================================================================== - Building HDF5 Examples with CMake + Building HDF5 Applications with CMake ======================================================================== 1. Run CMake @@ -113,10 +117,10 @@ Notes: This short instruction is written for users who want to quickly build cmake -G "Visual Studio 9 2008" -DBUILD_TESTING:BOOL=ON -DUSE_SHARED_LIBS:BOOL=ON .. - 3. Build HDF5 examples + 3. Build HDF5 Applications - On Windows, you can build HDF5 using either the Visual Studio Environment - or the command line. The command line is used on linux, Unix, and Mac. + On Windows, you can build HDF5 applications using either the Visual Studio Environment + or the command line. The command line is normally used on linux, Unix, and Mac. To build from the command line, navigate to your build directory and execute the following; @@ -131,7 +135,7 @@ Notes: This short instruction is written for users who want to quickly build file in your build directory. Be sure to select either Debug or Release and build the solution. - 4. Test HDF5 Examples. + 4. Test HDF5 Applications. To test the build, navigate to your build directory and execute; @@ -174,6 +178,23 @@ Notes: This short instruction is written for users who want to quickly build 8.4 If using Fortran libraries, you will also need to setup the path for the Intel Fortran compiler. + +======================================================================== + Minimum C Project Files for CMake +======================================================================== + + 9. Create a CMakeLists.txt file at the source root. +.......................................................................... +cmake_minimum_required (VERSION 2.8.6) +PROJECT (HDF5MyApp C CXX) + +FIND_PACKAGE (HDF5 REQURIED) +INCLUDE_DIRECTORIES (${HDF5_INCLUDE_DIRS}) +SET (LINK_LIBS ${LINK_LIBS} ${HDF5_LIBRARIES}) + +ADD_EXECUTABLE (hdf_example ${PROJECT_SOURCE_DIR}/hdf_example.c) +TARGET_LINK_LIBRARIES (hdf_example ${LINK_LIBS}) +.......................................................................... ************************************************************************ diff --git a/src/H5.c b/src/H5.c index 654c730..4176d96 100644 --- a/src/H5.c +++ b/src/H5.c @@ -307,7 +307,7 @@ H5_term_library(void) MPI_Initialized(&mpi_initialized); if(mpi_initialized) { - mpe_code = MPE_Finish_log("cpilog"); + mpe_code = MPE_Finish_log("h5log"); assert(mpe_code >=0); } /* end if */ H5_MPEinit_g = FALSE; /* turn it off no matter what */ diff --git a/src/H5A.c b/src/H5A.c index 63a908d..e1aeaac 100644 --- a/src/H5A.c +++ b/src/H5A.c @@ -41,9 +41,6 @@ /* Local Macros */ /****************/ -/* The number of reserved IDs in dataset ID group */ -#define H5A_RESERVED_ATOMS 0 - /******************/ /* Local Typedefs */ @@ -94,6 +91,16 @@ H5FL_DEFINE(H5A_shared_t); /* Declare a free list to manage blocks of type conversion data */ H5FL_BLK_DEFINE(attr_buf); +/* Attribute ID class */ +static const H5I_class_t H5I_ATTR_CLS[1] = {{ + H5I_ATTR, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5A_close /* Callback routine for closing objects of this class */ +}}; + + /*------------------------------------------------------------------------- * Function: H5A_init @@ -143,7 +150,7 @@ H5A_init_interface(void) /* * Create attribute ID type. */ - if(H5I_register_type(H5I_ATTR, (size_t)H5I_ATTRID_HASHSIZE, H5A_RESERVED_ATOMS, (H5I_free_t)H5A_close) < H5I_FILE) + if(H5I_register_type(H5I_ATTR_CLS) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTINIT, FAIL, "unable to initialize interface") done: @@ -172,7 +179,7 @@ H5A_term_interface(void) { int n = 0; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR if(H5_interface_initialize_g) { if((n = H5I_nmembers(H5I_ATTR))>0) { diff --git a/src/H5AC.c b/src/H5AC.c index 3f824a2..6063f9a 100644 --- a/src/H5AC.c +++ b/src/H5AC.c @@ -346,14 +346,14 @@ done: FUNC_LEAVE_NOAPI(ret_value) #else /* H5_HAVE_PARALLEL */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Sanity check */ - assert(H5P_LST_DATASET_XFER_g!=(-1)); + HDassert(H5P_LST_DATASET_XFER_g!=(-1)); - H5AC_dxpl_id=H5P_DATASET_XFER_DEFAULT; - H5AC_noblock_dxpl_id=H5P_DATASET_XFER_DEFAULT; - H5AC_ind_dxpl_id=H5P_DATASET_XFER_DEFAULT; + H5AC_dxpl_id = H5P_DATASET_XFER_DEFAULT; + H5AC_noblock_dxpl_id = H5P_DATASET_XFER_DEFAULT; + H5AC_ind_dxpl_id = H5P_DATASET_XFER_DEFAULT; FUNC_LEAVE_NOAPI(SUCCEED) #endif /* H5_HAVE_PARALLEL */ @@ -380,7 +380,7 @@ H5AC_term_interface(void) { int n = 0; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR if (H5_interface_initialize_g) { #ifdef H5_HAVE_PARALLEL diff --git a/src/H5Abtree2.c b/src/H5Abtree2.c index afaab84..6012a48 100644 --- a/src/H5Abtree2.c +++ b/src/H5Abtree2.c @@ -226,7 +226,7 @@ H5A_dense_btree2_name_store(void *_nrecord, const void *_udata) const H5A_bt2_ud_ins_t *udata = (const H5A_bt2_ud_ins_t *)_udata; H5A_dense_bt2_name_rec_t *nrecord = (H5A_dense_bt2_name_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Copy user information info native record */ nrecord->id = udata->id; @@ -259,7 +259,7 @@ H5A_dense_btree2_name_compare(const void *_bt2_udata, const void *_bt2_rec) const H5A_dense_bt2_name_rec_t *bt2_rec = (const H5A_dense_bt2_name_rec_t *)_bt2_rec; herr_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Sanity check */ HDassert(bt2_udata); @@ -327,7 +327,7 @@ H5A_dense_btree2_name_encode(uint8_t *raw, const void *_nrecord, void UNUSED *ct { const H5A_dense_bt2_name_rec_t *nrecord = (const H5A_dense_bt2_name_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Encode the record's fields */ HDmemcpy(raw, nrecord->id.id, (size_t)H5O_FHEAP_ID_LEN); @@ -358,7 +358,7 @@ H5A_dense_btree2_name_decode(const uint8_t *raw, void *_nrecord, void UNUSED *ct { H5A_dense_bt2_name_rec_t *nrecord = (H5A_dense_bt2_name_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Decode the record's fields */ HDmemcpy(nrecord->id.id, raw, (size_t)H5O_FHEAP_ID_LEN); @@ -390,7 +390,7 @@ H5A_dense_btree2_name_debug(FILE *stream, const H5F_t UNUSED *f, hid_t UNUSED dx { const H5A_dense_bt2_name_rec_t *nrecord = (const H5A_dense_bt2_name_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR HDfprintf(stream, "%*s%-*s {%016Hx, %02x, %u, %08lx}\n", indent, "", fwidth, "Record:", @@ -419,7 +419,7 @@ H5A_dense_btree2_corder_store(void *_nrecord, const void *_udata) const H5A_bt2_ud_ins_t *udata = (const H5A_bt2_ud_ins_t *)_udata; H5A_dense_bt2_corder_rec_t *nrecord = (H5A_dense_bt2_corder_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Copy user information info native record */ nrecord->id = udata->id; @@ -451,7 +451,7 @@ H5A_dense_btree2_corder_compare(const void *_bt2_udata, const void *_bt2_rec) const H5A_dense_bt2_corder_rec_t *bt2_rec = (const H5A_dense_bt2_corder_rec_t *)_bt2_rec; herr_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Sanity check */ HDassert(bt2_udata); @@ -487,7 +487,7 @@ H5A_dense_btree2_corder_encode(uint8_t *raw, const void *_nrecord, void UNUSED * { const H5A_dense_bt2_corder_rec_t *nrecord = (const H5A_dense_bt2_corder_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Encode the record's fields */ HDmemcpy(raw, nrecord->id.id, (size_t)H5O_FHEAP_ID_LEN); @@ -517,7 +517,7 @@ H5A_dense_btree2_corder_decode(const uint8_t *raw, void *_nrecord, void UNUSED * { H5A_dense_bt2_corder_rec_t *nrecord = (H5A_dense_bt2_corder_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Decode the record's fields */ HDmemcpy(nrecord->id.id, raw, (size_t)H5O_FHEAP_ID_LEN); @@ -548,7 +548,7 @@ H5A_dense_btree2_corder_debug(FILE *stream, const H5F_t UNUSED *f, hid_t UNUSED { const H5A_dense_bt2_corder_rec_t *nrecord = (const H5A_dense_bt2_corder_rec_t *)_nrecord; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR HDfprintf(stream, "%*s%-*s {%016Hx, %02x, %u}\n", indent, "", fwidth, "Record:", diff --git a/src/H5Adeprec.c b/src/H5Adeprec.c index 22faaa2..7202edf 100644 --- a/src/H5Adeprec.c +++ b/src/H5Adeprec.c @@ -35,7 +35,7 @@ #define H5O_PACKAGE /*suppress error about including H5Opkg */ /* Interface initialization */ -#define H5_INTERFACE_INIT_FUNC H5A_init_deprec_interface +#define H5_INTERFACE_INIT_FUNC H5A__init_deprec_interface /***********/ @@ -87,9 +87,9 @@ /*-------------------------------------------------------------------------- NAME - H5A_init_deprec_interface -- Initialize interface-specific information + H5A__init_deprec_interface -- Initialize interface-specific information USAGE - herr_t H5A_init_deprec_interface() + herr_t H5A__init_deprec_interface() RETURNS Non-negative on success/Negative on failure DESCRIPTION @@ -98,12 +98,12 @@ DESCRIPTION --------------------------------------------------------------------------*/ static herr_t -H5A_init_deprec_interface(void) +H5A__init_deprec_interface(void) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR FUNC_LEAVE_NOAPI(H5A_init()) -} /* H5A_init_deprec_interface() */ +} /* H5A__init_deprec_interface() */ #ifndef H5_NO_DEPRECATED_SYMBOLS diff --git a/src/H5Aint.c b/src/H5Aint.c index 14c2c65..acae3da 100644 --- a/src/H5Aint.c +++ b/src/H5Aint.c @@ -90,14 +90,14 @@ typedef struct { /* Local Prototypes */ /********************/ -static herr_t H5A_compact_build_table_cb(H5O_t *oh, H5O_mesg_t *mesg/*in,out*/, +static herr_t H5A__compact_build_table_cb(H5O_t *oh, H5O_mesg_t *mesg/*in,out*/, unsigned sequence, unsigned *oh_flags_ptr, void *_udata/*in,out*/); static herr_t H5A_dense_build_table_cb(const H5A_t *attr, void *_udata); -static int H5A_attr_cmp_name_inc(const void *attr1, const void *attr2); -static int H5A_attr_cmp_name_dec(const void *attr1, const void *attr2); -static int H5A_attr_cmp_corder_inc(const void *attr1, const void *attr2); -static int H5A_attr_cmp_corder_dec(const void *attr1, const void *attr2); -static herr_t H5A_attr_sort_table(H5A_attr_table_t *atable, H5_index_t idx_type, +static int H5A__attr_cmp_name_inc(const void *attr1, const void *attr2); +static int H5A__attr_cmp_name_dec(const void *attr1, const void *attr2); +static int H5A__attr_cmp_corder_inc(const void *attr1, const void *attr2); +static int H5A__attr_cmp_corder_dec(const void *attr1, const void *attr2); +static herr_t H5A__attr_sort_table(H5A_attr_table_t *atable, H5_index_t idx_type, H5_iter_order_t order); /*********************/ @@ -119,7 +119,7 @@ H5FL_SEQ_DEFINE(H5A_t_ptr); /*------------------------------------------------------------------------- - * Function: H5A_compact_build_table_cb + * Function: H5A__compact_build_table_cb * * Purpose: Object header iterator callback routine to copy attribute * into table. @@ -137,13 +137,13 @@ H5FL_SEQ_DEFINE(H5A_t_ptr); *------------------------------------------------------------------------- */ static herr_t -H5A_compact_build_table_cb(H5O_t UNUSED *oh, H5O_mesg_t *mesg/*in,out*/, +H5A__compact_build_table_cb(H5O_t UNUSED *oh, H5O_mesg_t *mesg/*in,out*/, unsigned sequence, unsigned UNUSED *oh_modified, void *_udata/*in,out*/) { H5A_compact_bt_ud_t *udata = (H5A_compact_bt_ud_t *)_udata; /* Operator user data */ herr_t ret_value = H5_ITER_CONT; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* check args */ HDassert(mesg); @@ -176,7 +176,7 @@ H5A_compact_build_table_cb(H5O_t UNUSED *oh, H5O_mesg_t *mesg/*in,out*/, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5A_compact_build_table_cb() */ +} /* end H5A__compact_build_table_cb() */ /*------------------------------------------------------------------------- @@ -225,7 +225,7 @@ H5A_compact_build_table(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_index_t idx_type, /* Iterate over existing attributes, checking for attribute with same name */ op.op_type = H5O_MESG_OP_LIB; - op.u.lib_op = H5A_compact_build_table_cb; + op.u.lib_op = H5A__compact_build_table_cb; if(H5O_msg_iterate_real(f, oh, H5O_MSG_ATTR, &op, &udata, dxpl_id) < 0) HGOTO_ERROR(H5E_ATTR, H5E_BADITER, FAIL, "error building attribute table") @@ -235,7 +235,7 @@ H5A_compact_build_table(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_index_t idx_type, /* Don't sort an empty table. */ if(atable->nattrs > 0) { /* Sort attribute table in correct iteration order */ - if(H5A_attr_sort_table(atable, idx_type, order) < 0) + if(H5A__attr_sort_table(atable, idx_type, order) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTSORT, FAIL, "error sorting attribute table") } /* end if */ @@ -360,7 +360,7 @@ H5A_dense_build_table(H5F_t *f, hid_t dxpl_id, const H5O_ainfo_t *ainfo, HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "error building attribute table") /* Sort attribute table in correct iteration order */ - if(H5A_attr_sort_table(atable, idx_type, order) < 0) + if(H5A__attr_sort_table(atable, idx_type, order) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTSORT, FAIL, "error sorting attribute table") } /* end if */ else @@ -376,7 +376,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5A_attr_cmp_name_inc + * Function: H5A__attr_cmp_name_inc * * Purpose: Callback routine for comparing two attribute names, in * increasing alphabetic order @@ -394,17 +394,17 @@ done: *------------------------------------------------------------------------- */ static int -H5A_attr_cmp_name_inc(const void *attr1, const void *attr2) +H5A__attr_cmp_name_inc(const void *attr1, const void *attr2) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR FUNC_LEAVE_NOAPI(HDstrcmp((*(const H5A_t * const *)attr1)->shared->name, (*(const H5A_t * const *)attr2)->shared->name)) -} /* end H5A_attr_cmp_name_inc() */ +} /* end H5A__attr_cmp_name_inc() */ /*------------------------------------------------------------------------- - * Function: H5A_attr_cmp_name_dec + * Function: H5A__attr_cmp_name_dec * * Purpose: Callback routine for comparing two attribute names, in * decreasing alphabetic order @@ -422,17 +422,17 @@ H5A_attr_cmp_name_inc(const void *attr1, const void *attr2) *------------------------------------------------------------------------- */ static int -H5A_attr_cmp_name_dec(const void *attr1, const void *attr2) +H5A__attr_cmp_name_dec(const void *attr1, const void *attr2) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR FUNC_LEAVE_NOAPI(HDstrcmp((*(const H5A_t * const *)attr2)->shared->name, (*(const H5A_t * const *)attr1)->shared->name)) -} /* end H5A_attr_cmp_name_dec() */ +} /* end H5A__attr_cmp_name_dec() */ /*------------------------------------------------------------------------- - * Function: H5A_attr_cmp_corder_inc + * Function: H5A__attr_cmp_corder_inc * * Purpose: Callback routine for comparing two attributes, in * increasing creation order @@ -449,11 +449,11 @@ H5A_attr_cmp_name_dec(const void *attr1, const void *attr2) *------------------------------------------------------------------------- */ static int -H5A_attr_cmp_corder_inc(const void *attr1, const void *attr2) +H5A__attr_cmp_corder_inc(const void *attr1, const void *attr2) { int ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR if((*(const H5A_t * const *)attr1)->shared->crt_idx < (*(const H5A_t * const *)attr2)->shared->crt_idx) ret_value = -1; @@ -463,11 +463,11 @@ H5A_attr_cmp_corder_inc(const void *attr1, const void *attr2) ret_value = 0; FUNC_LEAVE_NOAPI(ret_value) -} /* end H5A_attr_cmp_corder_inc() */ +} /* end H5A__attr_cmp_corder_inc() */ /*------------------------------------------------------------------------- - * Function: H5A_attr_cmp_corder_dec + * Function: H5A__attr_cmp_corder_dec * * Purpose: Callback routine for comparing two attributes, in * decreasing creation order @@ -484,11 +484,11 @@ H5A_attr_cmp_corder_inc(const void *attr1, const void *attr2) *------------------------------------------------------------------------- */ static int -H5A_attr_cmp_corder_dec(const void *attr1, const void *attr2) +H5A__attr_cmp_corder_dec(const void *attr1, const void *attr2) { int ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR if((*(const H5A_t * const *)attr1)->shared->crt_idx < (*(const H5A_t * const *)attr2)->shared->crt_idx) ret_value = 1; @@ -498,11 +498,11 @@ H5A_attr_cmp_corder_dec(const void *attr1, const void *attr2) ret_value = 0; FUNC_LEAVE_NOAPI(ret_value) -} /* end H5A_attr_cmp_corder_dec() */ +} /* end H5A__attr_cmp_corder_dec() */ /*------------------------------------------------------------------------- - * Function: H5A_attr_sort_table + * Function: H5A__attr_sort_table * * Purpose: Sort table containing a list of attributes for an object * @@ -515,10 +515,10 @@ H5A_attr_cmp_corder_dec(const void *attr1, const void *attr2) *------------------------------------------------------------------------- */ static herr_t -H5A_attr_sort_table(H5A_attr_table_t *atable, H5_index_t idx_type, +H5A__attr_sort_table(H5A_attr_table_t *atable, H5_index_t idx_type, H5_iter_order_t order) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR /* Sanity check */ HDassert(atable); @@ -526,24 +526,24 @@ H5A_attr_sort_table(H5A_attr_table_t *atable, H5_index_t idx_type, /* Pick appropriate comparison routine */ if(idx_type == H5_INDEX_NAME) { if(order == H5_ITER_INC) - HDqsort(atable->attrs, atable->nattrs, sizeof(H5A_t*), H5A_attr_cmp_name_inc); + HDqsort(atable->attrs, atable->nattrs, sizeof(H5A_t*), H5A__attr_cmp_name_inc); else if(order == H5_ITER_DEC) - HDqsort(atable->attrs, atable->nattrs, sizeof(H5A_t*), H5A_attr_cmp_name_dec); + HDqsort(atable->attrs, atable->nattrs, sizeof(H5A_t*), H5A__attr_cmp_name_dec); else HDassert(order == H5_ITER_NATIVE); } /* end if */ else { HDassert(idx_type == H5_INDEX_CRT_ORDER); if(order == H5_ITER_INC) - HDqsort(atable->attrs, atable->nattrs, sizeof(H5A_t*), H5A_attr_cmp_corder_inc); + HDqsort(atable->attrs, atable->nattrs, sizeof(H5A_t*), H5A__attr_cmp_corder_inc); else if(order == H5_ITER_DEC) - HDqsort(atable->attrs, atable->nattrs, sizeof(H5A_t*), H5A_attr_cmp_corder_dec); + HDqsort(atable->attrs, atable->nattrs, sizeof(H5A_t*), H5A__attr_cmp_corder_dec); else HDassert(order == H5_ITER_NATIVE); } /* end else */ FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5A_attr_sort_table() */ +} /* end H5A__attr_sort_table() */ /*------------------------------------------------------------------------- @@ -758,7 +758,7 @@ H5A_set_version(const H5F_t *f, H5A_t *attr) hbool_t type_shared, space_shared; /* Flags to indicate that shared messages are used for this attribute */ hbool_t use_latest_format; /* Flag indicating the newest file format should be used */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_NOAPI_NOERR /* check arguments */ HDassert(f); diff --git a/src/H5C.c b/src/H5C.c index 3c792ba..c46817d 100644 --- a/src/H5C.c +++ b/src/H5C.c @@ -5850,7 +5850,7 @@ static void H5C_adjust_flush_dependency_rc(H5C_cache_entry_t * cache_entry, unsigned old_child_height, unsigned new_child_height) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Sanity checks */ HDassert(cache_entry); @@ -9278,7 +9278,7 @@ H5C_mark_tagged_entries(H5C_t * cache_ptr, haddr_t tag, hbool_t mark_clean) int u; /* Iterator */ H5C_cache_entry_t *entry_ptr = NULL; /* entry pointer */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Assertions */ HDassert(cache_ptr != NULL); @@ -9481,7 +9481,7 @@ H5C_retag_entries(H5C_t * cache_ptr, haddr_t src_tag, haddr_t dest_tag) unsigned u; /* Local index variable */ H5C_cache_entry_t *entry_ptr = NULL; /* entry pointer */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR /* Iterate through entries, retagging those with the src_tag tag */ for(u = 0; u < H5C__HASH_TABLE_LEN; u++) { diff --git a/src/H5D.c b/src/H5D.c index d0b0be3..c3fb72a 100644 --- a/src/H5D.c +++ b/src/H5D.c @@ -20,7 +20,7 @@ #define H5D_PACKAGE /*suppress error about including H5Dpkg */ /* Interface initialization */ -#define H5_INTERFACE_INIT_FUNC H5D_init_pub_interface +#define H5_INTERFACE_INIT_FUNC H5D__init_pub_interface /***********/ @@ -75,9 +75,9 @@ H5FL_BLK_EXTERN(type_conv); /*-------------------------------------------------------------------------- NAME - H5D_init_pub_interface -- Initialize interface-specific information + H5D__init_pub_interface -- Initialize interface-specific information USAGE - herr_t H5D_init_pub_interface() + herr_t H5D__init_pub_interface() RETURNS Non-negative on success/Negative on failure DESCRIPTION @@ -86,12 +86,12 @@ DESCRIPTION --------------------------------------------------------------------------*/ static herr_t -H5D_init_pub_interface(void) +H5D__init_pub_interface(void) { - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC_NOERR FUNC_LEAVE_NOAPI(H5D_init()) -} /* H5D_init_pub_interface() */ +} /* H5D__init_pub_interface() */ /*------------------------------------------------------------------------- @@ -248,7 +248,7 @@ H5Dcreate_anon(hid_t loc_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not dataset access property list") /* build and open the new dataset */ - if(NULL == (dset = H5D_create(loc.oloc->file, type_id, space, dcpl_id, dapl_id, H5AC_dxpl_id))) + if(NULL == (dset = H5D__create(loc.oloc->file, type_id, space, dcpl_id, dapl_id, H5AC_dxpl_id))) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create dataset") /* Register the new dataset to get an ID for it */ @@ -484,7 +484,7 @@ H5Dget_space_status(hid_t dset_id, H5D_space_status_t *allocation) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset") /* Read data space address and return */ - if(FAIL==(ret_value=H5D_get_space_status(dset, allocation, H5AC_ind_dxpl_id))) + if(H5D__get_space_status(dset, allocation, H5AC_ind_dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to get space status") done: @@ -786,7 +786,8 @@ H5Dget_storage_size(hid_t dset_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not a dataset") /* Set return value */ - ret_value = H5D_get_storage_size(dset, H5AC_ind_dxpl_id); + if(H5D__get_storage_size(dset, H5AC_ind_dxpl_id, &ret_value) < 0) + HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, 0, "can't get size of dataset's storage") done: FUNC_LEAVE_API(ret_value) @@ -821,7 +822,7 @@ H5Dget_offset(hid_t dset_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, HADDR_UNDEF, "not a dataset") /* Set return value */ - ret_value = H5D_get_offset(dset); + ret_value = H5D__get_offset(dset); done: FUNC_LEAVE_API(ret_value) @@ -909,7 +910,7 @@ H5Diterate(void *buf, hid_t type_id, hid_t space_id, H5D_operator_t op, if(!(H5S_has_extent(space))) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "dataspace does not have extent set") - ret_value = H5D_iterate(buf, type_id, space, op, operator_data); + ret_value = H5D__iterate(buf, type_id, space, op, operator_data); done: FUNC_LEAVE_API(ret_value) @@ -1040,14 +1041,14 @@ H5Dvlen_get_buf_size(hid_t dataset_id, hid_t type_id, hid_t space_id, HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset transfer property list") /* Set the memory manager to the special allocation routine */ - if(H5P_set_vlen_mem_manager(plist, H5D_vlen_get_buf_size_alloc, &vlen_bufsize, NULL, NULL) < 0) + if(H5P_set_vlen_mem_manager(plist, H5D__vlen_get_buf_size_alloc, &vlen_bufsize, NULL, NULL) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't set VL data allocation routine") /* Set the initial number of bytes required */ vlen_bufsize.size = 0; - /* Call H5D_iterate with args, etc. */ - ret_value = H5D_iterate(&bogus, type_id, space, H5D_vlen_get_buf_size, &vlen_bufsize); + /* Call H5D__iterate with args, etc. */ + ret_value = H5D__iterate(&bogus, type_id, space, H5D__vlen_get_buf_size, &vlen_bufsize); /* Get the size if we succeeded */ if(ret_value >= 0) @@ -1098,7 +1099,7 @@ H5Dset_extent(hid_t dset_id, const hsize_t size[]) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no size specified") /* Private function */ - if(H5D_set_extent(dset, size, H5AC_dxpl_id) < 0) + if(H5D__set_extent(dset, size, H5AC_dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set extend dataset") done: @@ -1132,7 +1133,7 @@ H5Dflush(hid_t dset_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset") /* Flush any dataset information still cached in memory */ - if (H5D_flush_real(dset, H5AC_dxpl_id) < 0) + if(H5D__flush_real(dset, H5AC_dxpl_id) < 0) HDONE_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to flush cached dataset info") /* Call private function to flush dataset object */ diff --git a/src/H5Dbtree.c b/src/H5Dbtree.c index 57fdd8d..0bd2d20 100644 --- a/src/H5Dbtree.c +++ b/src/H5Dbtree.c @@ -97,66 +97,66 @@ typedef struct H5D_btree_dbg_t { /* Local Prototypes */ /********************/ -static herr_t H5D_btree_shared_create(const H5F_t *f, H5O_storage_chunk_t *store, +static herr_t H5D__btree_shared_create(const H5F_t *f, H5O_storage_chunk_t *store, unsigned ndims); /* B-tree iterator callbacks */ -static int H5D_btree_idx_iterate_cb(H5F_t *f, hid_t dxpl_id, const void *left_key, +static int H5D__btree_idx_iterate_cb(H5F_t *f, hid_t dxpl_id, const void *left_key, haddr_t addr, const void *right_key, void *_udata); /* B-tree callbacks */ -static H5RC_t *H5D_btree_get_shared(const H5F_t *f, const void *_udata); -static herr_t H5D_btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t, void *_lt_key, +static H5RC_t *H5D__btree_get_shared(const H5F_t *f, const void *_udata); +static herr_t H5D__btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t, void *_lt_key, void *_udata, void *_rt_key, haddr_t *addr_p /*out*/); -static int H5D_btree_cmp2(void *_lt_key, void *_udata, void *_rt_key); -static int H5D_btree_cmp3(void *_lt_key, void *_udata, void *_rt_key); -static htri_t H5D_btree_found(H5F_t *f, hid_t dxpl_id, haddr_t addr, +static int H5D__btree_cmp2(void *_lt_key, void *_udata, void *_rt_key); +static int H5D__btree_cmp3(void *_lt_key, void *_udata, void *_rt_key); +static htri_t H5D__btree_found(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void *_lt_key, void *_udata); -static H5B_ins_t H5D_btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, +static H5B_ins_t H5D__btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key, hbool_t *lt_key_changed, void *_md_key, void *_udata, void *_rt_key, hbool_t *rt_key_changed, haddr_t *new_node/*out*/); -static H5B_ins_t H5D_btree_remove( H5F_t *f, hid_t dxpl_id, haddr_t addr, +static H5B_ins_t H5D__btree_remove( H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key, hbool_t *lt_key_changed, void *_udata, void *_rt_key, hbool_t *rt_key_changed); -static herr_t H5D_btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, +static herr_t H5D__btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, void *_key); -static herr_t H5D_btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, +static herr_t H5D__btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, const void *_key); -static herr_t H5D_btree_debug_key(FILE *stream, int indent, int fwidth, +static herr_t H5D__btree_debug_key(FILE *stream, int indent, int fwidth, const void *key, const void *udata); -static herr_t H5D_btree_create_flush_dep(void *_key, void *_udata, +static herr_t H5D__btree_create_flush_dep(void *_key, void *_udata, void *parent); -static herr_t H5D_btree_update_flush_dep(void *_key, void *_udata, +static herr_t H5D__btree_update_flush_dep(void *_key, void *_udata, void *old_parent, void *new_parent); /* Chunked layout indexing callbacks */ -static herr_t H5D_btree_idx_init(const H5D_chk_idx_info_t *idx_info, +static herr_t H5D__btree_idx_init(const H5D_chk_idx_info_t *idx_info, const H5S_t *space, haddr_t dset_ohdr_addr); -static herr_t H5D_btree_idx_create(const H5D_chk_idx_info_t *idx_info); -static hbool_t H5D_btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage); -static herr_t H5D_btree_idx_insert(const H5D_chk_idx_info_t *idx_info, +static herr_t H5D__btree_idx_create(const H5D_chk_idx_info_t *idx_info); +static hbool_t H5D__btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage); +static herr_t H5D__btree_idx_insert(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata); -static herr_t H5D_btree_idx_get_addr(const H5D_chk_idx_info_t *idx_info, +static herr_t H5D__btree_idx_get_addr(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata); -static int H5D_btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, +static int H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, H5D_chunk_cb_func_t chunk_cb, void *chunk_udata); -static herr_t H5D_btree_idx_remove(const H5D_chk_idx_info_t *idx_info, +static herr_t H5D__btree_idx_remove(const H5D_chk_idx_info_t *idx_info, H5D_chunk_common_ud_t *udata); -static herr_t H5D_btree_idx_delete(const H5D_chk_idx_info_t *idx_info); -static herr_t H5D_btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, +static herr_t H5D__btree_idx_delete(const H5D_chk_idx_info_t *idx_info); +static herr_t H5D__btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, const H5D_chk_idx_info_t *idx_info_dst); -static herr_t H5D_btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, +static herr_t H5D__btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, H5O_storage_chunk_t *storage_dst, hid_t dxpl_id); -static herr_t H5D_btree_idx_size(const H5D_chk_idx_info_t *idx_info, +static herr_t H5D__btree_idx_size(const H5D_chk_idx_info_t *idx_info, hsize_t *size); -static herr_t H5D_btree_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr); -static herr_t H5D_btree_idx_support(const H5D_chk_idx_info_t *idx_info, +static herr_t H5D__btree_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr); +static herr_t H5D__btree_idx_support(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata, H5AC_info_t *child_entry); -static herr_t H5D_btree_idx_unsupport(const H5D_chk_idx_info_t *idx_info, +static herr_t H5D__btree_idx_unsupport(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata, H5AC_info_t *child_entry); -static herr_t H5D_btree_idx_dump(const H5O_storage_chunk_t *storage, +static herr_t H5D__btree_idx_dump(const H5O_storage_chunk_t *storage, FILE *stream); -static herr_t H5D_btree_idx_dest(const H5D_chk_idx_info_t *idx_info); +static herr_t H5D__btree_idx_dest(const H5D_chk_idx_info_t *idx_info); /*********************/ @@ -166,23 +166,23 @@ static herr_t H5D_btree_idx_dest(const H5D_chk_idx_info_t *idx_info); /* v1 B-tree indexed chunk I/O ops */ const H5D_chunk_ops_t H5D_COPS_BTREE[1] = {{ TRUE, /* v1 B-tree indices do support SWMR access */ - H5D_btree_idx_init, - H5D_btree_idx_create, - H5D_btree_idx_is_space_alloc, - H5D_btree_idx_insert, - H5D_btree_idx_get_addr, + H5D__btree_idx_init, + H5D__btree_idx_create, + H5D__btree_idx_is_space_alloc, + H5D__btree_idx_insert, + H5D__btree_idx_get_addr, NULL, - H5D_btree_idx_iterate, - H5D_btree_idx_remove, - H5D_btree_idx_delete, - H5D_btree_idx_copy_setup, - H5D_btree_idx_copy_shutdown, - H5D_btree_idx_size, - H5D_btree_idx_reset, - H5D_btree_idx_support, - H5D_btree_idx_unsupport, - H5D_btree_idx_dump, - H5D_btree_idx_dest + H5D__btree_idx_iterate, + H5D__btree_idx_remove, + H5D__btree_idx_delete, + H5D__btree_idx_copy_setup, + H5D__btree_idx_copy_shutdown, + H5D__btree_idx_size, + H5D__btree_idx_reset, + H5D__btree_idx_support, + H5D__btree_idx_unsupport, + H5D__btree_idx_dump, + H5D__btree_idx_dest }}; @@ -194,21 +194,21 @@ const H5D_chunk_ops_t H5D_COPS_BTREE[1] = {{ H5B_class_t H5B_BTREE[1] = {{ H5B_CHUNK_ID, /*id */ sizeof(H5D_btree_key_t), /*sizeof_nkey */ - H5D_btree_get_shared, /*get_shared */ - H5D_btree_new_node, /*new */ - H5D_btree_cmp2, /*cmp2 */ - H5D_btree_cmp3, /*cmp3 */ - H5D_btree_found, /*found */ - H5D_btree_insert, /*insert */ + H5D__btree_get_shared, /*get_shared */ + H5D__btree_new_node, /*new */ + H5D__btree_cmp2, /*cmp2 */ + H5D__btree_cmp3, /*cmp3 */ + H5D__btree_found, /*found */ + H5D__btree_insert, /*insert */ FALSE, /*follow min branch? */ FALSE, /*follow max branch? */ H5B_LEFT, /*critical key */ - H5D_btree_remove, /*remove */ - H5D_btree_decode_key, /*decode */ - H5D_btree_encode_key, /*encode */ - H5D_btree_debug_key, /*debug */ - H5D_btree_create_flush_dep, /*create_flush_dep */ - H5D_btree_update_flush_dep, /*update_flush_dep */ + H5D__btree_remove, /*remove */ + H5D__btree_decode_key, /*decode */ + H5D__btree_encode_key, /*encode */ + H5D__btree_debug_key, /*debug */ + H5D__btree_create_flush_dep, /*create_flush_dep */ + H5D__btree_update_flush_dep, /*update_flush_dep */ }}; @@ -218,7 +218,7 @@ H5B_class_t H5B_BTREE[1] = {{ /*------------------------------------------------------------------------- - * Function: H5D_btree_get_shared + * Function: H5D__btree_get_shared * * Purpose: Returns the shared B-tree info for the specified UDATA. * @@ -233,11 +233,11 @@ H5B_class_t H5B_BTREE[1] = {{ */ /* ARGSUSED */ static H5RC_t * -H5D_btree_get_shared(const H5F_t UNUSED *f, const void *_udata) +H5D__btree_get_shared(const H5F_t UNUSED *f, const void *_udata) { const H5D_chunk_common_ud_t *udata = (const H5D_chunk_common_ud_t *) _udata; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(udata); HDassert(udata->storage); @@ -246,11 +246,11 @@ H5D_btree_get_shared(const H5F_t UNUSED *f, const void *_udata) /* Return the pointer to the ref-count object */ FUNC_LEAVE_NOAPI(udata->storage->u.btree.shared) -} /* end H5D_btree_get_shared() */ +} /* end H5D__btree_get_shared() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_new_node + * Function: H5D__btree_new_node * * Purpose: Adds a new entry to an i-storage B-tree. We can assume that * the domain represented by UDATA doesn't intersect the domain @@ -268,7 +268,7 @@ H5D_btree_get_shared(const H5F_t UNUSED *f, const void *_udata) *------------------------------------------------------------------------- */ static herr_t -H5D_btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t op, +H5D__btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t op, void *_lt_key, void *_udata, void *_rt_key, haddr_t *addr_p/*out*/) { @@ -278,7 +278,7 @@ H5D_btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t op, unsigned u; herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* check args */ HDassert(f); @@ -320,11 +320,11 @@ H5D_btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t op, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_new_node() */ +} /* end H5D__btree_new_node() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_cmp2 + * Function: H5D__btree_cmp2 * * Purpose: Compares two keys sort of like strcmp(). The UDATA pointer * is only to supply extra information not carried in the keys @@ -343,14 +343,14 @@ done: *------------------------------------------------------------------------- */ static int -H5D_btree_cmp2(void *_lt_key, void *_udata, void *_rt_key) +H5D__btree_cmp2(void *_lt_key, void *_udata, void *_rt_key) { H5D_btree_key_t *lt_key = (H5D_btree_key_t *) _lt_key; H5D_btree_key_t *rt_key = (H5D_btree_key_t *) _rt_key; H5D_chunk_common_ud_t *udata = (H5D_chunk_common_ud_t *) _udata; int ret_value; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(lt_key); HDassert(rt_key); @@ -361,11 +361,11 @@ H5D_btree_cmp2(void *_lt_key, void *_udata, void *_rt_key) ret_value = H5V_vector_cmp_u(udata->layout->ndims, lt_key->offset, rt_key->offset); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_cmp2() */ +} /* end H5D__btree_cmp2() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_cmp3 + * Function: H5D__btree_cmp3 * * Purpose: Compare the requested datum UDATA with the left and right * keys of the B-tree. @@ -392,14 +392,14 @@ H5D_btree_cmp2(void *_lt_key, void *_udata, void *_rt_key) *------------------------------------------------------------------------- */ static int -H5D_btree_cmp3(void *_lt_key, void *_udata, void *_rt_key) +H5D__btree_cmp3(void *_lt_key, void *_udata, void *_rt_key) { H5D_btree_key_t *lt_key = (H5D_btree_key_t *) _lt_key; H5D_btree_key_t *rt_key = (H5D_btree_key_t *) _rt_key; H5D_chunk_common_ud_t *udata = (H5D_chunk_common_ud_t *) _udata; int ret_value = 0; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(lt_key); HDassert(rt_key); @@ -429,11 +429,11 @@ H5D_btree_cmp3(void *_lt_key, void *_udata, void *_rt_key) } /* end else */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_cmp3() */ +} /* end H5D__btree_cmp3() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_found + * Function: H5D__btree_found * * Purpose: This function is called when the B-tree search engine has * found the leaf entry that points to a chunk of storage that @@ -458,7 +458,7 @@ H5D_btree_cmp3(void *_lt_key, void *_udata, void *_rt_key) */ /* ARGSUSED */ static htri_t -H5D_btree_found(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, haddr_t addr, const void *_lt_key, +H5D__btree_found(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, haddr_t addr, const void *_lt_key, void *_udata) { H5D_chunk_ud_t *udata = (H5D_chunk_ud_t *) _udata; @@ -466,7 +466,7 @@ H5D_btree_found(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, haddr_t addr, const void unsigned u; htri_t ret_value = TRUE; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* Check arguments */ HDassert(f); @@ -487,11 +487,11 @@ H5D_btree_found(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, haddr_t addr, const void done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_found() */ +} /* end H5D__btree_found() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_insert + * Function: H5D__btree_insert * * Purpose: This function is called when the B-tree insert engine finds * the node to use to insert new data. The UDATA argument @@ -520,7 +520,7 @@ done: */ /* ARGSUSED */ static H5B_ins_t -H5D_btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key, +H5D__btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key, hbool_t *lt_key_changed, void *_md_key, void *_udata, void *_rt_key, hbool_t UNUSED *rt_key_changed, @@ -534,7 +534,7 @@ H5D_btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key, unsigned u; H5B_ins_t ret_value; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* check args */ HDassert(f); @@ -546,7 +546,7 @@ H5D_btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key, HDassert(rt_key); HDassert(new_node_p); - cmp = H5D_btree_cmp3(lt_key, udata, rt_key); + cmp = H5D__btree_cmp3(lt_key, udata, rt_key); HDassert(cmp <= 0); if(cmp < 0) { @@ -631,11 +631,11 @@ H5D_btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_insert() */ +} /* end H5D__btree_insert() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_remove + * Function: H5D__btree_remove * * Purpose: Removes chunks that are no longer necessary in the B-tree. * @@ -649,7 +649,7 @@ done: */ /* ARGSUSED */ static H5B_ins_t -H5D_btree_remove(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key /*in,out */ , +H5D__btree_remove(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key /*in,out */ , hbool_t *lt_key_changed /*out */ , void UNUSED * _udata /*in,out */ , void UNUSED * _rt_key /*in,out */ , @@ -658,7 +658,7 @@ H5D_btree_remove(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key /*in,out * H5D_btree_key_t *lt_key = (H5D_btree_key_t *)_lt_key; H5B_ins_t ret_value=H5B_INS_REMOVE; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Remove raw data chunk from file */ if(!(H5F_INTENT(f) & H5F_ACC_SWMR_WRITE)) { @@ -673,11 +673,11 @@ H5D_btree_remove(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key /*in,out * done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_remove() */ +} /* end H5D__btree_remove() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_decode_key + * Function: H5D__btree_decode_key * * Purpose: Decodes a raw key into a native key for the B-tree * @@ -689,13 +689,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, void *_key) +H5D__btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, void *_key) { H5D_btree_key_t *key = (H5D_btree_key_t *) _key; size_t ndims; unsigned u; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* check args */ HDassert(shared); @@ -711,11 +711,11 @@ H5D_btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, void *_key) UINT64DECODE(raw, key->offset[u]); FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_btree_decode_key() */ +} /* end H5D__btree_decode_key() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_encode_key + * Function: H5D__btree_encode_key * * Purpose: Encode a key from native format to raw format. * @@ -727,13 +727,13 @@ H5D_btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, void *_key) *------------------------------------------------------------------------- */ static herr_t -H5D_btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, const void *_key) +H5D__btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, const void *_key) { const H5D_btree_key_t *key = (const H5D_btree_key_t *)_key; size_t ndims; unsigned u; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* check args */ HDassert(shared); @@ -749,11 +749,11 @@ H5D_btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, const void *_key) UINT64ENCODE(raw, key->offset[u]); FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_btree_encode_key() */ +} /* end H5D__btree_encode_key() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_debug_key + * Function: H5D__btree_debug_key * * Purpose: Prints a key. * @@ -766,14 +766,14 @@ H5D_btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, const void *_key) */ /* ARGSUSED */ static herr_t -H5D_btree_debug_key(FILE *stream, int indent, int fwidth, const void *_key, +H5D__btree_debug_key(FILE *stream, int indent, int fwidth, const void *_key, const void *_udata) { const H5D_btree_key_t *key = (const H5D_btree_key_t *)_key; const H5D_btree_dbg_t *udata = (const H5D_btree_dbg_t *)_udata; unsigned u; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(key); @@ -785,11 +785,11 @@ H5D_btree_debug_key(FILE *stream, int indent, int fwidth, const void *_key, HDfputs("}\n", stream); FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_btree_debug_key() */ +} /* end H5D__btree_debug_key() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_shared_create + * Function: H5D__btree_shared_create * * Purpose: Create & initialize B-tree shared info * @@ -801,13 +801,13 @@ H5D_btree_debug_key(FILE *stream, int indent, int fwidth, const void *_key, *------------------------------------------------------------------------- */ static herr_t -H5D_btree_shared_create(const H5F_t *f, H5O_storage_chunk_t *store, unsigned ndims) +H5D__btree_shared_create(const H5F_t *f, H5O_storage_chunk_t *store, unsigned ndims) { H5B_shared_t *shared; /* Shared B-tree node info */ size_t sizeof_rkey; /* Size of raw (disk) key */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Set the raw key size */ sizeof_rkey = 4 + /*storage size */ @@ -827,11 +827,11 @@ HDassert(!store->u.btree.shared); done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_shared_create() */ +} /* end H5D__btree_shared_create() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_create_flush_dep + * Function: H5D__btree_create_flush_dep * * Purpose: Creates a flush dependency between the specified chunk * (child) and parent. @@ -845,13 +845,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_create_flush_dep(void *_key, void *_udata, void *parent) +H5D__btree_create_flush_dep(void *_key, void *_udata, void *parent) { H5D_btree_key_t *key = (H5D_btree_key_t *)_key; H5D_chunk_common_ud_t *udata = (H5D_chunk_common_ud_t *) _udata; int ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(key); HDassert(udata); @@ -862,17 +862,16 @@ H5D_btree_create_flush_dep(void *_key, void *_udata, void *parent) * dependencies on. This should only happen when copying */ if(udata->rdcc) /* Delegate to chunk routine */ - if(H5D_chunk_create_flush_dep(udata->rdcc, udata->layout, key->offset, - parent) < 0) + if(H5D__chunk_create_flush_dep(udata->rdcc, udata->layout, key->offset, parent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEPEND, FAIL, "unable to create flush dependency") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_create_flush_dep() */ +} /* end H5D__btree_create_flush_dep() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_update_flush_dep + * Function: H5D__btree_update_flush_dep * * Purpose: Updates the flush dependency of the specified chunk from * old_parent to new_parent, but only if the current parent @@ -887,14 +886,14 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_update_flush_dep(void *_key, void *_udata, void *old_parent, +H5D__btree_update_flush_dep(void *_key, void *_udata, void *old_parent, void *new_parent) { H5D_btree_key_t *key = (H5D_btree_key_t *)_key; H5D_chunk_common_ud_t *udata = (H5D_chunk_common_ud_t *) _udata; int ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(key); HDassert(udata); @@ -906,17 +905,17 @@ H5D_btree_update_flush_dep(void *_key, void *_udata, void *old_parent, * dependencies. This should only happen when copying */ if(udata->rdcc) /* Delegate to chunk routine */ - if(H5D_chunk_update_flush_dep(udata->rdcc, udata->layout, key->offset, + if(H5D__chunk_update_flush_dep(udata->rdcc, udata->layout, key->offset, old_parent, new_parent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEPEND, FAIL, "unable to update flush dependency") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_update_flush_dep() */ +} /* end H5D__btree_update_flush_dep() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_init + * Function: H5D__btree_idx_init * * Purpose: Initialize the indexing information for a dataset. * @@ -928,12 +927,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_init(const H5D_chk_idx_info_t *idx_info, const H5S_t UNUSED *space, +H5D__btree_idx_init(const H5D_chk_idx_info_t *idx_info, const H5S_t UNUSED *space, haddr_t dset_ohdr_addr) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(idx_info); @@ -946,16 +945,16 @@ H5D_btree_idx_init(const H5D_chk_idx_info_t *idx_info, const H5S_t UNUSED *space idx_info->storage->u.btree.dset_ohdr_addr = dset_ohdr_addr; /* Allocate the shared structure */ - if(H5D_btree_shared_create(idx_info->f, idx_info->storage, idx_info->layout->ndims) < 0) + if(H5D__btree_shared_create(idx_info->f, idx_info->storage, idx_info->layout->ndims) < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_init() */ +} /* end H5D__btree_idx_init() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_create + * Function: H5D__btree_idx_create * * Purpose: Creates a new indexed-storage B-tree and initializes the * layout struct with information about the storage. The @@ -973,14 +972,14 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_create(const H5D_chk_idx_info_t *idx_info) +H5D__btree_idx_create(const H5D_chk_idx_info_t *idx_info) { H5D_chunk_common_ud_t udata; /* User data for B-tree callback */ H5O_loc_t oloc; /* Temporary object header location for dataset */ H5O_t *oh = NULL; /* Dataset's object header */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(idx_info); @@ -1016,11 +1015,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTUNPIN, FAIL, "unable to unpin dataset object header") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_create() */ +} /* end H5D__btree_idx_create() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_is_space_alloc + * Function: H5D__btree_idx_is_space_alloc * * Purpose: Query if space is allocated for index method * @@ -1032,11 +1031,11 @@ done: *------------------------------------------------------------------------- */ static hbool_t -H5D_btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage) +H5D__btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage) { hbool_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* Check args */ HDassert(storage); @@ -1045,11 +1044,11 @@ H5D_btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage) ret_value = (hbool_t)H5F_addr_defined(storage->idx_addr); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_is_space_alloc() */ +} /* end H5D__btree_idx_is_space_alloc() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_insert + * Function: H5D__btree_idx_insert * * Purpose: Create the chunk it if it doesn't exist, or reallocate the * chunk if its size changed. @@ -1062,13 +1061,13 @@ H5D_btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage) *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_insert(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata) +H5D__btree_idx_insert(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata) { H5O_loc_t oloc; /* Temporary object header location for dataset */ H5O_t *oh = NULL; /* Dataset's object header */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(idx_info); HDassert(idx_info->f); @@ -1103,11 +1102,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTUNPIN, FAIL, "unable to unpin dataset object header") FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_btree_idx_insert() */ +} /* H5D__btree_idx_insert() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_get_addr + * Function: H5D__btree_idx_get_addr * * Purpose: Get the file address of a chunk if file space has been * assigned. Save the retrieved information in the udata @@ -1121,13 +1120,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_get_addr(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata) +H5D__btree_idx_get_addr(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata) { H5O_loc_t oloc; /* Temporary object header location for dataset */ H5O_t *oh = NULL; /* Dataset's object header */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(idx_info); HDassert(idx_info->f); @@ -1160,11 +1159,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTUNPIN, FAIL, "unable to unpin dataset object header") FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_btree_idx_get_addr() */ +} /* H5D__btree_idx_get_addr() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_iterate_cb + * Function: H5D__btree_idx_iterate_cb * * Purpose: Translate the B-tree specific chunk record into a generic * form and make the callback to the generic chunk callback @@ -1180,7 +1179,7 @@ done: */ /* ARGSUSED */ static int -H5D_btree_idx_iterate_cb(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, +H5D__btree_idx_iterate_cb(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_lt_key, haddr_t addr, const void UNUSED *_rt_key, void *_udata) { @@ -1189,7 +1188,7 @@ H5D_btree_idx_iterate_cb(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, H5D_chunk_rec_t chunk_rec; /* Generic chunk record for callback */ int ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* Sanity check for memcpy() */ HDcompile_assert(offsetof(H5D_chunk_rec_t, nbytes) == offsetof(H5D_btree_key_t, nbytes)); @@ -1208,11 +1207,11 @@ H5D_btree_idx_iterate_cb(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, HERROR(H5E_DATASET, H5E_CALLBACK, "failure in generic chunk iterator callback"); FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_btree_idx_iterate_cb() */ +} /* H5D__btree_idx_iterate_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_iterate + * Function: H5D__btree_idx_iterate * * Purpose: Iterate over the chunks in an index, making a callback * for each one. @@ -1225,7 +1224,7 @@ H5D_btree_idx_iterate_cb(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, *------------------------------------------------------------------------- */ static int -H5D_btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, +H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, H5D_chunk_cb_func_t chunk_cb, void *chunk_udata) { H5D_btree_it_ud_t udata; /* User data for B-tree iterator callback */ @@ -1233,7 +1232,7 @@ H5D_btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, H5O_t *oh = NULL; /* Dataset's object header */ int ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(idx_info); HDassert(idx_info->f); @@ -1265,7 +1264,7 @@ H5D_btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, udata.udata = chunk_udata; /* Iterate over existing chunks */ - if((ret_value = H5B_iterate(idx_info->f, idx_info->dxpl_id, H5B_BTREE, idx_info->storage->idx_addr, H5D_btree_idx_iterate_cb, &udata, oh)) < 0) + if((ret_value = H5B_iterate(idx_info->f, idx_info->dxpl_id, H5B_BTREE, idx_info->storage->idx_addr, H5D__btree_idx_iterate_cb, &udata, oh)) < 0) HERROR(H5E_DATASET, H5E_BADITER, "unable to iterate over chunk B-tree"); done: @@ -1273,11 +1272,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTUNPIN, FAIL, "unable to unpin dataset object header") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_iterate() */ +} /* end H5D__btree_idx_iterate() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_remove + * Function: H5D__btree_idx_remove * * Purpose: Remove chunk from index. * @@ -1289,13 +1288,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_remove(const H5D_chk_idx_info_t *idx_info, H5D_chunk_common_ud_t *udata) +H5D__btree_idx_remove(const H5D_chk_idx_info_t *idx_info, H5D_chunk_common_ud_t *udata) { H5O_loc_t oloc; /* Temporary object header location for dataset */ H5O_t *oh = NULL; /* Dataset's object header */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(idx_info); HDassert(idx_info->f); @@ -1329,11 +1328,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTUNPIN, FAIL, "unable to unpin dataset object header") FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_btree_idx_remove() */ +} /* H5D__btree_idx_remove() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_delete + * Function: H5D__btree_idx_delete * * Purpose: Delete index and raw data storage for entire dataset * (i.e. all chunks) @@ -1347,13 +1346,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_delete(const H5D_chk_idx_info_t *idx_info) +H5D__btree_idx_delete(const H5D_chk_idx_info_t *idx_info) { H5O_loc_t oloc; /* Temporary object header location for dataset */ H5O_t *oh = NULL; /* Dataset's object header */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity checks */ HDassert(idx_info); @@ -1384,7 +1383,7 @@ H5D_btree_idx_delete(const H5D_chk_idx_info_t *idx_info) tmp_storage = *idx_info->storage; /* Set up the shared structure */ - if(H5D_btree_shared_create(idx_info->f, &tmp_storage, idx_info->layout->ndims) < 0) + if(H5D__btree_shared_create(idx_info->f, &tmp_storage, idx_info->layout->ndims) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info") /* Set up B-tree user data */ @@ -1408,11 +1407,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTUNPIN, FAIL, "unable to unpin dataset object header") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_delete() */ +} /* end H5D__btree_idx_delete() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_copy_setup + * Function: H5D__btree_idx_copy_setup * * Purpose: Set up any necessary information for copying chunks * @@ -1424,12 +1423,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, +H5D__btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, const H5D_chk_idx_info_t *idx_info_dst) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_TAG(idx_info_dst->dxpl_id, H5AC__COPIED_TAG, FAIL) + FUNC_ENTER_STATIC_TAG(idx_info_dst->dxpl_id, H5AC__COPIED_TAG, FAIL) HDassert(idx_info_src); HDassert(idx_info_src->f); @@ -1444,23 +1443,23 @@ H5D_btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, HDassert(!H5F_addr_defined(idx_info_dst->storage->idx_addr)); /* Create shared B-tree info for each file */ - if(H5D_btree_shared_create(idx_info_src->f, idx_info_src->storage, idx_info_src->layout->ndims) < 0) + if(H5D__btree_shared_create(idx_info_src->f, idx_info_src->storage, idx_info_src->layout->ndims) < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for source shared B-tree info") - if(H5D_btree_shared_create(idx_info_dst->f, idx_info_dst->storage, idx_info_dst->layout->ndims) < 0) + if(H5D__btree_shared_create(idx_info_dst->f, idx_info_dst->storage, idx_info_dst->layout->ndims) < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for destination shared B-tree info") /* Create the root of the B-tree that describes chunked storage in the dest. file */ - if(H5D_btree_idx_create(idx_info_dst) < 0) + if(H5D__btree_idx_create(idx_info_dst) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to initialize chunked storage") HDassert(H5F_addr_defined(idx_info_dst->storage->idx_addr)); done: FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_btree_idx_copy_setup() */ +} /* end H5D__btree_idx_copy_setup() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_copy_shutdown + * Function: H5D__btree_idx_copy_shutdown * * Purpose: Shutdown any information from copying chunks * @@ -1472,13 +1471,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, +H5D__btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, H5O_storage_chunk_t *storage_dst, hid_t UNUSED dxpl_id) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(storage_src); HDassert(storage_dst); @@ -1491,11 +1490,11 @@ H5D_btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_copy_shutdown() */ +} /* end H5D__btree_idx_copy_shutdown() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_size + * Function: H5D__btree_idx_size * * Purpose: Retrieve the amount of index storage for chunked dataset * @@ -1508,7 +1507,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_size(const H5D_chk_idx_info_t *idx_info, hsize_t *index_size) +H5D__btree_idx_size(const H5D_chk_idx_info_t *idx_info, hsize_t *index_size) { H5D_chunk_common_ud_t udata; /* User-data for loading B-tree nodes */ H5B_info_t bt_info; /* B-tree info */ @@ -1517,7 +1516,7 @@ H5D_btree_idx_size(const H5D_chk_idx_info_t *idx_info, hsize_t *index_size) H5O_t *oh = NULL; /* Dataset's object header */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(idx_info); @@ -1541,7 +1540,7 @@ H5D_btree_idx_size(const H5D_chk_idx_info_t *idx_info, hsize_t *index_size) } /* end if */ /* Initialize the shared info for the B-tree traversal */ - if(H5D_btree_shared_create(idx_info->f, idx_info->storage, idx_info->layout->ndims) < 0) + if(H5D__btree_shared_create(idx_info->f, idx_info->storage, idx_info->layout->ndims) < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info") shared_init = TRUE; @@ -1569,11 +1568,11 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_size() */ +} /* end H5D__btree_idx_size() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_reset + * Function: H5D__btree_idx_reset * * Purpose: Reset indexing information. * @@ -1585,9 +1584,9 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr) +H5D__btree_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(storage); @@ -1597,11 +1596,11 @@ H5D_btree_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr) storage->u.btree.shared = NULL; FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_btree_idx_reset() */ +} /* end H5D__btree_idx_reset() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_support + * Function: H5D__btree_idx_support * * Purpose: Create a dependency between a chunk [proxy] and the index * metadata that contains the record for the chunk. @@ -1614,14 +1613,14 @@ H5D_btree_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr) *------------------------------------------------------------------------- */ static htri_t -H5D_btree_idx_support(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata, +H5D__btree_idx_support(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata, H5AC_info_t *child_entry) { H5O_loc_t oloc; /* Temporary object header location for dataset */ H5O_t *oh = NULL; /* Dataset's object header */ htri_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(idx_info); @@ -1644,8 +1643,7 @@ H5D_btree_idx_support(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata, HGOTO_ERROR(H5E_DATASET, H5E_CANTPIN, FAIL, "unable to pin dataset object header") /* Add the flush dependency on the chunk */ - if((ret_value = H5B_support(idx_info->f, idx_info->dxpl_id, H5B_BTREE, idx_info->storage->idx_addr, - udata, oh, child_entry)) < 0) + if((ret_value = H5B_support(idx_info->f, idx_info->dxpl_id, H5B_BTREE, idx_info->storage->idx_addr, udata, oh, child_entry)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEPEND, FAIL, "unable to create flush dependency on b-tree array metadata") done: @@ -1653,11 +1651,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTUNPIN, FAIL, "unable to unpin dataset object header") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_support() */ +} /* end H5D__btree_idx_support() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_unsupport + * Function: H5D__btree_idx_unsupport * * Purpose: Destroy a dependency between a chunk [proxy] and the index * metadata that contains the record for the chunk. @@ -1670,14 +1668,14 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_unsupport(const H5D_chk_idx_info_t *idx_info, +H5D__btree_idx_unsupport(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata, H5AC_info_t *child_entry) { H5O_loc_t oloc; /* Temporary object header location for dataset */ H5O_t *oh = NULL; /* Dataset's object header */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(idx_info); @@ -1700,8 +1698,7 @@ H5D_btree_idx_unsupport(const H5D_chk_idx_info_t *idx_info, HGOTO_ERROR(H5E_DATASET, H5E_CANTPIN, FAIL, "unable to pin dataset object header") /* Remove the flush dependency on the chunk */ - if((ret_value = H5B_unsupport(idx_info->f, idx_info->dxpl_id, H5B_BTREE, idx_info->storage->idx_addr, - udata, oh, child_entry)) < 0) + if((ret_value = H5B_unsupport(idx_info->f, idx_info->dxpl_id, H5B_BTREE, idx_info->storage->idx_addr, udata, oh, child_entry)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTUNDEPEND, FAIL, "unable to destroy flush dependency on b-tree array metadata") done: @@ -1709,11 +1706,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTUNPIN, FAIL, "unable to unpin dataset object header") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_unsupport() */ +} /* end H5D__btree_idx_unsupport() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_dump + * Function: H5D__btree_idx_dump * * Purpose: Dump indexing information to a stream. * @@ -1725,9 +1722,9 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_dump(const H5O_storage_chunk_t *storage, FILE *stream) +H5D__btree_idx_dump(const H5O_storage_chunk_t *storage, FILE *stream) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(storage); HDassert(stream); @@ -1735,11 +1732,11 @@ H5D_btree_idx_dump(const H5O_storage_chunk_t *storage, FILE *stream) HDfprintf(stream, " Address: %a\n", storage->idx_addr); FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_btree_idx_dump() */ +} /* end H5D__btree_idx_dump() */ /*------------------------------------------------------------------------- - * Function: H5D_btree_idx_dest + * Function: H5D__btree_idx_dest * * Purpose: Release indexing information in memory. * @@ -1751,11 +1748,11 @@ H5D_btree_idx_dump(const H5O_storage_chunk_t *storage, FILE *stream) *------------------------------------------------------------------------- */ static herr_t -H5D_btree_idx_dest(const H5D_chk_idx_info_t *idx_info) +H5D__btree_idx_dest(const H5D_chk_idx_info_t *idx_info) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(idx_info); HDassert(idx_info->f); @@ -1771,7 +1768,7 @@ H5D_btree_idx_dest(const H5D_chk_idx_info_t *idx_info) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_btree_idx_dest() */ +} /* end H5D__btree_idx_dest() */ /*------------------------------------------------------------------------- @@ -1802,7 +1799,7 @@ H5D_btree_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream, int indent storage.idx_type = H5D_CHUNK_IDX_BTREE; /* Allocate the shared structure */ - if(H5D_btree_shared_create(f, &storage, ndims) < 0) + if(H5D__btree_shared_create(f, &storage, ndims) < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info") shared_init = TRUE; diff --git a/src/H5Dbtree2.c b/src/H5Dbtree2.c index 27119fc..56d8bcf 100644 --- a/src/H5Dbtree2.c +++ b/src/H5Dbtree2.c @@ -502,7 +502,7 @@ H5D_bt2_crt_flush_dep(void *_record, void *_udata, void *parent) * dependencies on. This should only happen when copying */ if(udata->rdcc) /* Delegate to chunk routine */ - if(H5D_chunk_create_flush_dep(udata->rdcc, udata->layout, record->offset, parent) < 0) + if(H5D__chunk_create_flush_dep(udata->rdcc, udata->layout, record->offset, parent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEPEND, FAIL, "unable to create flush dependency") done: @@ -545,7 +545,7 @@ H5D_bt2_upd_flush_dep(void *_record, void *_udata, void *old_parent, * dependencies. This should only happen when copying */ if(udata->rdcc) /* Delegate to chunk routine */ - if(H5D_chunk_update_flush_dep(udata->rdcc, udata->layout, record->offset, old_parent, new_parent) < 0) + if(H5D__chunk_update_flush_dep(udata->rdcc, udata->layout, record->offset, old_parent, new_parent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEPEND, FAIL, "unable to update flush dependency") done: @@ -752,7 +752,7 @@ H5D_bt2_filt_crt_flush_dep(void *_record, void *_udata, void *parent) * dependencies on. This should only happen when copying */ if(udata->rdcc) /* Delegate to chunk routine */ - if(H5D_chunk_create_flush_dep(udata->rdcc, udata->layout, record->offset, parent) < 0) + if(H5D__chunk_create_flush_dep(udata->rdcc, udata->layout, record->offset, parent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEPEND, FAIL, "unable to create flush dependency") done: @@ -795,7 +795,7 @@ H5D_bt2_filt_upd_flush_dep(void *_record, void *_udata, void *old_parent, * dependencies. This should only happen when copying */ if(udata->rdcc) /* Delegate to chunk routine */ - if(H5D_chunk_update_flush_dep(udata->rdcc, udata->layout, record->offset, old_parent, new_parent) < 0) + if(H5D__chunk_update_flush_dep(udata->rdcc, udata->layout, record->offset, old_parent, new_parent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEPEND, FAIL, "unable to update flush dependency") done: diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index aff686c..21f867c 100644 --- a/src/H5Dchunk.c +++ b/src/H5Dchunk.c @@ -176,52 +176,58 @@ typedef struct H5D_chunk_readvv_ud_t { /********************/ /* Chunked layout operation callbacks */ -static herr_t H5D_chunk_construct(H5F_t *f, H5D_t *dset); -static herr_t H5D_chunk_io_init(const H5D_io_info_t *io_info, +static herr_t H5D__chunk_construct(H5F_t *f, H5D_t *dset); +static herr_t H5D__chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); -static herr_t H5D_chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +static herr_t H5D__chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); -static herr_t H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +static herr_t H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); -static herr_t H5D_chunk_flush(H5D_t *dset, hid_t dxpl_id); -static herr_t H5D_chunk_io_term(const H5D_chunk_map_t *fm); +static herr_t H5D__chunk_flush(H5D_t *dset, hid_t dxpl_id); +static herr_t H5D__chunk_io_term(const H5D_chunk_map_t *fm); +static herr_t H5D__chunk_cinfo_cache_reset(H5D_chunk_cached_t *last); /* "Nonexistent" layout operation callback */ static ssize_t -H5D_nonexistent_readvv(const H5D_io_info_t *io_info, +H5D__nonexistent_readvv(const H5D_io_info_t *io_info, size_t chunk_max_nseq, size_t *chunk_curr_seq, size_t chunk_len_arr[], hsize_t chunk_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_offset_arr[]); /* Helper routines */ -static herr_t H5D_chunk_set_info_real(H5O_layout_chunk_t *layout, unsigned ndims, +static herr_t H5D__chunk_set_info_real(H5O_layout_chunk_t *layout, unsigned ndims, const hsize_t *curr_dims, const hsize_t *max_dims); -static void *H5D_chunk_alloc(size_t size, const H5O_pline_t *pline); -static void *H5D_chunk_xfree(void *chk, const H5O_pline_t *pline); -static void *H5D_chunk_realloc(void *chk, size_t size, +static void *H5D__chunk_alloc(size_t size, const H5O_pline_t *pline); +static void *H5D__chunk_xfree(void *chk, const H5O_pline_t *pline); +static void *H5D__chunk_realloc(void *chk, size_t size, const H5O_pline_t *pline); -static herr_t H5D_chunk_cinfo_cache_update(H5D_chunk_cached_t *last, +static herr_t H5D__chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *udata); -static herr_t H5D_free_chunk_info(void *item, void *key, void *opdata); -static herr_t H5D_create_chunk_map_single(H5D_chunk_map_t *fm, +static hbool_t H5D__chunk_cinfo_cache_found(const H5D_chunk_cached_t *last, + H5D_chunk_ud_t *udata); +static herr_t H5D__free_chunk_info(void *item, void *key, void *opdata); +static herr_t H5D__create_chunk_map_single(H5D_chunk_map_t *fm, const H5D_io_info_t *io_info); -static herr_t H5D_create_chunk_file_map_hyper(H5D_chunk_map_t *fm, +static herr_t H5D__create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t *io_info); -static herr_t H5D_create_chunk_mem_map_hyper(const H5D_chunk_map_t *fm); -static herr_t H5D_chunk_file_cb(void *elem, hid_t type_id, unsigned ndims, +static herr_t H5D__create_chunk_mem_map_hyper(const H5D_chunk_map_t *fm); +static herr_t H5D__chunk_file_cb(void *elem, hid_t type_id, unsigned ndims, const hsize_t *coords, void *fm); -static herr_t H5D_chunk_mem_cb(void *elem, hid_t type_id, unsigned ndims, +static herr_t H5D__chunk_mem_cb(void *elem, hid_t type_id, unsigned ndims, const hsize_t *coords, void *fm); -static herr_t H5D_chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id, +static herr_t H5D__chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t *dxpl_cache, H5D_rdcc_ent_t *ent, hbool_t flush); -static htri_t H5D_chunk_is_partial_edge_chunk(const hsize_t offset[], +static htri_t H5D__chunk_is_partial_edge_chunk(const hsize_t offset[], const H5D_t *dset, unsigned dset_ndims, const hsize_t *dset_dims, const uint32_t *chunk_dims); -static herr_t H5D_chunk_find_flush_dep(const H5D_rdcc_t *rdcc, +static herr_t H5D__chunk_find_flush_dep(const H5D_rdcc_t *rdcc, const H5O_layout_chunk_t *layout, const hsize_t offset[], H5D_rdcc_ent_t **ent); +static herr_t H5D__chunk_cache_prune(const H5D_t *dset, hid_t dxpl_id, + const H5D_dxpl_cache_t *dxpl_cache, size_t size); +static herr_t H5D__chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk); /*********************/ @@ -230,20 +236,20 @@ static herr_t H5D_chunk_find_flush_dep(const H5D_rdcc_t *rdcc, /* Chunked storage layout I/O ops */ const H5D_layout_ops_t H5D_LOPS_CHUNK[1] = {{ - H5D_chunk_construct, - H5D_chunk_init, - H5D_chunk_is_space_alloc, - H5D_chunk_io_init, - H5D_chunk_read, - H5D_chunk_write, + H5D__chunk_construct, + H5D__chunk_init, + H5D__chunk_is_space_alloc, + H5D__chunk_io_init, + H5D__chunk_read, + H5D__chunk_write, #ifdef H5_HAVE_PARALLEL - H5D_chunk_collective_read, - H5D_chunk_collective_write, + H5D__chunk_collective_read, + H5D__chunk_collective_write, #endif /* H5_HAVE_PARALLEL */ NULL, NULL, - H5D_chunk_flush, - H5D_chunk_io_term + H5D__chunk_flush, + H5D__chunk_io_term }}; @@ -263,7 +269,7 @@ const H5D_layout_ops_t H5D_LOPS_NONEXISTENT[1] = {{ NULL, NULL, #endif /* H5_HAVE_PARALLEL */ - H5D_nonexistent_readvv, + H5D__nonexistent_readvv, NULL, NULL, NULL @@ -284,7 +290,7 @@ H5FL_BLK_DEFINE_STATIC(chunk); /*------------------------------------------------------------------------- - * Function: H5D_chunk_set_info_real + * Function: H5D__chunk_set_info_real * * Purpose: Internal routine to set the information about chunks for a dataset * @@ -296,12 +302,13 @@ H5FL_BLK_DEFINE_STATIC(chunk); *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_set_info_real(H5O_layout_chunk_t *layout, unsigned ndims, const hsize_t *curr_dims, const hsize_t *max_dims) +H5D__chunk_set_info_real(H5O_layout_chunk_t *layout, unsigned ndims, + const hsize_t *curr_dims, const hsize_t *max_dims) { unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity checks */ HDassert(layout); @@ -327,11 +334,11 @@ H5D_chunk_set_info_real(H5O_layout_chunk_t *layout, unsigned ndims, const hsize_ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_set_info_real() */ +} /* end H5D__chunk_set_info_real() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_set_info + * Function: H5D__chunk_set_info * * Purpose: Sets the information about chunks for a dataset * @@ -343,7 +350,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_set_info(const H5D_t *dset) +H5D__chunk_set_info(const H5D_t *dset) { hsize_t curr_dims[H5O_LAYOUT_NDIMS]; /* Curr. size of dataset dimensions */ hsize_t max_dims[H5O_LAYOUT_NDIMS]; /* Max. size of dataset dimensions */ @@ -351,7 +358,7 @@ H5D_chunk_set_info(const H5D_t *dset) unsigned ndims; /* Rank of dataspace */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity checks */ HDassert(dset); @@ -362,7 +369,7 @@ H5D_chunk_set_info(const H5D_t *dset) H5_ASSIGN_OVERFLOW(ndims, sndims, int, unsigned); /* Set the base layout information */ - if(H5D_chunk_set_info_real(&dset->shared->layout.u.chunk, ndims, curr_dims, max_dims) < 0) + if(H5D__chunk_set_info_real(&dset->shared->layout.u.chunk, ndims, curr_dims, max_dims) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set layout's chunk info") /* Call the index's "resize" callback */ @@ -371,11 +378,11 @@ H5D_chunk_set_info(const H5D_t *dset) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_set_info() */ +} /* end H5D__chunk_set_info() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_construct + * Function: H5D__chunk_construct * * Purpose: Constructs new chunked layout information for dataset * @@ -387,7 +394,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_construct(H5F_t UNUSED *f, H5D_t *dset) +H5D__chunk_construct(H5F_t UNUSED *f, H5D_t *dset) { const H5T_t *type = dset->shared->type; /* Convenience pointer to dataset's datatype */ hsize_t max_dims[H5O_LAYOUT_NDIMS]; /* Maximum size of data in elements */ @@ -397,7 +404,7 @@ H5D_chunk_construct(H5F_t UNUSED *f, H5D_t *dset) unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity checks */ HDassert(f); @@ -462,11 +469,11 @@ H5D_chunk_construct(H5F_t UNUSED *f, H5D_t *dset) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_construct() */ +} /* end H5D__chunk_construct() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_init + * Function: H5D__chunk_init * * Purpose: Initialize the raw data chunk cache for a dataset. This is * called when the dataset is initialized. @@ -479,14 +486,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_init(H5F_t *f, hid_t dxpl_id, const H5D_t *dset, hid_t dapl_id) +H5D__chunk_init(H5F_t *f, hid_t dxpl_id, const H5D_t *dset, hid_t dapl_id) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /* Convenience pointer to dataset's chunk cache */ H5P_genplist_t *dapl; /* Data access property list object pointer */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(f); @@ -530,7 +537,7 @@ H5D_chunk_init(H5F_t *f, hid_t dxpl_id, const H5D_t *dset, hid_t dapl_id) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed") /* Reset any cached chunk info for this dataset */ - H5D_chunk_cinfo_cache_reset(&(rdcc->last)); + H5D__chunk_cinfo_cache_reset(&(rdcc->last)); } /* end else */ /* Compose chunked index info struct */ @@ -545,16 +552,16 @@ H5D_chunk_init(H5F_t *f, hid_t dxpl_id, const H5D_t *dset, hid_t dapl_id) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't initialize indexing information") /* Set the number of chunks in dataset, etc. */ - if(H5D_chunk_set_info(dset) < 0) + if(H5D__chunk_set_info(dset) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set # of chunks for dataset") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_init() */ +} /* end H5D__chunk_init() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_is_space_alloc + * Function: H5D__chunk_is_space_alloc * * Purpose: Query if space is allocated for layout * @@ -566,11 +573,11 @@ done: *------------------------------------------------------------------------- */ hbool_t -H5D_chunk_is_space_alloc(const H5O_storage_t *storage) +H5D__chunk_is_space_alloc(const H5O_storage_t *storage) { hbool_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity checks */ HDassert(storage); @@ -589,11 +596,11 @@ H5D_chunk_is_space_alloc(const H5O_storage_t *storage) ret_value = (storage->u.chunk.ops->is_space_alloc)(&storage->u.chunk); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_is_space_alloc() */ +} /* end H5D__chunk_is_space_alloc() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_io_init + * Function: H5D__chunk_io_init * * Purpose: Performs initialization before any sort of I/O on the raw data * @@ -605,7 +612,7 @@ H5D_chunk_is_space_alloc(const H5O_storage_t *storage) *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm) { @@ -625,7 +632,7 @@ H5D_chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info hbool_t sel_hyper_flag; herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Get layout for dataset */ fm->layout = &(dataset->shared->layout); @@ -716,7 +723,7 @@ H5D_chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info fm->mchunk_tmpl = NULL; /* Set up chunk mapping for single element */ - if(H5D_create_chunk_map_single(fm, io_info) < 0) + if(H5D__create_chunk_map_single(fm, io_info) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create chunk selections for single element") } /* end if */ else { @@ -746,7 +753,7 @@ H5D_chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info /* Check if file selection is a not a hyperslab selection */ if(sel_hyper_flag) { /* Build the file selection for each chunk */ - if(H5D_create_chunk_file_map_hyper(fm, io_info) < 0) + if(H5D__create_chunk_file_map_hyper(fm, io_info) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create file chunk selections") /* Clean file chunks' hyperslab span "scratch" information */ @@ -772,7 +779,7 @@ H5D_chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register file datatype") /* Spaces might not be the same shape, iterate over the file selection directly */ - if(H5S_select_iterate(&bogus, f_tid, file_space, H5D_chunk_file_cb, fm) < 0) + if(H5S_select_iterate(&bogus, f_tid, file_space, H5D__chunk_file_cb, fm) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create file chunk selections") /* Reset "last chunk" info */ @@ -788,7 +795,7 @@ H5D_chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info /* If the selections are the same shape, use the file chunk information * to generate the memory chunk information quickly. */ - if(H5D_create_chunk_mem_map_hyper(fm) < 0) + if(H5D__create_chunk_mem_map_hyper(fm) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create memory chunk selections") } /* end if */ else { @@ -819,7 +826,7 @@ H5D_chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info iter_init = TRUE; /* Selection iteration info has been initialized */ /* Spaces aren't the same shape, iterate over the memory selection directly */ - if(H5S_select_iterate(&bogus, f_tid, file_space, H5D_chunk_mem_cb, fm) < 0) + if(H5S_select_iterate(&bogus, f_tid, file_space, H5D__chunk_mem_cb, fm) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create memory chunk selections") /* Clean up hyperslab stuff, if necessary */ @@ -852,7 +859,7 @@ done: HDONE_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "can't release memory chunk dataspace template") } /* end if */ - if(H5D_chunk_io_term(fm) < 0) + if(H5D__chunk_io_term(fm) < 0) HDONE_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release chunk mapping") } /* end if */ @@ -871,11 +878,11 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_io_init() */ +} /* end H5D__chunk_io_init() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_alloc + * Function: H5D__chunk_alloc * * Purpose: Allocate space for a chunk in memory. This routine allocates * memory space for non-filtered chunks from a block free list @@ -889,11 +896,11 @@ done: *------------------------------------------------------------------------- */ static void * -H5D_chunk_alloc(size_t size, const H5O_pline_t *pline) +H5D__chunk_alloc(size_t size, const H5O_pline_t *pline) { void *ret_value = NULL; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(size); @@ -903,11 +910,11 @@ H5D_chunk_alloc(size_t size, const H5O_pline_t *pline) ret_value = H5FL_BLK_MALLOC(chunk, size); FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_alloc() */ +} /* H5D__chunk_alloc() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_xfree + * Function: H5D__chunk_xfree * * Purpose: Free space for a chunk in memory. This routine allocates * memory space for non-filtered chunks from a block free list @@ -921,9 +928,9 @@ H5D_chunk_alloc(size_t size, const H5O_pline_t *pline) *------------------------------------------------------------------------- */ static void * -H5D_chunk_xfree(void *chk, const H5O_pline_t *pline) +H5D__chunk_xfree(void *chk, const H5O_pline_t *pline) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR if(chk) { if(pline && pline->nused) @@ -933,11 +940,11 @@ H5D_chunk_xfree(void *chk, const H5O_pline_t *pline) } /* end if */ FUNC_LEAVE_NOAPI(NULL) -} /* H5D_chunk_xfree() */ +} /* H5D__chunk_xfree() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_realloc + * Function: H5D__chunk_realloc * * Purpose: Reallocate space for a chunk in memory. This routine allocates * memory space for non-filtered chunks from a block free list @@ -951,11 +958,11 @@ H5D_chunk_xfree(void *chk, const H5O_pline_t *pline) *------------------------------------------------------------------------- */ static void * -H5D_chunk_realloc(void *chk, size_t size, const H5O_pline_t *pline) +H5D__chunk_realloc(void *chk, size_t size, const H5O_pline_t *pline) { void *ret_value = NULL; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(size); HDassert(pline); @@ -966,16 +973,16 @@ H5D_chunk_realloc(void *chk, size_t size, const H5O_pline_t *pline) ret_value = H5FL_BLK_REALLOC(chunk, chk, size); FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_realloc() */ +} /* H5D__chunk_realloc() */ /*-------------------------------------------------------------------------- NAME - H5D_free_chunk_info + H5D__free_chunk_info PURPOSE Internal routine to destroy a chunk info node USAGE - void H5D_free_chunk_info(chunk_info) + void H5D__free_chunk_info(chunk_info) void *chunk_info; IN: Pointer to chunk info to destroy RETURNS No return value @@ -987,11 +994,11 @@ H5D_chunk_realloc(void *chk, size_t size, const H5O_pline_t *pline) REVISION LOG --------------------------------------------------------------------------*/ static herr_t -H5D_free_chunk_info(void *item, void UNUSED *key, void UNUSED *opdata) +H5D__free_chunk_info(void *item, void UNUSED *key, void UNUSED *opdata) { H5D_chunk_info_t *chunk_info = (H5D_chunk_info_t *)item; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(chunk_info); @@ -1009,11 +1016,11 @@ H5D_free_chunk_info(void *item, void UNUSED *key, void UNUSED *opdata) chunk_info = H5FL_FREE(H5D_chunk_info_t, chunk_info); FUNC_LEAVE_NOAPI(0) -} /* H5D_free_chunk_info() */ +} /* H5D__free_chunk_info() */ /*------------------------------------------------------------------------- - * Function: H5D_create_chunk_map_single + * Function: H5D__create_chunk_map_single * * Purpose: Create chunk selections when appending a single record * @@ -1025,7 +1032,7 @@ H5D_free_chunk_info(void *item, void UNUSED *key, void UNUSED *opdata) *------------------------------------------------------------------------- */ static herr_t -H5D_create_chunk_map_single(H5D_chunk_map_t *fm, const H5D_io_info_t +H5D__create_chunk_map_single(H5D_chunk_map_t *fm, const H5D_io_info_t #ifndef H5_HAVE_PARALLEL UNUSED #endif /* H5_HAVE_PARALLEL */ @@ -1037,7 +1044,7 @@ H5D_create_chunk_map_single(H5D_chunk_map_t *fm, const H5D_io_info_t unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity check */ HDassert(fm->f_ndims > 0); @@ -1090,11 +1097,11 @@ H5D_create_chunk_map_single(H5D_chunk_map_t *fm, const H5D_io_info_t done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_create_chunk_map_single() */ +} /* end H5D__create_chunk_map_single() */ /*------------------------------------------------------------------------- - * Function: H5D_create_chunk_file_map_hyper + * Function: H5D__create_chunk_file_map_hyper * * Purpose: Create all chunk selections in file. * @@ -1106,7 +1113,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t +H5D__create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t #ifndef H5_HAVE_PARALLEL UNUSED #endif /* H5_HAVE_PARALLEL */ @@ -1123,7 +1130,7 @@ H5D_create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity check */ assert(fm->f_ndims>0); @@ -1217,7 +1224,7 @@ H5D_create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t /* Insert the new chunk into the skip list */ if(H5SL_insert(fm->sel_chunks, new_chunk_info, &new_chunk_info->index) < 0) { - H5D_free_chunk_info(new_chunk_info, NULL, NULL); + H5D__free_chunk_info(new_chunk_info, NULL, NULL); HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINSERT, FAIL, "can't insert chunk into skip list") } /* end if */ @@ -1268,11 +1275,11 @@ H5D_create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_create_chunk_file_map_hyper() */ +} /* end H5D__create_chunk_file_map_hyper() */ /*------------------------------------------------------------------------- - * Function: H5D_create_chunk_mem_map_hyper + * Function: H5D__create_chunk_mem_map_hyper * * Purpose: Create all chunk selections in memory by copying the file * chunk selections and adjusting their offsets to be correct @@ -1288,7 +1295,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_create_chunk_mem_map_hyper(const H5D_chunk_map_t *fm) +H5D__create_chunk_mem_map_hyper(const H5D_chunk_map_t *fm) { H5SL_node_t *curr_node; /* Current node in skip list */ hsize_t file_sel_start[H5O_LAYOUT_NDIMS]; /* Offset of low bound of file selection */ @@ -1300,7 +1307,7 @@ H5D_create_chunk_mem_map_hyper(const H5D_chunk_map_t *fm) unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity check */ assert(fm->f_ndims>0); @@ -1380,11 +1387,11 @@ H5D_create_chunk_mem_map_hyper(const H5D_chunk_map_t *fm) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_create_chunk_mem_map_hyper() */ +} /* end H5D__create_chunk_mem_map_hyper() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_file_cb + * Function: H5D__chunk_file_cb * * Purpose: Callback routine for file selection iterator. Used when * creating selections in file for each point selected. @@ -1397,7 +1404,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_file_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const hsize_t *coords, void *_fm) +H5D__chunk_file_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const hsize_t *coords, void *_fm) { H5D_chunk_map_t *fm = (H5D_chunk_map_t *)_fm; /* File<->memory chunk mapping info */ H5D_chunk_info_t *chunk_info; /* Chunk information for current chunk */ @@ -1406,7 +1413,7 @@ H5D_chunk_file_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Calculate the index of this chunk */ if(H5V_chunk_index(ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks, &chunk_index) < 0) @@ -1469,7 +1476,7 @@ H5D_chunk_file_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const /* Insert the new chunk into the skip list */ if(H5SL_insert(fm->sel_chunks,chunk_info,&chunk_info->index) < 0) { - H5D_free_chunk_info(chunk_info,NULL,NULL); + H5D__free_chunk_info(chunk_info,NULL,NULL); HGOTO_ERROR(H5E_DATASPACE,H5E_CANTINSERT,FAIL,"can't insert chunk into skip list") } /* end if */ } /* end if */ @@ -1492,11 +1499,11 @@ H5D_chunk_file_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_file_cb() */ +} /* end H5D__chunk_file_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_mem_cb + * Function: H5D__chunk_mem_cb * * Purpose: Callback routine for file selection iterator. Used when * creating selections in memory for each chunk. @@ -1510,7 +1517,7 @@ done: */ /* ARGSUSED */ static herr_t -H5D_chunk_mem_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const hsize_t *coords, void *_fm) +H5D__chunk_mem_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const hsize_t *coords, void *_fm) { H5D_chunk_map_t *fm = (H5D_chunk_map_t *)_fm; /* File<->memory chunk mapping info */ H5D_chunk_info_t *chunk_info; /* Chunk information for current chunk */ @@ -1518,7 +1525,7 @@ H5D_chunk_mem_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const hsize_t chunk_index; /* Chunk index */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Calculate the index of this chunk */ if(H5V_chunk_index(ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks, &chunk_index) < 0) @@ -1571,11 +1578,11 @@ H5D_chunk_mem_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_mem_cb() */ +} /* end H5D__chunk_mem_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_cacheable + * Function: H5D__chunk_cacheable * * Purpose: A small internal function to if it's possible to load the * chunk into cache. @@ -1588,13 +1595,13 @@ done: *------------------------------------------------------------------------- */ htri_t -H5D_chunk_cacheable(const H5D_io_info_t *io_info, haddr_t caddr, hbool_t write_op) +H5D__chunk_cacheable(const H5D_io_info_t *io_info, haddr_t caddr, hbool_t write_op) { const H5D_t *dataset = io_info->dset; htri_t no_filters = TRUE; htri_t ret_value = FAIL; - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE HDassert(io_info); HDassert(dataset); @@ -1605,9 +1612,8 @@ H5D_chunk_cacheable(const H5D_io_info_t *io_info, haddr_t caddr, hbool_t write_o if(dataset->shared->dcpl_cache.pline.nused > 0) { if(dataset->shared->layout.u.chunk.flags & H5O_LAYOUT_CHUNK_DONT_FILTER_PARTIAL_BOUND_CHUNKS) { - if((no_filters = H5D_chunk_is_partial_edge_chunk( - io_info->store->chunk.offset, io_info->dset, 0, NULL, NULL)) - < 0) + if((no_filters = H5D__chunk_is_partial_edge_chunk( + io_info->store->chunk.offset, io_info->dset, 0, NULL, NULL)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to determine if chunk is edge chunk") } /* end if */ else @@ -1660,11 +1666,11 @@ H5D_chunk_cacheable(const H5D_io_info_t *io_info, haddr_t caddr, hbool_t write_o done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_cacheable() */ +} /* end H5D__chunk_cacheable() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_read + * Function: H5D__chunk_read * * Purpose: Read from a chunked dataset. * @@ -1676,7 +1682,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t UNUSED nelmts, const H5S_t UNUSED *file_space, const H5S_t UNUSED *mem_space, H5D_chunk_map_t *fm) { @@ -1691,7 +1697,7 @@ H5D_chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hbool_t skip_missing_chunks = FALSE; /* Whether to skip missing chunks */ herr_t ret_value = SUCCEED; /*return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity check */ HDassert(io_info); @@ -1748,7 +1754,7 @@ H5D_chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, chunk_info = H5D_CHUNK_GET_NODE_INFO(fm, chunk_node); /* Get the info for the chunk in the file */ - if(H5D_chunk_lookup(io_info->dset, io_info->dxpl_id, + if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, chunk_info->index, &udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address") @@ -1759,7 +1765,7 @@ H5D_chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, io_info->store->chunk.offset = chunk_info->coords; /* Determine if we should use the chunk cache */ - if((cacheable = H5D_chunk_cacheable(io_info, udata.addr, FALSE)) < 0) + if((cacheable = H5D__chunk_cacheable(io_info, udata.addr, FALSE)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't tell if chunk is cacheable") if(cacheable) { @@ -1772,7 +1778,7 @@ H5D_chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, src_accessed_bytes = chunk_info->chunk_points * (uint32_t)type_info->src_type_size; /* Lock the chunk into the cache */ - if(NULL == (chunk = H5D_chunk_lock(io_info, &udata, FALSE, FALSE))) + if(NULL == (chunk = H5D__chunk_lock(io_info, &udata, FALSE, FALSE))) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to read raw data chunk") /* Set up the storage buffer information for this chunk */ @@ -1805,7 +1811,7 @@ H5D_chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "chunked read failed") /* Release the cache lock on the chunk. */ - if(chunk && H5D_chunk_unlock(io_info, &udata, FALSE, chunk, src_accessed_bytes) < 0) + if(chunk && H5D__chunk_unlock(io_info, &udata, FALSE, chunk, src_accessed_bytes) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to unlock raw data chunk") } /* end if */ @@ -1815,11 +1821,11 @@ H5D_chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_read() */ +} /* H5D__chunk_read() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_write + * Function: H5D__chunk_write * * Purpose: Writes to a chunked dataset. * @@ -1831,7 +1837,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t UNUSED nelmts, const H5S_t UNUSED *file_space, const H5S_t UNUSED *mem_space, H5D_chunk_map_t *fm) { @@ -1844,7 +1850,7 @@ H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, uint32_t dst_accessed_bytes = 0; /* Total accessed size in a chunk */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity check */ HDassert(io_info); @@ -1881,7 +1887,7 @@ H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, chunk_info = H5D_CHUNK_GET_NODE_INFO(fm, chunk_node); /* Look up the chunk */ - if(H5D_chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, + if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, chunk_info->index, &udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address") @@ -1889,7 +1895,7 @@ H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, io_info->store->chunk.offset = chunk_info->coords; /* Determine if we should use the chunk cache */ - if((cacheable = H5D_chunk_cacheable(io_info, udata.addr, TRUE)) < 0) + if((cacheable = H5D__chunk_cacheable(io_info, udata.addr, TRUE)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't tell if chunk is cacheable") if(cacheable) { @@ -1910,7 +1916,7 @@ H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, entire_chunk = FALSE; /* Lock the chunk into the cache */ - if(NULL == (chunk = H5D_chunk_lock(io_info, &udata, entire_chunk, FALSE))) + if(NULL == (chunk = H5D__chunk_lock(io_info, &udata, entire_chunk, FALSE))) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to read raw data chunk") /* Set up the storage buffer information for this chunk */ @@ -1943,7 +1949,7 @@ H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "chunk address isn't defined") /* Cache the new chunk information */ - H5D_chunk_cinfo_cache_update(&io_info->dset->shared->cache.chunk.last, &udata); + H5D__chunk_cinfo_cache_update(&io_info->dset->shared->cache.chunk.last, &udata); } /* end if */ /* Set up the storage address information for this chunk */ @@ -1962,7 +1968,7 @@ H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "chunked write failed") /* Release the cache lock on the chunk. */ - if(chunk && H5D_chunk_unlock(io_info, &udata, TRUE, chunk, dst_accessed_bytes) < 0) + if(chunk && H5D__chunk_unlock(io_info, &udata, TRUE, chunk, dst_accessed_bytes) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to unlock raw data chunk") /* Advance to next chunk in list */ @@ -1971,11 +1977,11 @@ H5D_chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_write() */ +} /* H5D__chunk_write() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_flush + * Function: H5D__chunk_flush * * Purpose: Writes all dirty chunks to disk and optionally preempts them * from the cache. @@ -1988,7 +1994,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_flush(H5D_t *dset, hid_t dxpl_id) +H5D__chunk_flush(H5D_t *dset, hid_t dxpl_id) { H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */ H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */ @@ -1997,23 +2003,23 @@ H5D_chunk_flush(H5D_t *dset, hid_t dxpl_id) unsigned nerrors = 0; /* Count of any errors encountered when flushing chunks */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity check */ HDassert(dset); /* Flush any data caught in sieve buffer */ - if(H5D_flush_sieve_buf(dset, dxpl_id) < 0) + if(H5D__flush_sieve_buf(dset, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFLUSH, FAIL, "unable to flush sieve buffer") /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Loop over all entries in the chunk cache */ for(ent = rdcc->head; ent; ent = next) { next = ent->next; - if(H5D_chunk_flush_entry(dset, dxpl_id, dxpl_cache, ent, FALSE) < 0) + if(H5D__chunk_flush_entry(dset, dxpl_id, dxpl_cache, ent, FALSE) < 0) nerrors++; } /* end for */ if(nerrors) @@ -2021,11 +2027,11 @@ H5D_chunk_flush(H5D_t *dset, hid_t dxpl_id) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_flush() */ +} /* end H5D__chunk_flush() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_io_term + * Function: H5D__chunk_io_term * * Purpose: Destroy I/O operation information. * @@ -2037,11 +2043,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_io_term(const H5D_chunk_map_t *fm) +H5D__chunk_io_term(const H5D_chunk_map_t *fm) { herr_t ret_value = SUCCEED; /*return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Single element I/O vs. multiple element I/O cleanup */ if(fm->use_single) { @@ -2057,7 +2063,7 @@ H5D_chunk_io_term(const H5D_chunk_map_t *fm) else { /* Release the nodes on the list of selected chunks */ if(fm->sel_chunks) - if(H5SL_free(fm->sel_chunks, H5D_free_chunk_info, NULL) < 0) + if(H5SL_free(fm->sel_chunks, H5D__free_chunk_info, NULL) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTNEXT, FAIL, "can't iterate over chunks") } /* end else */ @@ -2072,7 +2078,7 @@ H5D_chunk_io_term(const H5D_chunk_map_t *fm) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_io_term() */ +} /* end H5D__chunk_io_term() */ /*------------------------------------------------------------------------- @@ -2118,7 +2124,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5D_chunk_cinfo_cache_reset + * Function: H5D__chunk_cinfo_cache_reset * * Purpose: Reset the cached chunk info * @@ -2130,9 +2136,9 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_cinfo_cache_reset(H5D_chunk_cached_t *last) +H5D__chunk_cinfo_cache_reset(H5D_chunk_cached_t *last) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity check */ HDassert(last); @@ -2141,11 +2147,11 @@ H5D_chunk_cinfo_cache_reset(H5D_chunk_cached_t *last) last->valid = FALSE; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5D_chunk_cinfo_cache_reset() */ +} /* H5D__chunk_cinfo_cache_reset() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_cinfo_cache_update + * Function: H5D__chunk_cinfo_cache_update * * Purpose: Update the cached chunk info * @@ -2157,11 +2163,11 @@ H5D_chunk_cinfo_cache_reset(H5D_chunk_cached_t *last) *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *udata) +H5D__chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *udata) { unsigned u; /* Local index variable */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* Sanity check */ HDassert(last); @@ -2181,11 +2187,11 @@ H5D_chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *uda last->valid = TRUE; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5D_chunk_cinfo_cache_update() */ +} /* H5D__chunk_cinfo_cache_update() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_cinfo_cache_found + * Function: H5D__chunk_cinfo_cache_found * * Purpose: Look for chunk info in cache * @@ -2197,11 +2203,11 @@ H5D_chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *uda *------------------------------------------------------------------------- */ static hbool_t -H5D_chunk_cinfo_cache_found(const H5D_chunk_cached_t *last, H5D_chunk_ud_t *udata) +H5D__chunk_cinfo_cache_found(const H5D_chunk_cached_t *last, H5D_chunk_ud_t *udata) { hbool_t ret_value = FALSE; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* Sanity check */ HDassert(last); @@ -2230,11 +2236,11 @@ H5D_chunk_cinfo_cache_found(const H5D_chunk_cached_t *last, H5D_chunk_ud_t *udat done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_cinfo_cache_found() */ +} /* H5D__chunk_cinfo_cache_found() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_create + * Function: H5D__chunk_create * * Purpose: Creates a new chunked storage index and initializes the * layout information with information about the storage. The @@ -2249,12 +2255,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_create(H5D_t *dset /*in,out*/, hid_t dxpl_id) +H5D__chunk_create(H5D_t *dset /*in,out*/, hid_t dxpl_id) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(dset); @@ -2292,11 +2298,11 @@ H5D_chunk_create(H5D_t *dset /*in,out*/, hid_t dxpl_id) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_create() */ +} /* end H5D__chunk_create() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_lookup + * Function: H5D__chunk_lookup * * Purpose: Loops up a chunk in cache and on disk, and retrieves * information about that chunk. @@ -2309,7 +2315,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset, +H5D__chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset, hsize_t chunk_idx, H5D_chunk_ud_t *udata) { H5D_rdcc_ent_t *ent = NULL; /* Cache entry */ @@ -2317,7 +2323,7 @@ H5D_chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset, unsigned u; /* Counter */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE HDassert(dset); HDassert(dset->shared->layout.u.chunk.ndims > 0); @@ -2368,7 +2374,7 @@ H5D_chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset, udata->idx_hint = UINT_MAX; /* Check for cached information */ - if(!H5D_chunk_cinfo_cache_found(&dset->shared->cache.chunk.last, udata)) { + if(!H5D__chunk_cinfo_cache_found(&dset->shared->cache.chunk.last, udata)) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ /* Compose chunked index info struct */ @@ -2383,17 +2389,17 @@ H5D_chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset, HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't query chunk address") /* Cache the information retrieved */ - H5D_chunk_cinfo_cache_update(&dset->shared->cache.chunk.last, udata); + H5D__chunk_cinfo_cache_update(&dset->shared->cache.chunk.last, udata); } /* end if */ } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_lookup() */ +} /* H5D__chunk_lookup() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_flush_entry + * Function: H5D__chunk_flush_entry * * Purpose: Writes a chunk to disk. If RESET is non-zero then the * entry is cleared -- it's slightly faster to flush a chunk if @@ -2408,14 +2414,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t *dxpl_cache, +H5D__chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t *dxpl_cache, H5D_rdcc_ent_t *ent, hbool_t reset) { void *buf = NULL; /* Temporary buffer */ hbool_t point_of_no_return = FALSE; herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, dset->oloc.addr, FAIL) + FUNC_ENTER_STATIC_TAG(dxpl_id, dset->oloc.addr, FAIL) HDassert(dset); HDassert(dset->shared); @@ -2539,7 +2545,7 @@ H5D_chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t * HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to write raw data to file") /* Cache the chunk's info, in case it's accessed again shortly */ - H5D_chunk_cinfo_cache_update(&dset->shared->cache.chunk.last, &udata); + H5D__chunk_cinfo_cache_update(&dset->shared->cache.chunk.last, &udata); /* Mark cache entry as clean */ ent->dirty = FALSE; @@ -2547,7 +2553,7 @@ H5D_chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t * /* Check for SWMR writes to the file */ if(dset->shared->layout.storage.u.chunk.ops->can_swim && (H5F_INTENT(dset->oloc.file) & H5F_ACC_SWMR_WRITE)) { /* Mark the proxy entry in the cache as clean */ - if(H5D_chunk_proxy_mark(ent, FALSE) < 0) + if(H5D__chunk_proxy_mark(ent, FALSE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTMARKDIRTY, FAIL, "can't mark proxy for chunk from metadata cache as clean") } /* end if */ @@ -2561,9 +2567,9 @@ H5D_chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t * if(buf == ent->chunk) buf = NULL; if(ent->chunk != NULL) - ent->chunk = (uint8_t *)H5D_chunk_xfree(ent->chunk, - (ent->edge_chunk_state & H5D_RDCC_DISABLE_FILTERS) ? NULL - : &(dset->shared->dcpl_cache.pline)); + ent->chunk = (uint8_t *)H5D__chunk_xfree(ent->chunk, + ((ent->edge_chunk_state & H5D_RDCC_DISABLE_FILTERS) ? NULL + : &(dset->shared->dcpl_cache.pline))); } /* end if */ done: @@ -2579,17 +2585,17 @@ done: */ if(ret_value < 0 && point_of_no_return) { if(ent->chunk) - ent->chunk = (uint8_t *)H5D_chunk_xfree(ent->chunk, - (ent->edge_chunk_state & H5D_RDCC_DISABLE_FILTERS) ? NULL - : &(dset->shared->dcpl_cache.pline)); + ent->chunk = (uint8_t *)H5D__chunk_xfree(ent->chunk, + ((ent->edge_chunk_state & H5D_RDCC_DISABLE_FILTERS) ? NULL + : &(dset->shared->dcpl_cache.pline))); } /* end if */ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_chunk_flush_entry() */ +} /* end H5D__chunk_flush_entry() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_cache_evict + * Function: H5D__chunk_cache_evict * * Purpose: Preempts the specified entry from the cache, flushing it to * disk if necessary. @@ -2602,13 +2608,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t *dxpl_cache, +H5D__chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t *dxpl_cache, H5D_rdcc_ent_t *ent, hbool_t flush) { H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(dset); HDassert(dxpl_cache); @@ -2618,21 +2624,21 @@ H5D_chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t * if(flush) { /* Flush */ - if(H5D_chunk_flush_entry(dset, dxpl_id, dxpl_cache, ent, TRUE) < 0) + if(H5D__chunk_flush_entry(dset, dxpl_id, dxpl_cache, ent, TRUE) < 0) HDONE_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "cannot flush indexed storage buffer") } /* end if */ else { /* Don't flush, just free chunk */ if(ent->chunk != NULL) - ent->chunk = (uint8_t *)H5D_chunk_xfree(ent->chunk, - (ent->edge_chunk_state & H5D_RDCC_DISABLE_FILTERS) ? NULL - : &(dset->shared->dcpl_cache.pline)); + ent->chunk = (uint8_t *)H5D__chunk_xfree(ent->chunk, + ((ent->edge_chunk_state & H5D_RDCC_DISABLE_FILTERS) ? NULL + : &(dset->shared->dcpl_cache.pline))); } /* end else */ /* Check for SWMR writes to the file */ if(dset->shared->layout.storage.u.chunk.ops->can_swim && (H5F_INTENT(dset->oloc.file) & H5F_ACC_SWMR_WRITE)) { /* Remove the proxy entry in the cache */ - if(H5D_chunk_proxy_remove(dset, dxpl_id, ent) < 0) + if(H5D__chunk_proxy_remove(dset, dxpl_id, ent) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "can't remove proxy for chunk from metadata cache") } /* end if */ @@ -2672,11 +2678,11 @@ H5D_chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t * ent = H5FL_FREE(H5D_rdcc_ent_t, ent); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_cache_evict() */ +} /* end H5D__chunk_cache_evict() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_cache_prune + * Function: H5D__chunk_cache_prune * * Purpose: Prune the cache by preempting some things until the cache has * room for something which is SIZE bytes. Only unlocked @@ -2690,7 +2696,7 @@ H5D_chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t * *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_cache_prune(const H5D_t *dset, hid_t dxpl_id, +H5D__chunk_cache_prune(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t *dxpl_cache, size_t size) { const H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); @@ -2702,7 +2708,7 @@ H5D_chunk_cache_prune(const H5D_t *dset, hid_t dxpl_id, int nerrors = 0; /* Accumulated error count during preemptions */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* * Preemption is accomplished by having multiple pointers (currently two) @@ -2763,7 +2769,7 @@ H5D_chunk_cache_prune(const H5D_t *dset, hid_t dxpl_id, if(n[j] == cur) n[j] = cur->next; } /* end for */ - if(H5D_chunk_cache_evict(dset, dxpl_id, dxpl_cache, cur, TRUE) < 0) + if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, cur, TRUE) < 0) nerrors++; } /* end if */ } /* end for */ @@ -2780,17 +2786,17 @@ H5D_chunk_cache_prune(const H5D_t *dset, hid_t dxpl_id, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_cache_prune() */ +} /* end H5D__chunk_cache_prune() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_lock + * Function: H5D__chunk_lock * * Purpose: Return a pointer to a dataset chunk. The pointer points * directly into the chunk cache and should not be freed * by the caller but will be valid until it is unlocked. The * input value IDX_HINT is used to speed up cache lookups and - * it's output value should be given to H5D_chunk_unlock(). + * it's output value should be given to H5D__chunk_unlock(). * IDX_HINT is ignored if it is out of range, and if it points * to the wrong entry then we fall back to the normal search * method. @@ -2811,11 +2817,11 @@ done: *------------------------------------------------------------------------- */ void * -H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, +H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, hbool_t relax, hbool_t prev_unfilt_chunk) { H5D_t *dset = io_info->dset; /* Local pointer to the dataset info */ - const H5O_pline_t *pline = &(dset->shared->dcpl_cache.pline); /* I/O pipeline info - always equal to the pline passed to H5D_chunk_alloc */ + const H5O_pline_t *pline = &(dset->shared->dcpl_cache.pline); /* I/O pipeline info - always equal to the pline passed to H5D__chunk_alloc */ const H5O_pline_t *old_pline = pline; /* Old pipeline, i.e. pipeline used to read the chunk */ const H5O_layout_t *layout = &(dset->shared->layout); /* Dataset layout */ const H5O_fill_t *fill = &(dset->shared->dcpl_cache.fill); /* Fill value info */ @@ -2831,7 +2837,7 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, unsigned u; /*counters */ void *ret_value; /*return value */ - FUNC_ENTER_NOAPI(NULL) + FUNC_ENTER_PACKAGE HDassert(io_info); HDassert(io_info->dxpl_cache); @@ -2884,12 +2890,12 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, * code is changed in an inappropriate/incomplete way. */ pline = NULL; - /* Reallocate the chunk so H5D_chunk_xfree doesn't get confused + /* Reallocate the chunk so H5D__chunk_xfree doesn't get confused */ - if(NULL == (chunk = H5D_chunk_alloc(chunk_size, pline))) + if(NULL == (chunk = H5D__chunk_alloc(chunk_size, pline))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk") HDmemcpy(chunk, ent->chunk, chunk_size); - ent->chunk = (uint8_t *)H5D_chunk_xfree(ent->chunk, old_pline); + ent->chunk = (uint8_t *)H5D__chunk_xfree(ent->chunk, old_pline); ent->chunk = (uint8_t *)chunk; chunk = NULL; @@ -2910,13 +2916,13 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, /* Mark the old pipeline as having been disabled */ old_pline = NULL; - /* Reallocate the chunk so H5D_chunk_xfree doesn't get confused + /* Reallocate the chunk so H5D__chunk_xfree doesn't get confused */ - if(NULL == (chunk = H5D_chunk_alloc(chunk_size, pline))) + if(NULL == (chunk = H5D__chunk_alloc(chunk_size, pline))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk") HDmemcpy(chunk, ent->chunk, chunk_size); - ent->chunk = (uint8_t *)H5D_chunk_xfree(ent->chunk, old_pline); + ent->chunk = (uint8_t *)H5D__chunk_xfree(ent->chunk, old_pline); ent->chunk = (uint8_t *)chunk; chunk = NULL; @@ -2949,9 +2955,8 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, else if(layout->u.chunk.flags & H5O_LAYOUT_CHUNK_DONT_FILTER_PARTIAL_BOUND_CHUNKS) { /* Check if this is an edge chunk */ - if((is_edge_chunk = H5D_chunk_is_partial_edge_chunk( - io_info->store->chunk.offset, io_info->dset, 0, NULL, - layout->u.chunk.dim)) < 0) + if((is_edge_chunk = H5D__chunk_is_partial_edge_chunk( + io_info->store->chunk.offset, io_info->dset, 0, NULL, layout->u.chunk.dim)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to determine if chunk is edge chunk") if(is_edge_chunk) { @@ -2977,7 +2982,7 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, /* Still save the chunk address so the cache stays consistent */ chunk_addr = udata->addr; - if(NULL == (chunk = H5D_chunk_alloc(chunk_size, pline))) + if(NULL == (chunk = H5D__chunk_alloc(chunk_size, pline))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk") /* In the case that some dataset functions look through this data, @@ -3000,8 +3005,8 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, /* Chunk size on disk isn't [likely] the same size as the final chunk * size in memory, so allocate memory big enough. */ H5_ASSIGN_OVERFLOW(chunk_alloc, udata->nbytes, uint32_t, size_t); - if(NULL == (chunk = H5D_chunk_alloc(chunk_alloc, - udata->new_unfilt_chunk ? old_pline : pline))) + if(NULL == (chunk = H5D__chunk_alloc(chunk_alloc, + (udata->new_unfilt_chunk ? old_pline : pline)))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk") if(H5F_block_read(dset->oloc.file, H5FD_MEM_DRAW, chunk_addr, chunk_alloc, io_info->dxpl_id, chunk) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, NULL, "unable to read raw data chunk") @@ -3019,13 +3024,12 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, if(udata->new_unfilt_chunk) { void *tmp_chunk = chunk; - if(NULL == (chunk = H5D_chunk_alloc(chunk_alloc, - pline))) { - (void)H5D_chunk_xfree(tmp_chunk, old_pline); + if(NULL == (chunk = H5D__chunk_alloc(chunk_alloc, pline))) { + (void)H5D__chunk_xfree(tmp_chunk, old_pline); HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk") } /* end if */ HDmemcpy(chunk, tmp_chunk, chunk_size); - (void)H5D_chunk_xfree(tmp_chunk, old_pline); + (void)H5D__chunk_xfree(tmp_chunk, old_pline); } /* end if */ } /* end if */ @@ -3037,7 +3041,7 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, /* Chunk size on disk isn't [likely] the same size as the final chunk * size in memory, so allocate memory big enough. */ - if(NULL == (chunk = H5D_chunk_alloc(chunk_size, pline))) + if(NULL == (chunk = H5D__chunk_alloc(chunk_size, pline))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk") if(H5P_is_fill_value_defined(fill, &fill_status) < 0) @@ -3052,7 +3056,7 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, /* Initialize the fill value buffer */ /* (use the compact dataset storage buffer as the fill value buffer) */ - if(H5D_fill_init(&fb_info, chunk, NULL, NULL, NULL, NULL, + if(H5D__fill_init(&fb_info, chunk, NULL, NULL, NULL, NULL, &dset->shared->dcpl_cache.fill, dset->shared->type, dset->shared->type_id, (size_t)0, chunk_size, io_info->dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "can't initialize fill buffer info") @@ -3061,7 +3065,7 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, /* Check for VL datatype & non-default fill value */ if(fb_info.has_vlen_fill_type) /* Fill the buffer with VL datatype fill values */ - if(H5D_fill_refill_vl(&fb_info, fb_info.elmts_per_buf, io_info->dxpl_id) < 0) + if(H5D__fill_refill_vl(&fb_info, fb_info.elmts_per_buf, io_info->dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, NULL, "can't refill fill value buffer") } /* end if */ else @@ -3105,10 +3109,10 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, if(!ent || !ent->locked) { /* Preempt enough things from the cache to make room */ if(ent) { - if(H5D_chunk_cache_evict(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, ent, TRUE) < 0) + if(H5D__chunk_cache_evict(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, ent, TRUE) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTINIT, NULL, "unable to preempt chunk from cache") } /* end if */ - if(H5D_chunk_cache_prune(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, chunk_size) < 0) + if(H5D__chunk_cache_prune(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, chunk_size) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTINIT, NULL, "unable to preempt chunk(s) from cache") /* Create a new entry */ @@ -3158,7 +3162,7 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, * flush dependencies are maintained in the proper way for SWMR * access to work. */ - if(H5D_chunk_proxy_create(io_info->dset, io_info->dxpl_id, udata, ent) < 0) + if(H5D__chunk_proxy_create(io_info->dset, io_info->dxpl_id, udata, ent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, NULL, "can't insert proxy for chunk in metadata cache") } /* end if */ } /* end if */ @@ -3187,23 +3191,23 @@ H5D_chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, done: /* Release the fill buffer info, if it's been initialized */ - if(fb_info_init && H5D_fill_term(&fb_info) < 0) + if(fb_info_init && H5D__fill_term(&fb_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, NULL, "Can't release fill buffer info") /* Release the chunk allocated, on error */ if(!ret_value) if(chunk) - chunk = H5D_chunk_xfree(chunk, pline); + chunk = H5D__chunk_xfree(chunk, pline); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_lock() */ +} /* end H5D__chunk_lock() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_unlock + * Function: H5D__chunk_unlock * * Purpose: Unlocks a previously locked chunk. The LAYOUT, COMP, and - * OFFSET arguments should be the same as for H5D_chunk_lock(). + * OFFSET arguments should be the same as for H5D__chunk_lock(). * The DIRTY argument should be set to non-zero if the chunk has * been modified since it was locked. The IDX_HINT argument is * the returned index hint from the lock operation and BUF is @@ -3222,14 +3226,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_unlock(const H5D_io_info_t *io_info, const H5D_chunk_ud_t *udata, +H5D__chunk_unlock(const H5D_io_info_t *io_info, const H5D_chunk_ud_t *udata, hbool_t dirty, void *chunk, uint32_t naccessed) { const H5O_layout_t *layout = &(io_info->dset->shared->layout); /* Dataset layout */ const H5D_rdcc_t *rdcc = &(io_info->dset->shared->cache.chunk); herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE HDassert(io_info); HDassert(udata); @@ -3253,9 +3257,8 @@ H5D_chunk_unlock(const H5D_io_info_t *io_info, const H5D_chunk_ud_t *udata, else if(layout->u.chunk.flags & H5O_LAYOUT_CHUNK_DONT_FILTER_PARTIAL_BOUND_CHUNKS) { /* Check if the chunk is an edge chunk, and disable filters if so */ - if((is_unfiltered_edge_chunk = H5D_chunk_is_partial_edge_chunk( - io_info->store->chunk.offset, io_info->dset, 0, NULL, - layout->u.chunk.dim)) < 0) + if((is_unfiltered_edge_chunk = H5D__chunk_is_partial_edge_chunk( + io_info->store->chunk.offset, io_info->dset, 0, NULL, layout->u.chunk.dim)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to determine if chunk is edge chunk") } /* end if */ @@ -3273,13 +3276,13 @@ H5D_chunk_unlock(const H5D_io_info_t *io_info, const H5D_chunk_ud_t *udata, fake_ent.chunk_addr = udata->addr; fake_ent.chunk = (uint8_t *)chunk; - if(H5D_chunk_flush_entry(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, &fake_ent, TRUE) < 0) + if(H5D__chunk_flush_entry(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, &fake_ent, TRUE) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "cannot flush indexed storage buffer") } /* end if */ else { if(chunk) - chunk = H5D_chunk_xfree(chunk, is_unfiltered_edge_chunk ? NULL - : &(io_info->dset->shared->dcpl_cache.pline)); + chunk = H5D__chunk_xfree(chunk, (is_unfiltered_edge_chunk ? NULL + : &(io_info->dset->shared->dcpl_cache.pline))); } /* end else */ } /* end if */ else { @@ -3303,7 +3306,7 @@ H5D_chunk_unlock(const H5D_io_info_t *io_info, const H5D_chunk_ud_t *udata, if(io_info->dset->shared->layout.storage.u.chunk.ops->can_swim && (H5F_INTENT(io_info->dset->oloc.file) & H5F_ACC_SWMR_WRITE)) { /* Mark the proxy entry in the cache as dirty */ - if(H5D_chunk_proxy_mark(ent, TRUE) < 0) + if(H5D__chunk_proxy_mark(ent, TRUE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTMARKDIRTY, FAIL, "can't mark proxy for chunk from metadata cache as dirty") } /* end if */ } /* end if */ @@ -3314,11 +3317,11 @@ H5D_chunk_unlock(const H5D_io_info_t *io_info, const H5D_chunk_ud_t *udata, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_unlock() */ +} /* end H5D__chunk_unlock() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_allocated_cb + * Function: H5D__chunk_allocated_cb * * Purpose: Simply counts the number of chunks for a dataset. * @@ -3332,20 +3335,20 @@ done: */ /* ARGSUSED */ static int -H5D_chunk_allocated_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) +H5D__chunk_allocated_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) { hsize_t *nbytes = (hsize_t *)_udata; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR *(hsize_t *)nbytes += chunk_rec->nbytes; FUNC_LEAVE_NOAPI(H5_ITER_CONT) -} /* H5D_chunk_allocated_cb() */ +} /* H5D__chunk_allocated_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_allocated + * Function: H5D__chunk_allocated * * Purpose: Return the number of bytes allocated in the file for storage * of raw data in the chunked dataset @@ -3359,7 +3362,7 @@ H5D_chunk_allocated_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) *------------------------------------------------------------------------- */ herr_t -H5D_chunk_allocated(H5D_t *dset, hid_t dxpl_id, hsize_t *nbytes) +H5D__chunk_allocated(H5D_t *dset, hid_t dxpl_id, hsize_t *nbytes) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ const H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /* Raw data chunk cache */ @@ -3369,7 +3372,7 @@ H5D_chunk_allocated(H5D_t *dset, hid_t dxpl_id, hsize_t *nbytes) hsize_t chunk_bytes = 0; /* Number of bytes allocated for chunks */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE HDassert(dset); HDassert(dset->shared); @@ -3385,13 +3388,13 @@ H5D_chunk_allocated(H5D_t *dset, hid_t dxpl_id, hsize_t *nbytes) H5D_COPS_NONE == dset->shared->layout.storage.u.chunk.ops)); /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Search for cached chunks that haven't been written out */ for(ent = rdcc->head; ent; ent = ent->next) { /* Flush the chunk out to disk, to make certain the size is correct later */ - if(H5D_chunk_flush_entry(dset, dxpl_id, dxpl_cache, ent, FALSE) < 0) + if(H5D__chunk_flush_entry(dset, dxpl_id, dxpl_cache, ent, FALSE) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "cannot flush indexed storage buffer") } /* end for */ @@ -3403,7 +3406,7 @@ H5D_chunk_allocated(H5D_t *dset, hid_t dxpl_id, hsize_t *nbytes) idx_info.storage = &dset->shared->layout.storage.u.chunk; /* Iterate over the chunks */ - if((dset->shared->layout.storage.u.chunk.ops->iterate)(&idx_info, H5D_chunk_allocated_cb, &chunk_bytes) < 0) + if((dset->shared->layout.storage.u.chunk.ops->iterate)(&idx_info, H5D__chunk_allocated_cb, &chunk_bytes) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to retrieve allocated chunk information from index") /* Set number of bytes for caller */ @@ -3411,11 +3414,11 @@ H5D_chunk_allocated(H5D_t *dset, hid_t dxpl_id, hsize_t *nbytes) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_allocated() */ +} /* end H5D__chunk_allocated() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_allocate + * Function: H5D__chunk_allocate * * Purpose: Allocate file space for all chunks that are not allocated yet. * Return SUCCEED if all needed allocation succeed, otherwise @@ -3429,7 +3432,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, +H5D__chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, hsize_t old_dim[]) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ @@ -3471,7 +3474,7 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, hid_t data_dxpl_id; /* DXPL ID to use for raw data I/O operations */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_TAG(dxpl_id, dset->oloc.addr, FAIL) + FUNC_ENTER_PACKAGE_TAG(dxpl_id, dset->oloc.addr, FAIL) /* Check args */ HDassert(dset && H5D_CHUNKED == layout->type); @@ -3501,7 +3504,7 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, for(op_dim=0; op_dimshared->cache.chunk.last); + H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last); HGOTO_DONE(SUCCEED) } /* end if */ @@ -3531,7 +3534,7 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, #endif /* H5_HAVE_PARALLEL */ /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(data_dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(data_dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Calculate the minimum and maximum chunk offsets in each dimension, and @@ -3581,8 +3584,8 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, /* Initialize the fill value buffer */ /* (delay allocating fill buffer for VL datatypes until refilling) */ /* (casting away const OK - QAK) */ - if(H5D_fill_init(&fb_info, NULL, (H5MM_allocate_t)H5D_chunk_alloc, - (void *)pline, (H5MM_free_t)H5D_chunk_xfree, (void *)pline, + if(H5D__fill_init(&fb_info, NULL, (H5MM_allocate_t)H5D__chunk_alloc, + (void *)pline, (H5MM_free_t)H5D__chunk_xfree, (void *)pline, &dset->shared->dcpl_cache.fill, dset->shared->type, dset->shared->type_id, (size_t)0, orig_chunk_size, data_dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't initialize fill buffer info") @@ -3603,8 +3606,7 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, /* If the dataset has disabled partial chunk filters, create a copy * of the unfiltered fill_buf to use for partial chunks */ if(has_unfilt_edge_chunks) { - if(NULL == (unfilt_fill_buf = H5D_chunk_alloc(orig_chunk_size, - &def_pline))) + if(NULL == (unfilt_fill_buf = H5D__chunk_alloc(orig_chunk_size, &def_pline))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for raw data chunk") HDmemcpy(unfilt_fill_buf, fb_info.fill_buf, orig_chunk_size); } /* end if */ @@ -3697,7 +3699,7 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, &chunk_idx) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't get chunk index") - if(H5D_chunk_lookup(dset, dxpl_id, chunk_offset, chunk_idx, + if(H5D__chunk_lookup(dset, dxpl_id, chunk_offset, chunk_idx, &udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address") @@ -3728,14 +3730,14 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, * possible (though ill-advised) for the filter to shrink the * buffer. */ if(fb_info.fill_buf_size < orig_chunk_size) { - if(NULL == (fb_info.fill_buf = H5D_chunk_realloc( + if(NULL == (fb_info.fill_buf = H5D__chunk_realloc( fb_info.fill_buf, orig_chunk_size, pline))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory reallocation failed for raw data chunk") fb_info.fill_buf_size = orig_chunk_size; } /* end if */ /* Fill the buffer with VL datatype fill values */ - if(H5D_fill_refill_vl(&fb_info, fb_info.elmts_per_buf, data_dxpl_id) < 0) + if(H5D__fill_refill_vl(&fb_info, fb_info.elmts_per_buf, data_dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "can't refill fill value buffer") /* Check if there are filters which need to be applied to the chunk */ @@ -3819,7 +3821,7 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, nunfilt_edge_chunk_dims--; if(should_fill && nunfilt_edge_chunk_dims == 0 && !fb_info.has_vlen_fill_type) { - HDassert(!H5D_chunk_is_partial_edge_chunk( + HDassert(!H5D__chunk_is_partial_edge_chunk( chunk_offset, NULL, (unsigned)space_ndims, space_dim, chunk_dim)); fill_buf = &fb_info.fill_buf; @@ -3835,7 +3837,7 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, nunfilt_edge_chunk_dims++; if(should_fill && nunfilt_edge_chunk_dims == 1 && !fb_info.has_vlen_fill_type) { - HDassert(H5D_chunk_is_partial_edge_chunk( + HDassert(H5D__chunk_is_partial_edge_chunk( chunk_offset, NULL, (unsigned)space_ndims, space_dim, chunk_dim)); fill_buf = &unfilt_fill_buf; @@ -3872,22 +3874,22 @@ H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, #endif /* H5_HAVE_PARALLEL */ /* Reset any cached chunk info for this dataset */ - H5D_chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last); + H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last); done: /* Release the fill buffer info, if it's been initialized */ - if(fb_info_init && H5D_fill_term(&fb_info) < 0) + if(fb_info_init && H5D__fill_term(&fb_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info") /* Free the unfiltered fill value buffer */ - unfilt_fill_buf = H5D_chunk_xfree(unfilt_fill_buf, &def_pline); + unfilt_fill_buf = H5D__chunk_xfree(unfilt_fill_buf, &def_pline); FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_chunk_allocate() */ +} /* end H5D__chunk_allocate() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_update_old_edge_chunks + * Function: H5D__chunk_update_old_edge_chunks * * Purpose: Update all chunks which were previously partial edge * chunks and are now complete. Determines exactly which @@ -3903,7 +3905,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]) +H5D__chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]) { hsize_t old_edge_chunk_off[H5O_LAYOUT_NDIMS]; /* Offset of first previously incomplete chunk in each dimension */ hsize_t max_edge_chunk_off[H5O_LAYOUT_NDIMS]; /* largest offset of chunks that might need to be modified in each dimension */ @@ -3924,7 +3926,7 @@ H5D_chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]) hbool_t carry; /* Flag to indicate that chunk increment carrys to higher dimension (sorta) */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(dset && H5D_CHUNKED == layout->type); @@ -3957,7 +3959,7 @@ H5D_chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]) for(op_dim=0; op_dimshared->cache.chunk.last); + H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last); HGOTO_DONE(SUCCEED) } /* end if */ @@ -3965,7 +3967,7 @@ H5D_chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]) * Initialize structures needed to lock chunks into cache */ /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Set up chunked I/O info object, for operations on chunks (in callback). @@ -4025,10 +4027,8 @@ H5D_chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]) while(!carry) { /* Make sure the chunk is really a former edge chunk */ - HDassert(H5D_chunk_is_partial_edge_chunk(chunk_offset, NULL, - (unsigned)space_ndims, old_dim, chunk_dim) - && !H5D_chunk_is_partial_edge_chunk(chunk_offset, NULL, - (unsigned)space_ndims, space_dim, chunk_dim)); + HDassert(H5D__chunk_is_partial_edge_chunk(chunk_offset, NULL, (unsigned)space_ndims, old_dim, chunk_dim) + && !H5D__chunk_is_partial_edge_chunk(chunk_offset, NULL, (unsigned)space_ndims, space_dim, chunk_dim)); /* Calculate the index of this chunk */ if(H5V_chunk_index((unsigned)space_ndims, chunk_offset, chunk_dim, @@ -4037,7 +4037,7 @@ H5D_chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't get chunk index") /* Lookup the chunk */ - if(H5D_chunk_lookup(dset, dxpl_id, chunk_offset, + if(H5D__chunk_lookup(dset, dxpl_id, chunk_offset, chk_io_info.store->chunk.index, &chk_udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address") @@ -4045,15 +4045,13 @@ H5D_chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]) * anything */ if(H5F_addr_defined(chk_udata.addr) || (UINT_MAX != chk_udata.idx_hint)) { - /* Lock the chunk into cache. H5D_chunk_lock will take care of + /* Lock the chunk into cache. H5D__chunk_lock will take care of * updating the chunk to no longer be an edge chunk. */ - if(NULL == (chunk = (void *)H5D_chunk_lock(&chk_io_info, - &chk_udata, FALSE, TRUE))) - HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "unable to lock raw data chunk") + if(NULL == (chunk = (void *)H5D__chunk_lock(&chk_io_info, &chk_udata, FALSE, TRUE))) + HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "unable to lock raw data chunk") /* Unlock the chunk */ - if(H5D_chunk_unlock(&chk_io_info, &chk_udata, TRUE, - chunk, (uint32_t)0) < 0) + if(H5D__chunk_unlock(&chk_io_info, &chk_udata, TRUE, chunk, (uint32_t)0) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to unlock raw data chunk") } /* end if */ @@ -4082,15 +4080,15 @@ H5D_chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]) } /* end for(op_dim=0...) */ /* Reset any cached chunk info for this dataset */ - H5D_chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last); + H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last); done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_update_old_edge_chunks() */ +} /* end H5D__chunk_update_old_edge_chunks() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_prune_fill + * Function: H5D__chunk_prune_fill * * Purpose: Write the fill value to the parts of the chunk that are no * longer part of the dataspace @@ -4103,7 +4101,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk) +H5D__chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk) { const H5D_io_info_t *io_info = udata->io_info; /* Local pointer to I/O info */ H5D_t *dset = io_info->dset; /* Local pointer to the dataset info */ @@ -4121,14 +4119,14 @@ H5D_chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk) unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Get the chunk's size */ HDassert(layout->u.chunk.size > 0); H5_ASSIGN_OVERFLOW(chunk_size, layout->u.chunk.size, uint32_t, size_t); /* Get the info for the chunk in the file */ - if(H5D_chunk_lookup(dset, io_info->dxpl_id, chunk_offset, + if(H5D__chunk_lookup(dset, io_info->dxpl_id, chunk_offset, io_info->store->chunk.index, &chk_udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address") chk_udata.new_unfilt_chunk = new_unfilt_chunk; @@ -4141,7 +4139,7 @@ H5D_chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk) /* Initialize the fill value buffer, if necessary */ if(!udata->fb_info_init) { H5_CHECK_OVERFLOW(udata->elmts_per_chunk, uint32_t, size_t); - if(H5D_fill_init(&udata->fb_info, NULL, NULL, NULL, NULL, NULL, + if(H5D__fill_init(&udata->fb_info, NULL, NULL, NULL, NULL, NULL, &dset->shared->dcpl_cache.fill, dset->shared->type, dset->shared->type_id, (size_t)udata->elmts_per_chunk, chunk_size, io_info->dxpl_id) < 0) @@ -4165,7 +4163,7 @@ H5D_chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk) HGOTO_ERROR(H5E_DATASET, H5E_CANTSELECT, FAIL, "unable to select hyperslab") /* Lock the chunk into the cache, to get a pointer to the chunk buffer */ - if(NULL == (chunk = (void *)H5D_chunk_lock(io_info, &chk_udata, FALSE, FALSE))) + if(NULL == (chunk = (void *)H5D__chunk_lock(io_info, &chk_udata, FALSE, FALSE))) HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "unable to lock raw data chunk") @@ -4182,7 +4180,7 @@ H5D_chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk) /* Check for VL datatype & non-default fill value */ if(udata->fb_info.has_vlen_fill_type) /* Re-fill the buffer to use for this I/O operation */ - if(H5D_fill_refill_vl(&udata->fb_info, (size_t)sel_nelmts, io_info->dxpl_id) < 0) + if(H5D__fill_refill_vl(&udata->fb_info, (size_t)sel_nelmts, io_info->dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "can't refill fill value buffer") /* Create a selection iterator for scattering the elements to memory buffer */ @@ -4191,7 +4189,7 @@ H5D_chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk) chunk_iter_init = TRUE; /* Scatter the data into memory */ - if(H5D_scatter_mem(udata->fb_info.fill_buf, udata->chunk_space, &chunk_iter, (size_t)sel_nelmts, io_info->dxpl_cache, chunk/*out*/) < 0) + if(H5D__scatter_mem(udata->fb_info.fill_buf, udata->chunk_space, &chunk_iter, (size_t)sel_nelmts, io_info->dxpl_cache, chunk/*out*/) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "scatter failed") @@ -4201,7 +4199,7 @@ H5D_chunk_prune_fill(H5D_chunk_it_ud1_t *udata, hbool_t new_unfilt_chunk) bytes_accessed = (uint32_t)sel_nelmts * layout->u.chunk.dim[rank]; /* Release lock on chunk */ - if(H5D_chunk_unlock(io_info, &chk_udata, TRUE, chunk, bytes_accessed) < 0) + if(H5D__chunk_unlock(io_info, &chk_udata, TRUE, chunk, bytes_accessed) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to unlock raw data chunk") done: @@ -4210,11 +4208,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release selection iterator") FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_prune_fill */ +} /* H5D__chunk_prune_fill */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_prune_by_extent + * Function: H5D__chunk_prune_by_extent * * Purpose: This function searches for chunks that are no longer necessary * both in the raw data cache and in the chunk index. @@ -4313,7 +4311,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) +H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) { hsize_t min_mod_chunk_off[H5O_LAYOUT_NDIMS]; /* Offset of first chunk to modify in each dimension */ hsize_t max_mod_chunk_off[H5O_LAYOUT_NDIMS]; /* Offset of last chunk to modify in each dimension */ @@ -4351,7 +4349,7 @@ H5D_chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) int i; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(dset && H5D_CHUNKED == layout->type); @@ -4369,7 +4367,7 @@ H5D_chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) HDassert(dxpl_cache); /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Go get the rank & dimensions (including the element size) */ @@ -4385,7 +4383,7 @@ H5D_chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) for(op_dim=0; op_dimshared->cache.chunk.last); + H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last); HGOTO_DONE(SUCCEED) } /* end if */ @@ -4557,8 +4555,8 @@ H5D_chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) HDassert(chunk_offset[op_dim] == min_mod_chunk_off[op_dim]); /* Make sure this is an edge chunk */ - HDassert(H5D_chunk_is_partial_edge_chunk(chunk_offset, NULL, - (unsigned)space_ndims, space_dim, layout->u.chunk.dim)); + HDassert(H5D__chunk_is_partial_edge_chunk(chunk_offset, NULL, + (unsigned)space_ndims, space_dim, layout->u.chunk.dim)); /* Determine if the chunk just became an unfiltered chunk */ if(new_unfilt_dim[op_dim]) { @@ -4573,12 +4571,12 @@ H5D_chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) /* Make sure that, if we think this is a new unfiltered chunk, * it was previously not an edge chunk */ HDassert(!new_unfilt_dim[op_dim] || (!new_unfilt_chunk != - !H5D_chunk_is_partial_edge_chunk(chunk_offset, NULL, + !H5D__chunk_is_partial_edge_chunk(chunk_offset, NULL, (unsigned)space_ndims, old_dim, layout->u.chunk.dim))); HDassert(!new_unfilt_chunk || new_unfilt_dim[op_dim]); /* Fill the unused parts of the chunk */ - if(H5D_chunk_prune_fill(&udata, new_unfilt_chunk) < 0) + if(H5D__chunk_prune_fill(&udata, new_unfilt_chunk) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to write fill value") } /* end if */ else { @@ -4597,14 +4595,14 @@ H5D_chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) #endif /* NDEBUG */ /* Check if the chunk exists in cache or on disk */ - if(H5D_chunk_lookup(dset, dxpl_id, chunk_offset, + if(H5D__chunk_lookup(dset, dxpl_id, chunk_offset, chk_io_info.store->chunk.index, &chk_udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk") /* Evict the entry from the cache if present, but do not flush * it to disk */ if(UINT_MAX != chk_udata.idx_hint) { - if(H5D_chunk_cache_evict(dset, dxpl_id, dxpl_cache, + if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, rdcc->slot[chk_udata.idx_hint], FALSE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "unable to evict chunk") } /* end if */ @@ -4669,24 +4667,24 @@ H5D_chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim) } /* end for(op_dim=0...) */ /* Reset any cached chunk info for this dataset */ - H5D_chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last); + H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last); done: /* Release resources */ if(chunk_space && H5S_close(chunk_space) < 0) HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace") if(udata_init) { - if(udata.fb_info_init && H5D_fill_term(&udata.fb_info) < 0) + if(udata.fb_info_init && H5D__fill_term(&udata.fb_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info") } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_prune_by_extent() */ +} /* end H5D__chunk_prune_by_extent() */ #ifdef H5_HAVE_PARALLEL /*------------------------------------------------------------------------- - * Function: H5D_chunk_addrmap_cb + * Function: H5D__chunk_addrmap_cb * * Purpose: Callback when obtaining the chunk addresses for all existing chunks * @@ -4699,14 +4697,14 @@ done: *------------------------------------------------------------------------- */ static int -H5D_chunk_addrmap_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) +H5D__chunk_addrmap_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) { H5D_chunk_it_ud2_t *udata = (H5D_chunk_it_ud2_t *)_udata; /* User data for callback */ unsigned rank = udata->common.layout->ndims - 1; /* # of dimensions of dataset */ hsize_t chunk_index; int ret_value = H5_ITER_CONT; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Compute the index for this chunk */ if(H5V_chunk_index(rank, chunk_rec->offset, udata->common.layout->dim, udata->common.layout->down_chunks, &chunk_index) < 0) @@ -4717,11 +4715,11 @@ H5D_chunk_addrmap_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_addrmap_cb() */ +} /* H5D__chunk_addrmap_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_addrmap + * Function: H5D__chunk_addrmap * * Purpose: Obtain the chunk addresses for all existing chunks * @@ -4734,14 +4732,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_addrmap(const H5D_io_info_t *io_info, haddr_t chunk_addr[]) +H5D__chunk_addrmap(const H5D_io_info_t *io_info, haddr_t chunk_addr[]) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ H5D_t *dset = io_info->dset; /* Local pointer to dataset info */ H5D_chunk_it_ud2_t udata; /* User data for iteration callback */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE HDassert(dset); HDassert(dset->shared); @@ -4772,17 +4770,17 @@ H5D_chunk_addrmap(const H5D_io_info_t *io_info, haddr_t chunk_addr[]) idx_info.storage = &dset->shared->layout.storage.u.chunk; /* Iterate over chunks to build mapping of chunk addresses */ - if((dset->shared->layout.storage.u.chunk.ops->iterate)(&idx_info, H5D_chunk_addrmap_cb, &udata) < 0) + if((dset->shared->layout.storage.u.chunk.ops->iterate)(&idx_info, H5D__chunk_addrmap_cb, &udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to iterate over chunk index to build address map") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_addrmap() */ +} /* end H5D__chunk_addrmap() */ #endif /* H5_HAVE_PARALLEL */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_delete + * Function: H5D__chunk_delete * * Purpose: Delete raw data storage for entire dataset (i.e. all chunks) * @@ -4795,7 +4793,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_delete(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5O_storage_t *storage) +H5D__chunk_delete(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5O_storage_t *storage) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ H5O_layout_t layout; /* Dataset layout message */ @@ -4805,7 +4803,7 @@ H5D_chunk_delete(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5O_storage_t *storage) htri_t exists; /* Flag if header message of interest exists */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(f); @@ -4865,11 +4863,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTRESET, FAIL, "unable to reset layout message") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_delete() */ +} /* end H5D__chunk_delete() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_update_cache + * Function: H5D__chunk_update_cache * * Purpose: Update any cached chunks index values after the dataspace * size has changed @@ -4883,7 +4881,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_update_cache(H5D_t *dset, hid_t dxpl_id) +H5D__chunk_update_cache(H5D_t *dset, hid_t dxpl_id) { H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /*raw data chunk cache */ H5D_rdcc_ent_t *ent, *next; /*cache entry */ @@ -4895,7 +4893,7 @@ H5D_chunk_update_cache(H5D_t *dset, hid_t dxpl_id) unsigned rank; /*current # of dimensions */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(dset && H5D_CHUNKED == dset->shared->layout.type); @@ -4910,7 +4908,7 @@ H5D_chunk_update_cache(H5D_t *dset, hid_t dxpl_id) HGOTO_DONE(SUCCEED) /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Add temporary entry list to rdcc */ @@ -4984,7 +4982,7 @@ H5D_chunk_update_cache(H5D_t *dset, hid_t dxpl_id) ent = tmp_head.tmp_next; /* Remove the old entry from the cache */ - if(H5D_chunk_cache_evict(dset, dxpl_id, dxpl_cache, ent, TRUE) < 0) + if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, ent, TRUE) < 0) HDONE_ERROR(H5E_IO, H5E_CANTFLUSH, FAIL, "unable to flush one or more raw data chunks") } /* end while */ @@ -4993,11 +4991,11 @@ done: rdcc->tmp_head = NULL; FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_update_cache() */ +} /* end H5D__chunk_update_cache() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_copy_cb + * Function: H5D__chunk_copy_cb * * Purpose: Copy chunked raw data from source file and insert to the * index in the destination file @@ -5010,7 +5008,7 @@ done: *------------------------------------------------------------------------- */ static int -H5D_chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) +H5D__chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) { H5D_chunk_it_ud3_t *udata = (H5D_chunk_it_ud3_t *)_udata; /* User data for callback */ H5D_chunk_ud_t udata_dst; /* User data about new destination chunk */ @@ -5030,7 +5028,7 @@ H5D_chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) int ret_value = H5_ITER_CONT; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Get 'size_t' local value for number of bytes in chunk */ H5_ASSIGN_OVERFLOW(nbytes, chunk_rec->nbytes, uint32_t, size_t); @@ -5053,7 +5051,7 @@ H5D_chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) htri_t is_edge_chunk; /* Whether the chunk is an edge chunk */ /* Check if the chunk is an edge chunk, and disable filters if so */ - if((is_edge_chunk = H5D_chunk_is_partial_edge_chunk( + if((is_edge_chunk = H5D__chunk_is_partial_edge_chunk( chunk_rec->offset, NULL, udata->dset_ndims, udata->dset_dims, udata->common.layout->dim)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, H5_ITER_ERROR, "unable to determine if chunk is edge chunk") @@ -5188,11 +5186,11 @@ H5D_chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_copy_cb() */ +} /* end H5D__chunk_copy_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_copy + * Function: H5D__chunk_copy * * Purpose: Copy chunked storage from SRC file to DST file. * @@ -5208,7 +5206,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src, +H5D__chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src, H5O_layout_chunk_t *layout_src, H5F_t *f_dst, H5O_storage_chunk_t *storage_dst, const H5S_extent_t *ds_extent_src, const H5T_t *dt_src, const H5O_pline_t *pline_src, H5O_copy_t *cpy_info, hid_t dxpl_id) @@ -5237,7 +5235,7 @@ H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src, hbool_t copy_setup_done = FALSE; /* Indicate that 'copy setup' is done */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(f_src); @@ -5290,7 +5288,7 @@ H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src, H5_ASSIGN_OVERFLOW(ndims, sndims, int, unsigned); /* Set the source layout chunk information */ - if(H5D_chunk_set_info_real(layout_src, ndims, curr_dims, max_dims) < 0) + if(H5D__chunk_set_info_real(layout_src, ndims, curr_dims, max_dims) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set layout's chunk info") } /* end block */ @@ -5443,7 +5441,7 @@ H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src, udata.cpy_info = cpy_info; /* Iterate over chunks to copy data */ - if((storage_src->ops->iterate)(&idx_info_src, H5D_chunk_copy_cb, &udata) < 0) + if((storage_src->ops->iterate)(&idx_info_src, H5D__chunk_copy_cb, &udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_BADITER, FAIL, "unable to iterate over chunk index to copy data") /* I/O buffers may have been re-allocated */ @@ -5472,11 +5470,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to shut down index copying info") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_copy() */ +} /* end H5D__chunk_copy() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_bh_info + * Function: H5D__chunk_bh_info * * Purpose: Retrieve the amount of index storage for chunked dataset * @@ -5489,13 +5487,13 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_bh_info(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout, +H5D__chunk_bh_info(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout, const H5O_pline_t *pline, hsize_t *index_size) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(f); @@ -5526,11 +5524,11 @@ H5D_chunk_bh_info(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_bh_info() */ +} /* end H5D__chunk_bh_info() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_iter_dump + * Function: H5D__chunk_dump_index_cb * * Purpose: If the UDATA.STREAM member is non-null then debugging * information is written to that stream. @@ -5546,11 +5544,11 @@ done: */ /* ARGSUSED */ static int -H5D_chunk_dump_index_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) +H5D__chunk_dump_index_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) { H5D_chunk_it_ud4_t *udata = (H5D_chunk_it_ud4_t *)_udata; /* User data from caller */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR if(udata->stream) { unsigned u; /* Local index variable */ @@ -5572,11 +5570,11 @@ H5D_chunk_dump_index_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) } /* end if */ FUNC_LEAVE_NOAPI(H5_ITER_CONT) -} /* H5D_chunk_dump_index_cb() */ +} /* H5D__chunk_dump_index_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_dump_index + * Function: H5D__chunk_dump_index * * Purpose: Prints information about the storage index to the specified * stream. @@ -5590,11 +5588,11 @@ H5D_chunk_dump_index_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata) *------------------------------------------------------------------------- */ herr_t -H5D_chunk_dump_index(H5D_t *dset, hid_t dxpl_id, FILE *stream) +H5D__chunk_dump_index(H5D_t *dset, hid_t dxpl_id, FILE *stream) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(dset); @@ -5631,17 +5629,17 @@ H5D_chunk_dump_index(H5D_t *dset, hid_t dxpl_id, FILE *stream) udata.ndims = dset->shared->layout.u.chunk.ndims; /* Iterate over index and dump chunk info */ - if((dset->shared->layout.storage.u.chunk.ops->iterate)(&idx_info, H5D_chunk_dump_index_cb, &udata) < 0) + if((dset->shared->layout.storage.u.chunk.ops->iterate)(&idx_info, H5D__chunk_dump_index_cb, &udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_BADITER, FAIL, "unable to iterate over chunk index to dump chunk info") } /* end if */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_dump_index() */ +} /* end H5D__chunk_dump_index() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_dest + * Function: H5D__chunk_dest * * Purpose: Destroy the entire chunk cache by flushing dirty entries, * preempting all entries, and freeing the cache itself. @@ -5654,7 +5652,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_dest(H5F_t *f, hid_t dxpl_id, H5D_t *dset) +H5D__chunk_dest(H5F_t *f, hid_t dxpl_id, H5D_t *dset) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */ @@ -5664,7 +5662,7 @@ H5D_chunk_dest(H5F_t *f, hid_t dxpl_id, H5D_t *dset) int nerrors = 0; /* Accumulated count of errors */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_TAG(dxpl_id, dset->oloc.addr, FAIL) + FUNC_ENTER_PACKAGE_TAG(dxpl_id, dset->oloc.addr, FAIL) HDassert(f); HDassert(dset); @@ -5680,13 +5678,13 @@ H5D_chunk_dest(H5F_t *f, hid_t dxpl_id, H5D_t *dset) H5D_COPS_NONE == dset->shared->layout.storage.u.chunk.ops)); /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Flush all the cached chunks */ for(ent = rdcc->head; ent; ent = next) { next = ent->next; - if(H5D_chunk_cache_evict(dset, dxpl_id, dxpl_cache, ent, TRUE) < 0) + if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, ent, TRUE) < 0) nerrors++; } /* end for */ @@ -5713,12 +5711,12 @@ H5D_chunk_dest(H5F_t *f, hid_t dxpl_id, H5D_t *dset) done: FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_chunk_dest() */ +} /* end H5D__chunk_dest() */ #ifdef H5D_CHUNK_DEBUG /*------------------------------------------------------------------------- - * Function: H5D_chunk_stats + * Function: H5D__chunk_stats * * Purpose: Print raw data cache statistics to the debug stream. If * HEADERS is non-zero then print table column headers, @@ -5732,14 +5730,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_stats(const H5D_t *dset, hbool_t headers) +H5D__chunk_stats(const H5D_t *dset, hbool_t headers) { H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); double miss_rate; char ascii[32]; herr_t ret_value=SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOERR(FAIL) + FUNC_ENTER_PACKAGE_NOERR if (!H5DEBUG(AC)) HGOTO_DONE(SUCCEED) @@ -5776,12 +5774,12 @@ H5D_chunk_stats(const H5D_t *dset, hbool_t headers) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_stats() */ +} /* end H5D__chunk_stats() */ #endif /* H5D_CHUNK_DEBUG */ /*------------------------------------------------------------------------- - * Function: H5D_nonexistent_readvv_cb + * Function: H5D__nonexistent_readvv_cb * * Purpose: Callback operation for performing fill value I/O operation * on memory buffer. @@ -5799,7 +5797,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_nonexistent_readvv_cb(hsize_t UNUSED dst_off, hsize_t src_off, size_t len, +H5D__nonexistent_readvv_cb(hsize_t UNUSED dst_off, hsize_t src_off, size_t len, void *_udata) { H5D_chunk_readvv_ud_t *udata = (H5D_chunk_readvv_ud_t *)_udata; /* User data for H5V_opvv() operator */ @@ -5807,30 +5805,30 @@ H5D_nonexistent_readvv_cb(hsize_t UNUSED dst_off, hsize_t src_off, size_t len, hbool_t fb_info_init = FALSE; /* Whether the fill value buffer has been initialized */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Initialize the fill value buffer */ - if(H5D_fill_init(&fb_info, (udata->rbuf + src_off), NULL, NULL, NULL, NULL, + if(H5D__fill_init(&fb_info, (udata->rbuf + src_off), NULL, NULL, NULL, NULL, &udata->dset->shared->dcpl_cache.fill, udata->dset->shared->type, udata->dset->shared->type_id, (size_t)0, len, udata->dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't initialize fill buffer info") fb_info_init = TRUE; /* Check for VL datatype & fill the buffer with VL datatype fill values */ - if(fb_info.has_vlen_fill_type && H5D_fill_refill_vl(&fb_info, fb_info.elmts_per_buf, udata->dxpl_id) < 0) + if(fb_info.has_vlen_fill_type && H5D__fill_refill_vl(&fb_info, fb_info.elmts_per_buf, udata->dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "can't refill fill value buffer") done: /* Release the fill buffer info, if it's been initialized */ - if(fb_info_init && H5D_fill_term(&fb_info) < 0) + if(fb_info_init && H5D__fill_term(&fb_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info") FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_nonexistent_readvv_cb() */ +} /* H5D__nonexistent_readvv_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_nonexistent_readvv + * Function: H5D__nonexistent_readvv * * Purpose: When the chunk doesn't exist on disk and the chunk is bigger * than the cache size, performs fill value I/O operation on @@ -5850,14 +5848,14 @@ done: *------------------------------------------------------------------------- */ static ssize_t -H5D_nonexistent_readvv(const H5D_io_info_t *io_info, +H5D__nonexistent_readvv(const H5D_io_info_t *io_info, size_t chunk_max_nseq, size_t *chunk_curr_seq, size_t chunk_len_arr[], hsize_t chunk_off_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_off_arr[]) { H5D_chunk_readvv_ud_t udata; /* User data for H5V_opvv() operator */ ssize_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(io_info); @@ -5876,16 +5874,16 @@ H5D_nonexistent_readvv(const H5D_io_info_t *io_info, /* Call generic sequence operation routine */ if((ret_value = H5V_opvv(chunk_max_nseq, chunk_curr_seq, chunk_len_arr, chunk_off_arr, mem_max_nseq, mem_curr_seq, mem_len_arr, mem_off_arr, - H5D_nonexistent_readvv_cb, &udata)) < 0) + H5D__nonexistent_readvv_cb, &udata)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTOPERATE, FAIL, "can't perform vectorized fill value init") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_nonexistent_readvv() */ +} /* H5D__nonexistent_readvv() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_is_partial_edge_chunk + * Function: H5D__chunk_is_partial_edge_chunk * * Purpose: Checks to see if the chunk is a partial edge chunk. * Either dset or (dset_dims and dset_ndims) must be @@ -5899,14 +5897,14 @@ done: *------------------------------------------------------------------------- */ static htri_t -H5D_chunk_is_partial_edge_chunk(const hsize_t offset[], const H5D_t *dset, +H5D__chunk_is_partial_edge_chunk(const hsize_t offset[], const H5D_t *dset, unsigned dset_ndims, const hsize_t *dset_dims, const uint32_t *chunk_dims) { hsize_t _dset_dims[H5O_LAYOUT_NDIMS]; /* Dataset dimensions */ unsigned i; /* Local index variables */ htri_t ret_value = FALSE; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(offset); @@ -5937,11 +5935,11 @@ H5D_chunk_is_partial_edge_chunk(const hsize_t offset[], const H5D_t *dset, done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_is_partial_edge_chunk() */ +} /* H5D__chunk_is_partial_edge_chunk() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_find_flush_dep + * Function: H5D__chunk_find_flush_dep * * Purpose: Check cache (including temporary list of entries to be * evicted) for the specified chunk. @@ -5954,7 +5952,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_find_flush_dep(const H5D_rdcc_t *rdcc, +H5D__chunk_find_flush_dep(const H5D_rdcc_t *rdcc, const H5O_layout_chunk_t *layout, const hsize_t offset[], H5D_rdcc_ent_t **ent) { @@ -5963,7 +5961,7 @@ H5D_chunk_find_flush_dep(const H5D_rdcc_t *rdcc, unsigned u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(rdcc); @@ -6009,11 +6007,11 @@ H5D_chunk_find_flush_dep(const H5D_rdcc_t *rdcc, done: FUNC_LEAVE_NOAPI(ret_value); -} /* end H5D_chunk_find_flush_dep() */ +} /* end H5D__chunk_find_flush_dep() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_create_flush_dep + * Function: H5D__chunk_create_flush_dep * * Purpose: Creates a flush dependency between the specified chunk * (child) and parent. @@ -6026,13 +6024,13 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_create_flush_dep(const H5D_rdcc_t *rdcc, +H5D__chunk_create_flush_dep(const H5D_rdcc_t *rdcc, const H5O_layout_chunk_t *layout, const hsize_t offset[], void *parent) { H5D_rdcc_ent_t *ent = NULL; /* Cache entry */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Check args */ HDassert(rdcc); @@ -6041,21 +6039,21 @@ H5D_chunk_create_flush_dep(const H5D_rdcc_t *rdcc, HDassert(parent); /* Look for this chunk in cache */ - if(H5D_chunk_find_flush_dep(rdcc, layout, offset, &ent) < 0) + if(H5D__chunk_find_flush_dep(rdcc, layout, offset, &ent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk entry") /* Create the dependency on the chunk proxy */ if(ent) - if(H5D_chunk_proxy_create_flush_dep(ent, parent) < 0) + if(H5D__chunk_proxy_create_flush_dep(ent, parent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEPEND, FAIL, "unable to create flush dependency") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_create_flush_dep() */ +} /* H5D__chunk_create_flush_dep() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_update_flush_dep + * Function: H5D__chunk_update_flush_dep * * Purpose: Updates the flush dependency of the specified chunk from * old_parent to new_parent, but only if the current parent @@ -6069,14 +6067,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_update_flush_dep(const H5D_rdcc_t *rdcc, +H5D__chunk_update_flush_dep(const H5D_rdcc_t *rdcc, const H5O_layout_chunk_t *layout, const hsize_t offset[], void *old_parent, void *new_parent) { H5D_rdcc_ent_t *ent = NULL; /* Cache entry */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Check args */ HDassert(rdcc); @@ -6086,15 +6084,15 @@ H5D_chunk_update_flush_dep(const H5D_rdcc_t *rdcc, HDassert(new_parent); /* Look for this chunk in cache */ - if(H5D_chunk_find_flush_dep(rdcc, layout, offset, &ent) < 0) + if(H5D__chunk_find_flush_dep(rdcc, layout, offset, &ent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk entry") /* Update the dependencies on the chunk proxy */ if(ent) - if(H5D_chunk_proxy_update_flush_dep(ent, old_parent, new_parent) < 0) + if(H5D__chunk_proxy_update_flush_dep(ent, old_parent, new_parent) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEPEND, FAIL, "unable to update flush dependency") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_chunk_update_flush_dep() */ +} /* H5D__chunk_update_flush_dep() */ diff --git a/src/H5Dcompact.c b/src/H5Dcompact.c index a2682d8..3855b8b 100644 --- a/src/H5Dcompact.c +++ b/src/H5Dcompact.c @@ -58,18 +58,18 @@ /********************/ /* Layout operation callbacks */ -static herr_t H5D_compact_construct(H5F_t *f, H5D_t *dset); -static hbool_t H5D_compact_is_space_alloc(const H5O_storage_t *storage); -static herr_t H5D_compact_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +static herr_t H5D__compact_construct(H5F_t *f, H5D_t *dset); +static hbool_t H5D__compact_is_space_alloc(const H5O_storage_t *storage); +static herr_t H5D__compact_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *cm); -static ssize_t H5D_compact_readvv(const H5D_io_info_t *io_info, +static ssize_t H5D__compact_readvv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_size_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_size_arr[], hsize_t mem_offset_arr[]); -static ssize_t H5D_compact_writevv(const H5D_io_info_t *io_info, +static ssize_t H5D__compact_writevv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_size_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_size_arr[], hsize_t mem_offset_arr[]); -static herr_t H5D_compact_flush(H5D_t *dset, hid_t dxpl_id); +static herr_t H5D__compact_flush(H5D_t *dset, hid_t dxpl_id); /*********************/ @@ -78,19 +78,19 @@ static herr_t H5D_compact_flush(H5D_t *dset, hid_t dxpl_id); /* Compact storage layout I/O ops */ const H5D_layout_ops_t H5D_LOPS_COMPACT[1] = {{ - H5D_compact_construct, + H5D__compact_construct, NULL, - H5D_compact_is_space_alloc, - H5D_compact_io_init, - H5D_contig_read, - H5D_contig_write, + H5D__compact_is_space_alloc, + H5D__compact_io_init, + H5D__contig_read, + H5D__contig_write, #ifdef H5_HAVE_PARALLEL NULL, NULL, #endif /* H5_HAVE_PARALLEL */ - H5D_compact_readvv, - H5D_compact_writevv, - H5D_compact_flush, + H5D__compact_readvv, + H5D__compact_writevv, + H5D__compact_flush, NULL }}; @@ -105,7 +105,7 @@ H5FL_BLK_EXTERN(type_conv); /*------------------------------------------------------------------------- - * Function: H5D_compact_fill + * Function: H5D__compact_fill * * Purpose: Write fill values to a compactly stored dataset. * @@ -117,13 +117,13 @@ H5FL_BLK_EXTERN(type_conv); *------------------------------------------------------------------------- */ herr_t -H5D_compact_fill(H5D_t *dset, hid_t dxpl_id) +H5D__compact_fill(H5D_t *dset, hid_t dxpl_id) { H5D_fill_buf_info_t fb_info; /* Dataset's fill buffer info */ hbool_t fb_info_init = FALSE; /* Whether the fill value buffer has been initialized */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(TRUE == H5P_isa_class(dxpl_id, H5P_DATASET_XFER)); @@ -134,7 +134,7 @@ H5D_compact_fill(H5D_t *dset, hid_t dxpl_id) /* Initialize the fill value buffer */ /* (use the compact dataset storage buffer as the fill value buffer) */ - if(H5D_fill_init(&fb_info, dset->shared->layout.storage.u.compact.buf, + if(H5D__fill_init(&fb_info, dset->shared->layout.storage.u.compact.buf, NULL, NULL, NULL, NULL, &dset->shared->dcpl_cache.fill, dset->shared->type, dset->shared->type_id, (size_t)0, dset->shared->layout.storage.u.compact.size, dxpl_id) < 0) @@ -144,20 +144,20 @@ H5D_compact_fill(H5D_t *dset, hid_t dxpl_id) /* Check for VL datatype & non-default fill value */ if(fb_info.has_vlen_fill_type) /* Fill the buffer with VL datatype fill values */ - if(H5D_fill_refill_vl(&fb_info, fb_info.elmts_per_buf, dxpl_id) < 0) + if(H5D__fill_refill_vl(&fb_info, fb_info.elmts_per_buf, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "can't refill fill value buffer") done: /* Release the fill buffer info, if it's been initialized */ - if(fb_info_init && H5D_fill_term(&fb_info) < 0) + if(fb_info_init && H5D__fill_term(&fb_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_compact_fill() */ +} /* end H5D__compact_fill() */ /*------------------------------------------------------------------------- - * Function: H5D_compact_construct + * Function: H5D__compact_construct * * Purpose: Constructs new compact layout information for dataset * @@ -169,7 +169,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_compact_construct(H5F_t *f, H5D_t *dset) +H5D__compact_construct(H5F_t *f, H5D_t *dset) { hssize_t stmp_size; /* Temporary holder for raw data size */ hsize_t tmp_size; /* Temporary holder for raw data size */ @@ -180,7 +180,7 @@ H5D_compact_construct(H5F_t *f, H5D_t *dset) int i; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity checks */ HDassert(f); @@ -208,7 +208,7 @@ H5D_compact_construct(H5F_t *f, H5D_t *dset) * (64KB) minus other layout message fields. */ if(dset->shared->layout.version < H5O_LAYOUT_VERSION_4) - max_comp_data_size = H5O_MESG_MAX_SIZE - H5D_layout_meta_size(f, &(dset->shared->layout), FALSE); + max_comp_data_size = H5O_MESG_MAX_SIZE - H5D__layout_meta_size(f, &(dset->shared->layout), FALSE); else max_comp_data_size = H5O_MESG_MAX_SIZE - H5O_storage_meta_size(f, &(dset->shared->layout.storage), FALSE); if(dset->shared->layout.storage.u.compact.size > max_comp_data_size) @@ -216,11 +216,11 @@ H5D_compact_construct(H5F_t *f, H5D_t *dset) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_compact_construct() */ +} /* end H5D__compact_construct() */ /*------------------------------------------------------------------------- - * Function: H5D_compact_is_space_alloc + * Function: H5D__compact_is_space_alloc * * Purpose: Query if space is allocated for layout * @@ -232,20 +232,20 @@ done: *------------------------------------------------------------------------- */ static hbool_t -H5D_compact_is_space_alloc(const H5O_storage_t UNUSED *storage) +H5D__compact_is_space_alloc(const H5O_storage_t UNUSED *storage) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* Sanity checks */ HDassert(storage); /* Compact storage is currently always allocated */ FUNC_LEAVE_NOAPI(TRUE) -} /* end H5D_compact_is_space_alloc() */ +} /* end H5D__compact_is_space_alloc() */ /*------------------------------------------------------------------------- - * Function: H5D_compact_io_init + * Function: H5D__compact_io_init * * Purpose: Performs initialization before any sort of I/O on the raw data * @@ -257,21 +257,21 @@ H5D_compact_is_space_alloc(const H5O_storage_t UNUSED *storage) *------------------------------------------------------------------------- */ static herr_t -H5D_compact_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, +H5D__compact_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, hsize_t UNUSED nelmts, const H5S_t UNUSED *file_space, const H5S_t UNUSED *mem_space, H5D_chunk_map_t UNUSED *cm) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR io_info->store->compact.buf = io_info->dset->shared->layout.storage.u.compact.buf; io_info->store->compact.dirty = &io_info->dset->shared->layout.storage.u.compact.dirty; FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_compact_io_init() */ +} /* end H5D__compact_io_init() */ /*------------------------------------------------------------------------- - * Function: H5D_compact_readvv + * Function: H5D__compact_readvv * * Purpose: Reads some data vectors from a dataset into a buffer. * The data is in compact dataset. The address is relative @@ -289,13 +289,13 @@ H5D_compact_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED * *------------------------------------------------------------------------- */ static ssize_t -H5D_compact_readvv(const H5D_io_info_t *io_info, +H5D__compact_readvv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_size_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_size_arr[], hsize_t mem_offset_arr[]) { ssize_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(io_info); @@ -305,11 +305,11 @@ H5D_compact_readvv(const H5D_io_info_t *io_info, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_compact_readvv() */ +} /* end H5D__compact_readvv() */ /*------------------------------------------------------------------------- - * Function: H5D_compact_writevv + * Function: H5D__compact_writevv * * Purpose: Writes some data vectors from a dataset into a buffer. * The data is in compact dataset. The address is relative @@ -330,13 +330,13 @@ done: *------------------------------------------------------------------------- */ static ssize_t -H5D_compact_writevv(const H5D_io_info_t *io_info, +H5D__compact_writevv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_size_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_size_arr[], hsize_t mem_offset_arr[]) { ssize_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(io_info); @@ -349,11 +349,11 @@ H5D_compact_writevv(const H5D_io_info_t *io_info, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_compact_writevv() */ +} /* end H5D__compact_writevv() */ /*------------------------------------------------------------------------- - * Function: H5D_compact_flush + * Function: H5D__compact_flush * * Purpose: Writes dirty compact data to object header * @@ -365,11 +365,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_compact_flush(H5D_t *dset, hid_t dxpl_id) +H5D__compact_flush(H5D_t *dset, hid_t dxpl_id) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity check */ HDassert(dset); @@ -390,11 +390,11 @@ H5D_compact_flush(H5D_t *dset, hid_t dxpl_id) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_compact_flush() */ +} /* end H5D__compact_flush() */ /*------------------------------------------------------------------------- - * Function: H5D_compact_copy + * Function: H5D__compact_copy * * Purpose: Copy compact storage raw data from SRC file to DST file. * @@ -406,7 +406,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_compact_copy(H5F_t *f_src, H5O_storage_compact_t *storage_src, H5F_t *f_dst, +H5D__compact_copy(H5F_t *f_src, H5O_storage_compact_t *storage_src, H5F_t *f_dst, H5O_storage_compact_t *storage_dst, H5T_t *dt_src, H5O_copy_t *cpy_info, hid_t dxpl_id) { @@ -419,7 +419,7 @@ H5D_compact_copy(H5F_t *f_src, H5O_storage_compact_t *storage_src, H5F_t *f_dst, hid_t buf_sid = -1; /* ID for buffer dataspace */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(f_src); @@ -584,5 +584,5 @@ done: bkg = H5FL_BLK_FREE(type_conv, bkg); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_compact_copy() */ +} /* end H5D__compact_copy() */ diff --git a/src/H5Dcontig.c b/src/H5Dcontig.c index c1ff68c..acc7124 100644 --- a/src/H5Dcontig.c +++ b/src/H5Dcontig.c @@ -95,20 +95,20 @@ typedef struct H5D_contig_writevv_ud_t { /********************/ /* Layout operation callbacks */ -static herr_t H5D_contig_construct(H5F_t *f, H5D_t *dset); -static herr_t H5D_contig_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +static herr_t H5D__contig_construct(H5F_t *f, H5D_t *dset); +static herr_t H5D__contig_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *cm); -static ssize_t H5D_contig_readvv(const H5D_io_info_t *io_info, +static ssize_t H5D__contig_readvv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_offset_arr[]); -static ssize_t H5D_contig_writevv(const H5D_io_info_t *io_info, +static ssize_t H5D__contig_writevv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_offset_arr[]); -static herr_t H5D_contig_flush(H5D_t *dset, hid_t dxpl_id); +static herr_t H5D__contig_flush(H5D_t *dset, hid_t dxpl_id); /* Helper routines */ -static herr_t H5D_contig_write_one(H5D_io_info_t *io_info, hsize_t offset, +static herr_t H5D__contig_write_one(H5D_io_info_t *io_info, hsize_t offset, size_t size); @@ -118,19 +118,19 @@ static herr_t H5D_contig_write_one(H5D_io_info_t *io_info, hsize_t offset, /* Contiguous storage layout I/O ops */ const H5D_layout_ops_t H5D_LOPS_CONTIG[1] = {{ - H5D_contig_construct, + H5D__contig_construct, NULL, - H5D_contig_is_space_alloc, - H5D_contig_io_init, - H5D_contig_read, - H5D_contig_write, + H5D__contig_is_space_alloc, + H5D__contig_io_init, + H5D__contig_read, + H5D__contig_write, #ifdef H5_HAVE_PARALLEL - H5D_contig_collective_read, - H5D_contig_collective_write, + H5D__contig_collective_read, + H5D__contig_collective_write, #endif /* H5_HAVE_PARALLEL */ - H5D_contig_readvv, - H5D_contig_writevv, - H5D_contig_flush, + H5D__contig_readvv, + H5D__contig_writevv, + H5D__contig_flush, NULL }}; @@ -148,7 +148,7 @@ H5FL_BLK_EXTERN(type_conv); /*------------------------------------------------------------------------- - * Function: H5D_contig_alloc + * Function: H5D__contig_alloc * * Purpose: Allocate file space for a contiguously stored dataset * @@ -160,11 +160,11 @@ H5FL_BLK_EXTERN(type_conv); *------------------------------------------------------------------------- */ herr_t -H5D_contig_alloc(H5F_t *f, hid_t dxpl_id, H5O_storage_contig_t *storage /*out */ ) +H5D__contig_alloc(H5F_t *f, hid_t dxpl_id, H5O_storage_contig_t *storage /*out */ ) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* check args */ HDassert(f); @@ -176,11 +176,11 @@ H5D_contig_alloc(H5F_t *f, hid_t dxpl_id, H5O_storage_contig_t *storage /*out */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_alloc */ +} /* end H5D__contig_alloc */ /*------------------------------------------------------------------------- - * Function: H5D_contig_fill + * Function: H5D__contig_fill * * Purpose: Write fill values to a contiguously stored dataset. * @@ -192,7 +192,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_contig_fill(H5D_t *dset, hid_t dxpl_id) +H5D__contig_fill(H5D_t *dset, hid_t dxpl_id) { H5D_io_info_t ioinfo; /* Dataset I/O info */ H5D_storage_t store; /* Union of storage info for dataset */ @@ -213,7 +213,7 @@ H5D_contig_fill(H5D_t *dset, hid_t dxpl_id) hid_t my_dxpl_id; /* DXPL ID to use for this operation */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(TRUE == H5P_isa_class(dxpl_id, H5P_DATASET_XFER)); @@ -249,7 +249,7 @@ H5D_contig_fill(H5D_t *dset, hid_t dxpl_id) #endif /* H5_HAVE_PARALLEL */ /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(my_dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(my_dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Initialize storage info for this dataset */ @@ -262,7 +262,7 @@ H5D_contig_fill(H5D_t *dset, hid_t dxpl_id) H5_ASSIGN_OVERFLOW(npoints, snpoints, hssize_t, size_t); /* Initialize the fill value buffer */ - if(H5D_fill_init(&fb_info, NULL, NULL, NULL, NULL, NULL, + if(H5D__fill_init(&fb_info, NULL, NULL, NULL, NULL, NULL, &dset->shared->dcpl_cache.fill, dset->shared->type, dset->shared->type_id, npoints, dxpl_cache->max_temp_buf, my_dxpl_id) < 0) @@ -293,7 +293,7 @@ H5D_contig_fill(H5D_t *dset, hid_t dxpl_id) /* Check for VL datatype & non-default fill value */ if(fb_info.has_vlen_fill_type) /* Re-fill the buffer to use for this I/O operation */ - if(H5D_fill_refill_vl(&fb_info, curr_points, my_dxpl_id) < 0) + if(H5D__fill_refill_vl(&fb_info, curr_points, my_dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "can't refill fill value buffer") #ifdef H5_HAVE_PARALLEL @@ -302,7 +302,7 @@ H5D_contig_fill(H5D_t *dset, hid_t dxpl_id) /* Write the chunks out from only one process */ /* !! Use the internal "independent" DXPL!! -QAK */ if(H5_PAR_META_WRITE == mpi_rank) - if(H5D_contig_write_one(&ioinfo, offset, size) < 0) + if(H5D__contig_write_one(&ioinfo, offset, size) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to write fill value to dataset") /* Indicate that blocks are being written */ @@ -311,7 +311,7 @@ H5D_contig_fill(H5D_t *dset, hid_t dxpl_id) else { #endif /* H5_HAVE_PARALLEL */ H5_CHECK_OVERFLOW(size, size_t, hsize_t); - if(H5D_contig_write_one(&ioinfo, offset, size) < 0) + if(H5D__contig_write_one(&ioinfo, offset, size) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to write fill value to dataset") #ifdef H5_HAVE_PARALLEL } /* end else */ @@ -336,15 +336,15 @@ H5D_contig_fill(H5D_t *dset, hid_t dxpl_id) done: /* Release the fill buffer info, if it's been initialized */ - if(fb_info_init && H5D_fill_term(&fb_info) < 0) + if(fb_info_init && H5D__fill_term(&fb_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_fill() */ +} /* end H5D__contig_fill() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_delete + * Function: H5D__contig_delete * * Purpose: Delete the file space for a contiguously stored dataset * @@ -356,11 +356,11 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_contig_delete(H5F_t *f, hid_t dxpl_id, const H5O_storage_t *storage) +H5D__contig_delete(H5F_t *f, hid_t dxpl_id, const H5O_storage_t *storage) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* check args */ HDassert(f); @@ -372,36 +372,11 @@ H5D_contig_delete(H5F_t *f, hid_t dxpl_id, const H5O_storage_t *storage) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_delete */ +} /* end H5D__contig_delete */ /*------------------------------------------------------------------------- - * Function: H5D_contig_get_addr - * - * Purpose: Get the offset of the contiguous data on disk - * - * Return: Non-negative on success/Negative on failure - * - * Programmer: Quincey Koziol - * June 2, 2004 - * - *------------------------------------------------------------------------- - */ -haddr_t -H5D_contig_get_addr(const H5D_t *dset) -{ - FUNC_ENTER_NOAPI_NOERR - - /* check args */ - HDassert(dset); - HDassert(dset->shared->layout.type == H5D_CONTIGUOUS); - - FUNC_LEAVE_NOAPI(dset->shared->layout.storage.u.contig.addr) -} /* end H5D_contig_get_addr() */ - - -/*------------------------------------------------------------------------- - * Function: H5D_contig_construct + * Function: H5D__contig_construct * * Purpose: Constructs new contiguous layout information for dataset * @@ -414,7 +389,7 @@ H5D_contig_get_addr(const H5D_t *dset) */ /* ARGSUSED */ static herr_t -H5D_contig_construct(H5F_t *f, H5D_t *dset) +H5D__contig_construct(H5F_t *f, H5D_t *dset) { hssize_t snelmts; /* Temporary holder for number of elements in dataspace */ hsize_t nelmts; /* Number of elements in dataspace */ @@ -427,7 +402,7 @@ H5D_contig_construct(H5F_t *f, H5D_t *dset) int i; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity checks */ HDassert(f); @@ -477,11 +452,11 @@ H5D_contig_construct(H5F_t *f, H5D_t *dset) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_construct() */ +} /* end H5D__contig_construct() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_is_space_alloc + * Function: H5D__contig_is_space_alloc * * Purpose: Query if space is allocated for layout * @@ -493,11 +468,11 @@ done: *------------------------------------------------------------------------- */ hbool_t -H5D_contig_is_space_alloc(const H5O_storage_t *storage) +H5D__contig_is_space_alloc(const H5O_storage_t *storage) { hbool_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity checks */ HDassert(storage); @@ -506,11 +481,11 @@ H5D_contig_is_space_alloc(const H5O_storage_t *storage) ret_value = (hbool_t)H5F_addr_defined(storage->u.contig.addr); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_is_space_alloc() */ +} /* end H5D__contig_is_space_alloc() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_io_init + * Function: H5D__contig_io_init * * Purpose: Performs initialization before any sort of I/O on the raw data * @@ -522,21 +497,21 @@ H5D_contig_is_space_alloc(const H5O_storage_t *storage) *------------------------------------------------------------------------- */ static herr_t -H5D_contig_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, +H5D__contig_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, hsize_t UNUSED nelmts, const H5S_t UNUSED *file_space, const H5S_t UNUSED *mem_space, H5D_chunk_map_t UNUSED *cm) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR io_info->store->contig.dset_addr = io_info->dset->shared->layout.storage.u.contig.addr; io_info->store->contig.dset_size = io_info->dset->shared->layout.storage.u.contig.size; FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_contig_io_init() */ +} /* end H5D__contig_io_init() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_read + * Function: H5D__contig_read * * Purpose: Read from a contiguous dataset. * @@ -548,13 +523,13 @@ H5D_contig_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *t *------------------------------------------------------------------------- */ herr_t -H5D_contig_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__contig_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t UNUSED *fm) { herr_t ret_value = SUCCEED; /*return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(io_info); @@ -569,11 +544,11 @@ H5D_contig_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_read() */ +} /* end H5D__contig_read() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_write + * Function: H5D__contig_write * * Purpose: Write to a contiguous dataset. * @@ -585,13 +560,13 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_contig_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__contig_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t UNUSED *fm) { herr_t ret_value = SUCCEED; /*return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(io_info); @@ -606,11 +581,11 @@ H5D_contig_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_write() */ +} /* end H5D__contig_write() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_write_one + * Function: H5D__contig_write_one * * Purpose: Writes some data from a dataset into a buffer. * The data is contiguous. The address is relative to the base @@ -624,7 +599,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_contig_write_one(H5D_io_info_t *io_info, hsize_t offset, size_t size) +H5D__contig_write_one(H5D_io_info_t *io_info, hsize_t offset, size_t size) { hsize_t dset_off = offset; /* Offset in dataset */ size_t dset_len = size; /* Length in dataset */ @@ -634,23 +609,23 @@ H5D_contig_write_one(H5D_io_info_t *io_info, hsize_t offset, size_t size) size_t mem_curr_seq = 0; /* "Current sequence" in memory */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(io_info); - if(H5D_contig_writevv(io_info, (size_t)1, &dset_curr_seq, &dset_len, &dset_off, + if(H5D__contig_writevv(io_info, (size_t)1, &dset_curr_seq, &dset_len, &dset_off, (size_t)1, &mem_curr_seq, &mem_len, &mem_off) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "vector write failed") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_write_one() */ +} /* end H5D__contig_write_one() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_readvv_sieve_cb + * Function: H5D__contig_readvv_sieve_cb * - * Purpose: Callback operator for H5D_contig_readvv() with sieve buffer. + * Purpose: Callback operator for H5D__contig_readvv() with sieve buffer. * * Return: Non-negative on success/Negative on failure * @@ -660,7 +635,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_contig_readvv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len, +H5D__contig_readvv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) { H5D_contig_readvv_sieve_ud_t *udata = (H5D_contig_readvv_sieve_ud_t *)_udata; /* User data for H5V_opvv() operator */ @@ -676,7 +651,7 @@ H5D_contig_readvv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len, hsize_t max_data; /* Actual maximum size of data to cache */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Stash local copies of these value */ if(dset_contig->sieve_buf != NULL) { @@ -811,13 +786,13 @@ H5D_contig_readvv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_readvv_sieve_cb() */ +} /* end H5D__contig_readvv_sieve_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_readvv_cb + * Function: H5D__contig_readvv_cb * - * Purpose: Callback operator for H5D_contig_readvv() without sieve buffer. + * Purpose: Callback operator for H5D__contig_readvv() without sieve buffer. * * Return: Non-negative on success/Negative on failure * @@ -827,12 +802,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_contig_readvv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) +H5D__contig_readvv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) { H5D_contig_readvv_ud_t *udata = (H5D_contig_readvv_ud_t *)_udata; /* User data for H5V_opvv() operator */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Write data */ if(H5F_block_read(udata->file, H5FD_MEM_DRAW, (udata->dset_addr + dst_off), @@ -841,11 +816,11 @@ H5D_contig_readvv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_readvv_cb() */ +} /* end H5D__contig_readvv_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_readvv + * Function: H5D__contig_readvv * * Purpose: Reads some data vectors from a dataset into a buffer. * The data is contiguous. The address is the start of the dataset, @@ -863,13 +838,13 @@ done: *------------------------------------------------------------------------- */ static ssize_t -H5D_contig_readvv(const H5D_io_info_t *io_info, +H5D__contig_readvv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_off_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_off_arr[]) { ssize_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(io_info); @@ -894,7 +869,7 @@ H5D_contig_readvv(const H5D_io_info_t *io_info, /* Call generic sequence operation routine */ if((ret_value = H5V_opvv(dset_max_nseq, dset_curr_seq, dset_len_arr, dset_off_arr, mem_max_nseq, mem_curr_seq, mem_len_arr, mem_off_arr, - H5D_contig_readvv_sieve_cb, &udata)) < 0) + H5D__contig_readvv_sieve_cb, &udata)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTOPERATE, FAIL, "can't perform vectorized sieve buffer read") } /* end if */ else { @@ -909,19 +884,19 @@ H5D_contig_readvv(const H5D_io_info_t *io_info, /* Call generic sequence operation routine */ if((ret_value = H5V_opvv(dset_max_nseq, dset_curr_seq, dset_len_arr, dset_off_arr, mem_max_nseq, mem_curr_seq, mem_len_arr, mem_off_arr, - H5D_contig_readvv_cb, &udata)) < 0) + H5D__contig_readvv_cb, &udata)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTOPERATE, FAIL, "can't perform vectorized read") } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_readvv() */ +} /* end H5D__contig_readvv() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_writevv_sieve_cb + * Function: H5D__contig_writevv_sieve_cb * - * Purpose: Callback operator for H5D_contig_writevv() with sieve buffer. + * Purpose: Callback operator for H5D__contig_writevv() with sieve buffer. * * Return: Non-negative on success/Negative on failure * @@ -931,7 +906,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_contig_writevv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len, +H5D__contig_writevv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) { H5D_contig_writevv_sieve_ud_t *udata = (H5D_contig_writevv_sieve_ud_t *)_udata; /* User data for H5V_opvv() operator */ @@ -947,7 +922,7 @@ H5D_contig_writevv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len, hsize_t max_data; /* Actual maximum size of data to cache */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Stash local copies of these values */ if(dset_contig->sieve_buf != NULL) { @@ -1133,13 +1108,13 @@ if(dset_contig->sieve_size > len) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_writevv_sieve_cb() */ +} /* end H5D__contig_writevv_sieve_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_writevv_cb + * Function: H5D__contig_writevv_cb * - * Purpose: Callback operator for H5D_contig_writevv(). + * Purpose: Callback operator for H5D__contig_writevv(). * * Return: Non-negative on success/Negative on failure * @@ -1149,12 +1124,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_contig_writevv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) +H5D__contig_writevv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) { H5D_contig_writevv_ud_t *udata = (H5D_contig_writevv_ud_t *)_udata; /* User data for H5V_opvv() operator */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Write data */ if(H5F_block_write(udata->file, H5FD_MEM_DRAW, (udata->dset_addr + dst_off), len, udata->dxpl_id, (udata->wbuf + src_off)) < 0) @@ -1162,11 +1137,11 @@ H5D_contig_writevv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_writevv_cb() */ +} /* end H5D__contig_writevv_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_writevv + * Function: H5D__contig_writevv * * Purpose: Writes some data vectors into a dataset from vectors into a * buffer. The address is the start of the dataset, @@ -1184,13 +1159,13 @@ done: *------------------------------------------------------------------------- */ static ssize_t -H5D_contig_writevv(const H5D_io_info_t *io_info, +H5D__contig_writevv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_off_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_off_arr[]) { ssize_t ret_value; /* Return value (Size of sequence in bytes) */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(io_info); @@ -1215,7 +1190,7 @@ H5D_contig_writevv(const H5D_io_info_t *io_info, /* Call generic sequence operation routine */ if((ret_value = H5V_opvv(dset_max_nseq, dset_curr_seq, dset_len_arr, dset_off_arr, mem_max_nseq, mem_curr_seq, mem_len_arr, mem_off_arr, - H5D_contig_writevv_sieve_cb, &udata)) < 0) + H5D__contig_writevv_sieve_cb, &udata)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTOPERATE, FAIL, "can't perform vectorized sieve buffer write") } /* end if */ else { @@ -1230,17 +1205,17 @@ H5D_contig_writevv(const H5D_io_info_t *io_info, /* Call generic sequence operation routine */ if((ret_value = H5V_opvv(dset_max_nseq, dset_curr_seq, dset_len_arr, dset_off_arr, mem_max_nseq, mem_curr_seq, mem_len_arr, mem_off_arr, - H5D_contig_writevv_cb, &udata)) < 0) + H5D__contig_writevv_cb, &udata)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTOPERATE, FAIL, "can't perform vectorized read") } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_writevv() */ +} /* end H5D__contig_writevv() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_flush + * Function: H5D__contig_flush * * Purpose: Writes all dirty data to disk. * @@ -1252,26 +1227,26 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_contig_flush(H5D_t *dset, hid_t dxpl_id) +H5D__contig_flush(H5D_t *dset, hid_t dxpl_id) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity check */ HDassert(dset); /* Flush any data in sieve buffer */ - if(H5D_flush_sieve_buf(dset, dxpl_id) < 0) + if(H5D__flush_sieve_buf(dset, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFLUSH, FAIL, "unable to flush sieve buffer") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_flush() */ +} /* end H5D__contig_flush() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_copy + * Function: H5D__contig_copy * * Purpose: Copy contiguous storage raw data from SRC file to DST file. * @@ -1283,7 +1258,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_contig_copy(H5F_t *f_src, const H5O_storage_contig_t *storage_src, +H5D__contig_copy(H5F_t *f_src, const H5O_storage_contig_t *storage_src, H5F_t *f_dst, H5O_storage_contig_t *storage_dst, H5T_t *dt_src, H5O_copy_t *cpy_info, hid_t dxpl_id) { @@ -1315,7 +1290,7 @@ H5D_contig_copy(H5F_t *f_src, const H5O_storage_contig_t *storage_src, hbool_t fix_ref = FALSE; /* Flag to indicate that ref values should be fixed */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(f_src); @@ -1325,7 +1300,7 @@ H5D_contig_copy(H5F_t *f_src, const H5O_storage_contig_t *storage_src, HDassert(dt_src); /* Allocate space for destination raw data */ - if(H5D_contig_alloc(f_dst, dxpl_id, storage_dst) < 0) + if(H5D__contig_alloc(f_dst, dxpl_id, storage_dst) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to allocate contiguous storage") /* Set up number of bytes to copy, and initial buffer size */ @@ -1532,5 +1507,5 @@ done: bkg = H5FL_BLK_FREE(type_conv, bkg); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_copy() */ +} /* end H5D__contig_copy() */ diff --git a/src/H5Ddbg.c b/src/H5Ddbg.c index 9b27c9c..a7c6dc1 100644 --- a/src/H5Ddbg.c +++ b/src/H5Ddbg.c @@ -20,7 +20,7 @@ #define H5D_PACKAGE /*suppress error about including H5Dpkg */ /* Interface initialization */ -#define H5_INTERFACE_INIT_FUNC H5D_init_dbg_interface +#define H5_INTERFACE_INIT_FUNC H5D__init_dbg_interface /***********/ @@ -64,9 +64,9 @@ /*-------------------------------------------------------------------------- NAME - H5D_init_dbg_interface -- Initialize interface-specific information + H5D__init_dbg_interface -- Initialize interface-specific information USAGE - herr_t H5D_init_dbg_interface() + herr_t H5D__init_dbg_interface() RETURNS Non-negative on success/Negative on failure DESCRIPTION @@ -75,12 +75,12 @@ DESCRIPTION --------------------------------------------------------------------------*/ static herr_t -H5D_init_dbg_interface(void) +H5D__init_dbg_interface(void) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR FUNC_LEAVE_NOAPI(H5D_init()) -} /* H5D_init_dbg_interface() */ +} /* H5D__init_dbg_interface() */ /*------------------------------------------------------------------------- @@ -113,7 +113,7 @@ H5Ddebug(hid_t dset_id) /* Print B-tree information */ if(H5D_CHUNKED == dset->shared->layout.type) - (void)H5D_chunk_dump_index(dset, H5AC_dxpl_id, stdout); + (void)H5D__chunk_dump_index(dset, H5AC_dxpl_id, stdout); else if(H5D_CONTIGUOUS == dset->shared->layout.type) HDfprintf(stdout, " %-10s %a\n", "Address:", dset->shared->layout.storage.u.contig.addr); diff --git a/src/H5Ddeprec.c b/src/H5Ddeprec.c index 7e65149..1999550 100644 --- a/src/H5Ddeprec.c +++ b/src/H5Ddeprec.c @@ -34,7 +34,7 @@ #define H5D_PACKAGE /*suppress error about including H5Dpkg */ /* Interface initialization */ -#define H5_INTERFACE_INIT_FUNC H5D_init_deprec_interface +#define H5_INTERFACE_INIT_FUNC H5D__init_deprec_interface /***********/ @@ -66,7 +66,7 @@ /********************/ #ifndef H5_NO_DEPRECATED_SYMBOLS -static herr_t H5D_extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id); +static herr_t H5D__extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id); #endif /* H5_NO_DEPRECATED_SYMBOLS */ @@ -88,9 +88,9 @@ static herr_t H5D_extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id); /*-------------------------------------------------------------------------- NAME - H5D_init_deprec_interface -- Initialize interface-specific information + H5D__init_deprec_interface -- Initialize interface-specific information USAGE - herr_t H5D_init_deprec_interface() + herr_t H5D__init_deprec_interface() RETURNS Non-negative on success/Negative on failure DESCRIPTION @@ -99,12 +99,12 @@ DESCRIPTION --------------------------------------------------------------------------*/ static herr_t -H5D_init_deprec_interface(void) +H5D__init_deprec_interface(void) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR FUNC_LEAVE_NOAPI(H5D_init()) -} /* H5D_init_deprec_interface() */ +} /* H5D__init_deprec_interface() */ #ifndef H5_NO_DEPRECATED_SYMBOLS @@ -293,7 +293,7 @@ H5Dextend(hid_t dset_id, const hsize_t size[]) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no size specified") /* Increase size */ - if(H5D_extend(dset, size, H5AC_dxpl_id) < 0) + if(H5D__extend(dset, size, H5AC_dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to extend dataset") done: @@ -302,7 +302,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5D_extend + * Function: H5D__extend * * Purpose: Increases the size of a dataset. * @@ -314,7 +314,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id) +H5D__extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id) { htri_t changed; /* Flag to indicate that the dataspace was successfully extended */ H5S_t *space; /* Dataset's dataspace */ @@ -323,14 +323,14 @@ H5D_extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id) H5O_fill_t *fill; /* Dataset's fill value */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(dataset); HDassert(size); /* Check if the filters in the DCPL will need to encode, and if so, can they? */ - if(H5D_check_filters(dataset) < 0) + if(H5D__check_filters(dataset) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't apply filters") /* @@ -352,26 +352,26 @@ H5D_extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id) if(changed) { /* Update the index values for the cached chunks for this dataset */ if(H5D_CHUNKED == dataset->shared->layout.type) { - if(H5D_chunk_set_info(dataset) < 0) + if(H5D__chunk_set_info(dataset) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to update # of chunks") - if(H5D_chunk_update_cache(dataset, dxpl_id) < 0) + if(H5D__chunk_update_cache(dataset, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to update cached chunk indices") } /* end if */ /* Allocate space for the new parts of the dataset, if appropriate */ fill = &dataset->shared->dcpl_cache.fill; if(fill->alloc_time == H5D_ALLOC_TIME_EARLY) - if(H5D_alloc_storage(dataset, dxpl_id, H5D_ALLOC_EXTEND, FALSE, + if(H5D__alloc_storage(dataset, dxpl_id, H5D_ALLOC_EXTEND, FALSE, curr_dims) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize dataset with fill value") /* Mark the dataspace as dirty, for later writing to the file */ - if(H5D_mark(dataset, dxpl_id, H5D_MARK_SPACE) < 0) + if(H5D__mark(dataset, dxpl_id, H5D_MARK_SPACE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to mark dataspace as dirty") } /* end if */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_extend() */ +} /* end H5D__extend() */ #endif /* H5_NO_DEPRECATED_SYMBOLS */ diff --git a/src/H5Defl.c b/src/H5Defl.c index 51e8813..c5cf8e2 100644 --- a/src/H5Defl.c +++ b/src/H5Defl.c @@ -63,21 +63,21 @@ typedef struct H5D_efl_writevv_ud_t { /********************/ /* Layout operation callbacks */ -static herr_t H5D_efl_construct(H5F_t *f, H5D_t *dset); -static herr_t H5D_efl_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +static herr_t H5D__efl_construct(H5F_t *f, H5D_t *dset); +static herr_t H5D__efl_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *cm); -static ssize_t H5D_efl_readvv(const H5D_io_info_t *io_info, +static ssize_t H5D__efl_readvv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_offset_arr[]); -static ssize_t H5D_efl_writevv(const H5D_io_info_t *io_info, +static ssize_t H5D__efl_writevv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_offset_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_offset_arr[]); /* Helper routines */ -static herr_t H5D_efl_read(const H5O_efl_t *efl, haddr_t addr, size_t size, +static herr_t H5D__efl_read(const H5O_efl_t *efl, haddr_t addr, size_t size, uint8_t *buf); -static herr_t H5D_efl_write(const H5O_efl_t *efl, haddr_t addr, size_t size, +static herr_t H5D__efl_write(const H5O_efl_t *efl, haddr_t addr, size_t size, const uint8_t *buf); @@ -87,18 +87,18 @@ static herr_t H5D_efl_write(const H5O_efl_t *efl, haddr_t addr, size_t size, /* External File List (EFL) storage layout I/O ops */ const H5D_layout_ops_t H5D_LOPS_EFL[1] = {{ - H5D_efl_construct, + H5D__efl_construct, NULL, - H5D_efl_is_space_alloc, - H5D_efl_io_init, - H5D_contig_read, - H5D_contig_write, + H5D__efl_is_space_alloc, + H5D__efl_io_init, + H5D__contig_read, + H5D__contig_write, #ifdef H5_HAVE_PARALLEL NULL, NULL, #endif /* H5_HAVE_PARALLEL */ - H5D_efl_readvv, - H5D_efl_writevv, + H5D__efl_readvv, + H5D__efl_writevv, NULL, NULL }}; @@ -111,7 +111,7 @@ const H5D_layout_ops_t H5D_LOPS_EFL[1] = {{ /*------------------------------------------------------------------------- - * Function: H5D_efl_construct + * Function: H5D__efl_construct * * Purpose: Constructs new EFL layout information for dataset * @@ -123,7 +123,7 @@ const H5D_layout_ops_t H5D_LOPS_EFL[1] = {{ *------------------------------------------------------------------------- */ static herr_t -H5D_efl_construct(H5F_t *f, H5D_t *dset) +H5D__efl_construct(H5F_t *f, H5D_t *dset) { size_t dt_size; /* Size of datatype */ hsize_t dim[H5O_LAYOUT_NDIMS]; /* Current size of data in elements */ @@ -136,7 +136,7 @@ H5D_efl_construct(H5F_t *f, H5D_t *dset) int i; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity checks */ HDassert(f); @@ -182,11 +182,11 @@ H5D_efl_construct(H5F_t *f, H5D_t *dset) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_efl_construct() */ +} /* end H5D__efl_construct() */ /*------------------------------------------------------------------------- - * Function: H5D_efl_is_space_alloc + * Function: H5D__efl_is_space_alloc * * Purpose: Query if space is allocated for layout * @@ -198,20 +198,20 @@ done: *------------------------------------------------------------------------- */ hbool_t -H5D_efl_is_space_alloc(const H5O_storage_t UNUSED *storage) +H5D__efl_is_space_alloc(const H5O_storage_t UNUSED *storage) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Sanity checks */ HDassert(storage); /* EFL storage is currently always treated as allocated */ FUNC_LEAVE_NOAPI(TRUE) -} /* end H5D_efl_is_space_alloc() */ +} /* end H5D__efl_is_space_alloc() */ /*------------------------------------------------------------------------- - * Function: H5D_efl_io_init + * Function: H5D__efl_io_init * * Purpose: Performs initialization before any sort of I/O on the raw data * @@ -223,20 +223,20 @@ H5D_efl_is_space_alloc(const H5O_storage_t UNUSED *storage) *------------------------------------------------------------------------- */ static herr_t -H5D_efl_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, +H5D__efl_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, hsize_t UNUSED nelmts, const H5S_t UNUSED *file_space, const H5S_t UNUSED *mem_space, H5D_chunk_map_t UNUSED *cm) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDmemcpy(&io_info->store->efl, &(io_info->dset->shared->dcpl_cache.efl), sizeof(H5O_efl_t)); FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_efl_io_init() */ +} /* end H5D__efl_io_init() */ /*------------------------------------------------------------------------- - * Function: H5D_efl_read + * Function: H5D__efl_read * * Purpose: Reads data from an external file list. It is an error to * read past the logical end of file, but reading past the end @@ -254,7 +254,7 @@ H5D_efl_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type *------------------------------------------------------------------------- */ static herr_t -H5D_efl_read(const H5O_efl_t *efl, haddr_t addr, size_t size, uint8_t *buf) +H5D__efl_read(const H5O_efl_t *efl, haddr_t addr, size_t size, uint8_t *buf) { int fd = -1; size_t to_read; @@ -267,40 +267,40 @@ H5D_efl_read(const H5O_efl_t *efl, haddr_t addr, size_t size, uint8_t *buf) size_t u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ - HDassert(efl && efl->nused>0); + HDassert(efl && efl->nused > 0); HDassert(H5F_addr_defined(addr)); HDassert(size < SIZET_MAX); HDassert(buf || 0 == size); /* Find the first efl member from which to read */ for (u=0, cur=0; unused; u++) { - if (H5O_EFL_UNLIMITED==efl->slot[u].size || addr < cur+efl->slot[u].size) { + if(H5O_EFL_UNLIMITED == efl->slot[u].size || addr < cur + efl->slot[u].size) { skip = addr - cur; break; - } + } /* end if */ cur += efl->slot[u].size; - } + } /* end for */ /* Read the data */ while(size) { HDassert(buf); - if(u>=efl->nused) + if(u >= efl->nused) HGOTO_ERROR(H5E_EFL, H5E_OVERFLOW, FAIL, "read past logical end of file") - if(H5F_OVERFLOW_HSIZET2OFFT (efl->slot[u].offset + skip)) + if(H5F_OVERFLOW_HSIZET2OFFT(efl->slot[u].offset + skip)) HGOTO_ERROR(H5E_EFL, H5E_OVERFLOW, FAIL, "external file address overflowed") if((fd = HDopen(efl->slot[u].name, O_RDONLY, 0)) < 0) HGOTO_ERROR(H5E_EFL, H5E_CANTOPENFILE, FAIL, "unable to open external raw data file") if(HDlseek(fd, (off_t)(efl->slot[u].offset + skip), SEEK_SET) < 0) HGOTO_ERROR(H5E_EFL, H5E_SEEKERROR, FAIL, "unable to seek in external raw data file") #ifndef NDEBUG - tempto_read = MIN(efl->slot[u].size-skip,(hsize_t)size); - H5_CHECK_OVERFLOW(tempto_read,hsize_t,size_t); + tempto_read = MIN(efl->slot[u].size-skip, (hsize_t)size); + H5_CHECK_OVERFLOW(tempto_read, hsize_t, size_t); to_read = (size_t)tempto_read; #else /* NDEBUG */ - to_read = MIN((size_t)(efl->slot[u].size-skip), size); + to_read = MIN((size_t)(efl->slot[u].size - skip), size); #endif /* NDEBUG */ if((n = HDread(fd, buf, to_read)) < 0) HGOTO_ERROR(H5E_EFL, H5E_READERROR, FAIL, "read error in external raw data file") @@ -312,18 +312,18 @@ H5D_efl_read(const H5O_efl_t *efl, haddr_t addr, size_t size, uint8_t *buf) buf += to_read; skip = 0; u++; - } + } /* end while */ done: - if (fd>=0) - HDclose (fd); + if(fd >= 0) + HDclose(fd); FUNC_LEAVE_NOAPI(ret_value) -} +} /* end H5D__efl_read() */ /*------------------------------------------------------------------------- - * Function: H5D_efl_write + * Function: H5D__efl_write * * Purpose: Writes data to an external file list. It is an error to * write past the logical end of file, but writing past the end @@ -341,7 +341,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_efl_write(const H5O_efl_t *efl, haddr_t addr, size_t size, const uint8_t *buf) +H5D__efl_write(const H5O_efl_t *efl, haddr_t addr, size_t size, const uint8_t *buf) { int fd = -1; size_t to_write; @@ -353,7 +353,7 @@ H5D_efl_write(const H5O_efl_t *efl, haddr_t addr, size_t size, const uint8_t *bu size_t u; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(efl && efl->nused > 0); @@ -377,7 +377,7 @@ H5D_efl_write(const H5O_efl_t *efl, haddr_t addr, size_t size, const uint8_t *bu HGOTO_ERROR(H5E_EFL, H5E_OVERFLOW, FAIL, "write past logical end of file") if(H5F_OVERFLOW_HSIZET2OFFT(efl->slot[u].offset + skip)) HGOTO_ERROR(H5E_EFL, H5E_OVERFLOW, FAIL, "external file address overflowed") - if((fd = HDopen(efl->slot[u].name, O_CREAT|O_RDWR, 0666)) < 0) { + if((fd = HDopen(efl->slot[u].name, O_CREAT | O_RDWR, 0666)) < 0) { if(HDaccess(efl->slot[u].name, F_OK) < 0) HGOTO_ERROR(H5E_EFL, H5E_CANTOPENFILE, FAIL, "external raw data file does not exist") else @@ -392,7 +392,7 @@ H5D_efl_write(const H5O_efl_t *efl, haddr_t addr, size_t size, const uint8_t *bu #else /* NDEBUG */ to_write = MIN((size_t)(efl->slot[u].size - skip), size); #endif /* NDEBUG */ - if((size_t)HDwrite(fd, buf, to_write)!=to_write) + if((size_t)HDwrite(fd, buf, to_write) != to_write) HGOTO_ERROR(H5E_EFL, H5E_READERROR, FAIL, "write error in external raw data file") HDclose (fd); fd = -1; @@ -407,13 +407,13 @@ done: HDclose(fd); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_efl_write() */ +} /* end H5D__efl_write() */ /*------------------------------------------------------------------------- - * Function: H5D_efl_readvv_cb + * Function: H5D__efl_readvv_cb * - * Purpose: Callback operator for H5D_efl_readvv(). + * Purpose: Callback operator for H5D__efl_readvv(). * * Return: Non-negative on success/Negative on failure * @@ -423,24 +423,24 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_efl_readvv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) +H5D__efl_readvv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) { H5D_efl_readvv_ud_t *udata = (H5D_efl_readvv_ud_t *)_udata; /* User data for H5V_opvv() operator */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Read data */ - if(H5D_efl_read(udata->efl, dst_off, len, (udata->rbuf + src_off)) < 0) + if(H5D__efl_read(udata->efl, dst_off, len, (udata->rbuf + src_off)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "EFL read failed") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_efl_readvv_cb() */ +} /* end H5D__efl_readvv_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_efl_readvv + * Function: H5D__efl_readvv * * Purpose: Reads data from an external file list. It is an error to * read past the logical end of file, but reading past the end @@ -455,14 +455,14 @@ done: *------------------------------------------------------------------------- */ static ssize_t -H5D_efl_readvv(const H5D_io_info_t *io_info, +H5D__efl_readvv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_off_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_off_arr[]) { H5D_efl_readvv_ud_t udata; /* User data for H5V_opvv() operator */ ssize_t ret_value; /* Return value (Total size of sequence in bytes) */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(io_info); @@ -482,18 +482,18 @@ H5D_efl_readvv(const H5D_io_info_t *io_info, /* Call generic sequence operation routine */ if((ret_value = H5V_opvv(dset_max_nseq, dset_curr_seq, dset_len_arr, dset_off_arr, mem_max_nseq, mem_curr_seq, mem_len_arr, mem_off_arr, - H5D_efl_readvv_cb, &udata)) < 0) + H5D__efl_readvv_cb, &udata)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTOPERATE, FAIL, "can't perform vectorized EFL read") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_efl_readvv() */ +} /* end H5D__efl_readvv() */ /*------------------------------------------------------------------------- - * Function: H5D_efl_writevv_cb + * Function: H5D__efl_writevv_cb * - * Purpose: Callback operator for H5D_efl_writevv(). + * Purpose: Callback operator for H5D__efl_writevv(). * * Return: Non-negative on success/Negative on failure * @@ -503,24 +503,24 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_efl_writevv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) +H5D__efl_writevv_cb(hsize_t dst_off, hsize_t src_off, size_t len, void *_udata) { H5D_efl_writevv_ud_t *udata = (H5D_efl_writevv_ud_t *)_udata; /* User data for H5V_opvv() operator */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Write data */ - if(H5D_efl_write(udata->efl, dst_off, len, (udata->wbuf + src_off)) < 0) + if(H5D__efl_write(udata->efl, dst_off, len, (udata->wbuf + src_off)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "EFL write failed") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_efl_writevv_cb() */ +} /* end H5D__efl_writevv_cb() */ /*------------------------------------------------------------------------- - * Function: H5D_efl_writevv + * Function: H5D__efl_writevv * * Purpose: Writes data to an external file list. It is an error to * write past the logical end of file, but writing past the end @@ -535,14 +535,14 @@ done: *------------------------------------------------------------------------- */ static ssize_t -H5D_efl_writevv(const H5D_io_info_t *io_info, +H5D__efl_writevv(const H5D_io_info_t *io_info, size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_len_arr[], hsize_t dset_off_arr[], size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_off_arr[]) { H5D_efl_writevv_ud_t udata; /* User data for H5V_opvv() operator */ ssize_t ret_value; /* Return value (Total size of sequence in bytes) */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(io_info); @@ -562,15 +562,15 @@ H5D_efl_writevv(const H5D_io_info_t *io_info, /* Call generic sequence operation routine */ if((ret_value = H5V_opvv(dset_max_nseq, dset_curr_seq, dset_len_arr, dset_off_arr, mem_max_nseq, mem_curr_seq, mem_len_arr, mem_off_arr, - H5D_efl_writevv_cb, &udata)) < 0) + H5D__efl_writevv_cb, &udata)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTOPERATE, FAIL, "can't perform vectorized EFL write") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_efl_writevv() */ +} /* end H5D__efl_writevv() */ /*------------------------------------------------------------------------- - * Function: H5D_efl_bh_size + * Function: H5D__efl_bh_info * * Purpose: Retrieve the amount of heap storage used for External File * List message @@ -583,11 +583,11 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_efl_bh_info(H5F_t *f, hid_t dxpl_id, H5O_efl_t *efl, hsize_t *heap_size) +H5D__efl_bh_info(H5F_t *f, hid_t dxpl_id, H5O_efl_t *efl, hsize_t *heap_size) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(f); @@ -601,4 +601,4 @@ H5D_efl_bh_info(H5F_t *f, hid_t dxpl_id, H5O_efl_t *efl, hsize_t *heap_size) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_bh_info() */ +} /* end H5D__efl_bh_info() */ diff --git a/src/H5Dfill.c b/src/H5Dfill.c index c0a9766..2edb363 100644 --- a/src/H5Dfill.c +++ b/src/H5Dfill.c @@ -61,6 +61,8 @@ /* Local Prototypes */ /********************/ +static herr_t H5D__fill_release(H5D_fill_buf_info_t *fb_info); + /*********************/ /* Package Variables */ @@ -131,7 +133,7 @@ H5Dfill(const void *fill, hid_t fill_type_id, void *buf, hid_t buf_type_id, hid_ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not a datatype") /* Fill the selection in the memory buffer */ - if(H5D_fill(fill, fill_type, buf, buf_type, space, H5AC_dxpl_id) < 0) + if(H5D__fill(fill, fill_type, buf, buf_type, space, H5AC_dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTENCODE, FAIL, "filling selection failed") done: @@ -141,11 +143,11 @@ done: /*-------------------------------------------------------------------------- NAME - H5D_fill + H5D__fill PURPOSE Fill a selection in memory with a value (internal version) USAGE - herr_t H5D_fill(fill, fill_type, buf, buf_type, space) + herr_t H5D__fill(fill, fill_type, buf, buf_type, space) const void *fill; IN: Pointer to fill value to use H5T_t *fill_type; IN: Datatype of the fill value void *buf; IN/OUT: Memory buffer to fill selection within @@ -168,7 +170,7 @@ done: on each element so that each of them has a copy of the VL data. --------------------------------------------------------------------------*/ herr_t -H5D_fill(const void *fill, const H5T_t *fill_type, void *buf, +H5D__fill(const void *fill, const H5T_t *fill_type, void *buf, const H5T_t *buf_type, const H5S_t *space, hid_t dxpl_id) { H5WB_t *elem_wb = NULL; /* Wrapped buffer for element data */ @@ -181,7 +183,7 @@ H5D_fill(const void *fill, const H5T_t *fill_type, void *buf, size_t dst_type_size; /* Size of destination type*/ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Check args */ HDassert(fill_type); @@ -267,7 +269,7 @@ H5D_fill(const void *fill, const H5T_t *fill_type, void *buf, HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "data type conversion failed") /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Create a selection iterator for scattering the elements to memory buffer */ @@ -275,7 +277,7 @@ H5D_fill(const void *fill, const H5T_t *fill_type, void *buf, HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize memory selection information") /* Scatter the data into memory */ - if(H5D_scatter_mem(tmp_buf, space, &mem_iter, (size_t)nelmts, dxpl_cache, buf/*out*/) < 0) { + if(H5D__scatter_mem(tmp_buf, space, &mem_iter, (size_t)nelmts, dxpl_cache, buf/*out*/) < 0) { H5S_SELECT_ITER_RELEASE(&mem_iter); HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "scatter failed") } /* end if */ @@ -346,11 +348,11 @@ done: bkg_buf = H5FL_BLK_FREE(type_conv, bkg_buf); FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_fill() */ +} /* H5D__fill() */ /*------------------------------------------------------------------------- - * Function: H5D_fill_init + * Function: H5D__fill_init * * Purpose: Initialize buffer filling operation * @@ -362,7 +364,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_fill_init(H5D_fill_buf_info_t *fb_info, void *caller_fill_buf, +H5D__fill_init(H5D_fill_buf_info_t *fb_info, void *caller_fill_buf, H5MM_allocate_t alloc_func, void *alloc_info, H5MM_free_t free_func, void *free_info, const H5O_fill_t *fill, const H5T_t *dset_type, hid_t dset_type_id, @@ -370,7 +372,7 @@ H5D_fill_init(H5D_fill_buf_info_t *fb_info, void *caller_fill_buf, { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(fb_info); @@ -541,15 +543,15 @@ H5D_fill_init(H5D_fill_buf_info_t *fb_info, void *caller_fill_buf, done: /* Cleanup on error */ if(ret_value < 0) - if(H5D_fill_term(fb_info) < 0) + if(H5D__fill_term(fb_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_fill_init() */ +} /* end H5D__fill_init() */ /*------------------------------------------------------------------------- - * Function: H5D_fill_refill_vl + * Function: H5D__fill_refill_vl * * Purpose: Refill fill value buffer that contains VL-datatype fill values * @@ -561,12 +563,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_fill_refill_vl(H5D_fill_buf_info_t *fb_info, size_t nelmts, hid_t dxpl_id) +H5D__fill_refill_vl(H5D_fill_buf_info_t *fb_info, size_t nelmts, hid_t dxpl_id) { herr_t ret_value = SUCCEED; /* Return value */ void * buf = NULL; /* Temporary fill buffer */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(fb_info); @@ -626,11 +628,11 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_fill_refill_vl() */ +} /* end H5D__fill_refill_vl() */ /*------------------------------------------------------------------------- - * Function: H5D_fill_release + * Function: H5D__fill_release * * Purpose: Release fill value buffer * @@ -641,10 +643,10 @@ done: * *------------------------------------------------------------------------- */ -herr_t -H5D_fill_release(H5D_fill_buf_info_t *fb_info) +static herr_t +H5D__fill_release(H5D_fill_buf_info_t *fb_info) { - FUNC_ENTER_NOAPI_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Check args */ HDassert(fb_info); @@ -664,11 +666,11 @@ H5D_fill_release(H5D_fill_buf_info_t *fb_info) } /* end if */ FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_fill_release() */ +} /* end H5D__fill_release() */ /*------------------------------------------------------------------------- - * Function: H5D_fill_term + * Function: H5D__fill_term * * Purpose: Release fill value buffer info * @@ -680,15 +682,15 @@ H5D_fill_release(H5D_fill_buf_info_t *fb_info) *------------------------------------------------------------------------- */ herr_t -H5D_fill_term(H5D_fill_buf_info_t *fb_info) +H5D__fill_term(H5D_fill_buf_info_t *fb_info) { - FUNC_ENTER_NOAPI_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Check args */ HDassert(fb_info); /* Free the buffer for fill values */ - H5D_fill_release(fb_info); + H5D__fill_release(fb_info); /* Free other resources for vlen fill values */ if(fb_info->has_vlen_fill_type) { @@ -701,5 +703,5 @@ H5D_fill_term(H5D_fill_buf_info_t *fb_info) } /* end if */ FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_fill_term() */ +} /* end H5D__fill_term() */ diff --git a/src/H5Dint.c b/src/H5Dint.c index c9e64cb..1086c98 100644 --- a/src/H5Dint.c +++ b/src/H5Dint.c @@ -20,7 +20,7 @@ #define H5D_PACKAGE /*suppress error about including H5Dpkg */ /* Interface initialization */ -#define H5_INTERFACE_INIT_FUNC H5D_init_interface +#define H5_INTERFACE_INIT_FUNC H5D__init_interface /***********/ @@ -57,19 +57,19 @@ typedef struct { /********************/ /* General stuff */ -static herr_t H5D_init_storage(H5D_t *dataset, hbool_t full_overwrite, - hsize_t old_dim[], hid_t dxpl_id); -static herr_t H5D_get_dxpl_cache_real(hid_t dxpl_id, H5D_dxpl_cache_t *cache); -static H5D_shared_t *H5D_new(hid_t dcpl_id, hbool_t creating, +static herr_t H5D__get_dxpl_cache_real(hid_t dxpl_id, H5D_dxpl_cache_t *cache); +static H5D_shared_t *H5D__new(hid_t dcpl_id, hbool_t creating, hbool_t vl_type); -static herr_t H5D_init_type(H5F_t *file, const H5D_t *dset, hid_t type_id, +static herr_t H5D__init_type(H5F_t *file, const H5D_t *dset, hid_t type_id, const H5T_t *type); -static herr_t H5D_init_space(H5F_t *file, const H5D_t *dset, const H5S_t *space); -static herr_t H5D_swmr_setup(const H5D_t *dset, hid_t dxpl_id); -static herr_t H5D_swmr_teardown(const H5D_t *dataset, hid_t dxpl_id); -static herr_t H5D_update_oh_info(H5F_t *file, hid_t dxpl_id, H5D_t *dset, +static herr_t H5D__init_space(H5F_t *file, const H5D_t *dset, const H5S_t *space); +static herr_t H5D__swmr_setup(const H5D_t *dset, hid_t dxpl_id); +static herr_t H5D__swmr_teardown(const H5D_t *dataset, hid_t dxpl_id); +static herr_t H5D__update_oh_info(H5F_t *file, hid_t dxpl_id, H5D_t *dset, hid_t dapl_id); -static herr_t H5D_open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id); +static herr_t H5D__open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id); +static herr_t H5D__init_storage(H5D_t *dataset, hbool_t full_overwrite, + hsize_t old_dim[], hid_t dxpl_id); /*********************/ @@ -108,6 +108,15 @@ H5FL_EXTERN(H5D_chunk_info_t); /* Define a static "default" dataset structure to use to initialize new datasets */ static H5D_shared_t H5D_def_dset; +/* Dataset ID class */ +static const H5I_class_t H5I_DATASET_CLS[1] = {{ + H5I_DATASET, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5D_close /* Callback routine for closing objects of this class */ +}}; + /*------------------------------------------------------------------------- @@ -127,7 +136,7 @@ static H5D_shared_t H5D_def_dset; herr_t H5D_init(void) { - herr_t ret_value=SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) /* FUNC_ENTER() does all the work */ @@ -139,9 +148,9 @@ done: /*-------------------------------------------------------------------------- NAME - H5D_init_interface -- Initialize interface-specific information + H5D__init_interface -- Initialize interface-specific information USAGE - herr_t H5D_init_interface() + herr_t H5D__init_interface() RETURNS Non-negative on success/Negative on failure @@ -153,15 +162,15 @@ NOTES --------------------------------------------------------------------------*/ static herr_t -H5D_init_interface(void) +H5D__init_interface(void) { H5P_genplist_t *def_dcpl; /* Default Dataset Creation Property list */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Initialize the atom group for the dataset IDs */ - if(H5I_register_type(H5I_DATASET, (size_t)H5I_DATASETID_HASHSIZE, H5D_RESERVED_ATOMS, (H5I_free_t)H5D_close)shared->layout.type == H5D_CHUNKED && layout_init) { - if(H5D_chunk_dest(file, dxpl_id, dset) < 0) + if(H5D__chunk_dest(file, dxpl_id, dset) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to destroy chunk cache") } /* end if */ } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_update_oh_info() */ +} /* end H5D__update_oh_info() */ /*------------------------------------------------------------------------- - * Function: H5D_create + * Function: H5D__create * * Purpose: Creates a new dataset with name NAME in file F and associates * with it a datatype TYPE for each element as stored in the @@ -1007,7 +1017,7 @@ done: *------------------------------------------------------------------------- */ H5D_t * -H5D_create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id, +H5D__create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id) { const H5T_t *type; /* Datatype for dataset */ @@ -1018,7 +1028,7 @@ H5D_create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id, H5G_loc_t dset_loc; /* Dataset location */ H5D_t *ret_value; /* Return value */ - FUNC_ENTER_NOAPI(NULL) + FUNC_ENTER_PACKAGE /* check args */ HDassert(file); @@ -1053,15 +1063,15 @@ H5D_create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id, H5G_loc_reset(&dset_loc); /* Initialize the shared dataset space */ - if(NULL == (new_dset->shared = H5D_new(dcpl_id, TRUE, has_vl_type))) + if(NULL == (new_dset->shared = H5D__new(dcpl_id, TRUE, has_vl_type))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") /* Copy & initialize datatype for dataset */ - if(H5D_init_type(file, new_dset, type_id, type) < 0) + if(H5D__init_type(file, new_dset, type_id, type) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "can't copy datatype") /* Copy & initialize dataspace for dataset */ - if(H5D_init_space(file, new_dset, space) < 0) + if(H5D__init_space(file, new_dset, space) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "can't copy dataspace") /* Set the dataset's checked_filters flag to enable writing */ @@ -1126,12 +1136,12 @@ H5D_create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id, HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set latest version of fill value") /* Set the latest version for the layout message */ - if(H5D_layout_set_latest_version(&new_dset->shared->layout, new_dset->shared->space, &new_dset->shared->dcpl_cache) < 0) + if(H5D__layout_set_latest_version(&new_dset->shared->layout, new_dset->shared->space, &new_dset->shared->dcpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set latest version of layout") } /* end if */ else if(new_dset->shared->layout.version >= H5O_LAYOUT_VERSION_4) { /* Use latest indexing type for layout message version >= 4 */ - if(H5D_layout_set_latest_indexing(&new_dset->shared->layout, new_dset->shared->space, &new_dset->shared->dcpl_cache) < 0) + if(H5D__layout_set_latest_indexing(&new_dset->shared->layout, new_dset->shared->space, &new_dset->shared->dcpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set latest indexing") } /* end if */ @@ -1140,7 +1150,7 @@ H5D_create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id, new_dset->shared->dcpl_cache.fill.alloc_time = H5D_ALLOC_TIME_EARLY; /* Set the dataset's I/O operations */ - if(H5D_layout_set_io_ops(new_dset) < 0) + if(H5D__layout_set_io_ops(new_dset) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to initialize I/O operations") /* Create the layout information for the new dataset */ @@ -1148,7 +1158,7 @@ H5D_create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id, HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to construct layout information") /* Update the dataset's object header info. */ - if(H5D_update_oh_info(file, dxpl_id, new_dset, dapl_id) < 0) + if(H5D__update_oh_info(file, dxpl_id, new_dset, dapl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "can't update the metadata cache") /* Indicate that the layout information was initialized */ @@ -1168,7 +1178,7 @@ done: if(!ret_value && new_dset && new_dset->shared) { if(new_dset->shared) { if(new_dset->shared->layout.type == H5D_CHUNKED && layout_init) { - if(H5D_chunk_dest(file, dxpl_id, new_dset) < 0) + if(H5D__chunk_dest(file, dxpl_id, new_dset) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, NULL, "unable to destroy chunk cache") } /* end if */ if(new_dset->shared->space && H5S_close(new_dset->shared->space) < 0) @@ -1194,7 +1204,7 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_create() */ +} /* end H5D__create() */ /* @@ -1242,7 +1252,7 @@ H5D_open(const H5G_loc_t *loc, hid_t dapl_id, hid_t dxpl_id) H5E_clear_stack(NULL); /* Open the dataset object */ - if(H5D_open_oid(dataset, dapl_id, dxpl_id) < 0) + if(H5D__open_oid(dataset, dapl_id, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_NOTFOUND, NULL, "not found") /* Add the dataset to the list of opened objects in the file */ @@ -1298,7 +1308,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5D_open_oid + * Function: H5D__open_oid * * Purpose: Opens a dataset for access. * @@ -1310,7 +1320,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) +H5D__open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) { H5P_genplist_t *plist; /* Property list */ H5O_fill_t *fill_prop; /* Pointer to dataset's fill value info */ @@ -1318,13 +1328,13 @@ H5D_open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) htri_t msg_exists; /* Whether a particular type of message exists */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, dataset->oloc.addr, FAIL) + FUNC_ENTER_STATIC_TAG(dxpl_id, dataset->oloc.addr, FAIL) /* check args */ HDassert(dataset); /* (Set the 'vl_type' parameter to FALSE since it doesn't matter from here) */ - if(NULL == (dataset->shared = H5D_new(H5P_DATASET_CREATE_DEFAULT, FALSE, FALSE))) + if(NULL == (dataset->shared = H5D__new(H5P_DATASET_CREATE_DEFAULT, FALSE, FALSE))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed") /* Open the dataset object */ @@ -1350,7 +1360,7 @@ H5D_open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get dataset creation property list") /* Get the layout/pline/efl message information */ - if(H5D_layout_oh_read(dataset, dxpl_id, dapl_id, plist) < 0) + if(H5D__layout_oh_read(dataset, dxpl_id, dapl_id, plist) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get layout/pline/efl info") /* Point at dataset's copy, to cache it for later */ @@ -1419,12 +1429,12 @@ H5D_open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id) if((H5F_INTENT(dataset->oloc.file) & H5F_ACC_RDWR) && !(*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout.storage) && H5F_HAS_FEATURE(dataset->oloc.file, H5FD_FEAT_ALLOCATE_EARLY)) { - if(H5D_alloc_storage(dataset, dxpl_id, H5D_ALLOC_OPEN, FALSE, NULL) < 0) + if(H5D__alloc_storage(dataset, dxpl_id, H5D_ALLOC_OPEN, FALSE, NULL) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize file storage") } /* end if */ /* Set up SWMR writes to the dataset, if possible */ - if(H5D_swmr_setup(dataset, dxpl_id) < 0) + if(H5D__swmr_setup(dataset, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up SWMR access for dataset") done: @@ -1448,7 +1458,7 @@ done: } /* end if */ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_open_oid() */ +} /* end H5D__open_oid() */ /*------------------------------------------------------------------------- @@ -1479,13 +1489,13 @@ H5D_close(H5D_t *dataset) /* Dump debugging info */ #ifdef H5D_CHUNK_DEBUG - H5D_chunk_stats(dataset, FALSE); + H5D__chunk_stats(dataset, FALSE); #endif /* H5D_CHUNK_DEBUG */ dataset->shared->fo_count--; if(dataset->shared->fo_count == 0) { /* Flush the dataset's information. Continue to close even if it fails. */ - if(H5D_flush_real(dataset, H5AC_dxpl_id) < 0) + if(H5D__flush_real(dataset, H5AC_dxpl_id) < 0) HDONE_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to flush cached dataset info") /* Free the data sieve buffer, if it's been allocated */ @@ -1522,7 +1532,7 @@ H5D_close(H5D_t *dataset) /* Flush and destroy chunks in the cache. Continue to close even if * it fails. */ - if(H5D_chunk_dest(dataset->oloc.file, H5AC_dxpl_id, dataset) < 0) + if(H5D__chunk_dest(dataset->oloc.file, H5AC_dxpl_id, dataset) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to destroy chunk cache") break; @@ -1542,7 +1552,7 @@ H5D_close(H5D_t *dataset) /* If the dataset is opened for SWMR access, shut that down */ if(dataset->shared->is_swimming) - if(H5D_swmr_teardown(dataset, H5AC_dxpl_id) < 0) + if(H5D__swmr_teardown(dataset, H5AC_dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to shut down SWMR access") /* @@ -1680,7 +1690,7 @@ H5D_typeof(const H5D_t *dset) /*------------------------------------------------------------------------- - * Function: H5D_alloc_storage + * Function: H5D__alloc_storage * * Purpose: Allocate storage for the raw data of a dataset. * @@ -1692,7 +1702,7 @@ H5D_typeof(const H5D_t *dset) *------------------------------------------------------------------------- */ herr_t -H5D_alloc_storage(H5D_t *dset/*in,out*/, hid_t dxpl_id, H5D_time_alloc_t time_alloc, +H5D__alloc_storage(H5D_t *dset/*in,out*/, hid_t dxpl_id, H5D_time_alloc_t time_alloc, hbool_t full_overwrite, hsize_t old_dim[]) { H5F_t *f = dset->oloc.file; /* The dataset's file pointer */ @@ -1701,7 +1711,7 @@ H5D_alloc_storage(H5D_t *dset/*in,out*/, hid_t dxpl_id, H5D_time_alloc_t time_al hbool_t addr_set = FALSE; /* Flag to indicate that the dataset's storage address was set */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* check args */ HDassert(dset); @@ -1721,7 +1731,7 @@ H5D_alloc_storage(H5D_t *dset/*in,out*/, hid_t dxpl_id, H5D_time_alloc_t time_al /* Check if we have a zero-sized dataset */ if(layout->storage.u.contig.size > 0) { /* Reserve space in the file for the entire array */ - if(H5D_contig_alloc(f, dxpl_id, &layout->storage.u.contig/*out*/) < 0) + if(H5D__contig_alloc(f, dxpl_id, &layout->storage.u.contig/*out*/) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to initialize contiguous storage") /* Indicate that we should initialize storage space */ @@ -1738,7 +1748,7 @@ H5D_alloc_storage(H5D_t *dset/*in,out*/, hid_t dxpl_id, H5D_time_alloc_t time_al case H5D_CHUNKED: if(!(*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) { /* Create the root of the B-tree that describes chunked storage */ - if(H5D_chunk_create(dset /*in,out*/, dxpl_id) < 0) + if(H5D__chunk_create(dset /*in,out*/, dxpl_id) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to initialize chunked storage") /* Indicate that we set the storage addr */ @@ -1802,7 +1812,7 @@ H5D_alloc_storage(H5D_t *dset/*in,out*/, hid_t dxpl_id, H5D_time_alloc_t time_al * this is icky. -QAK */ if(!(dset->shared->dcpl_cache.fill.alloc_time == H5D_ALLOC_TIME_INCR && time_alloc == H5D_ALLOC_WRITE)) - if(H5D_init_storage(dset, full_overwrite, old_dim, dxpl_id) < 0) + if(H5D__init_storage(dset, full_overwrite, old_dim, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize dataset with fill value") } /* end if */ else { @@ -1816,7 +1826,7 @@ H5D_alloc_storage(H5D_t *dset/*in,out*/, hid_t dxpl_id, H5D_time_alloc_t time_al * the fill value _is_ set, do that now */ if(dset->shared->dcpl_cache.fill.fill_time == H5D_FILL_TIME_ALLOC || (dset->shared->dcpl_cache.fill.fill_time == H5D_FILL_TIME_IFSET && fill_status == H5D_FILL_VALUE_USER_DEFINED)) { - if(H5D_init_storage(dset, full_overwrite, old_dim, dxpl_id) < 0) + if(H5D__init_storage(dset, full_overwrite, old_dim, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize dataset with fill value") } /* end if */ } /* end else */ @@ -1831,17 +1841,17 @@ H5D_alloc_storage(H5D_t *dset/*in,out*/, hid_t dxpl_id, H5D_time_alloc_t time_al */ if(time_alloc != H5D_ALLOC_CREATE && addr_set) /* Mark the layout as dirty, for later writing to the file */ - if(H5D_mark(dset, dxpl_id, H5D_MARK_LAYOUT) < 0) + if(H5D__mark(dset, dxpl_id, H5D_MARK_LAYOUT) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to mark dataspace as dirty") } /* end if */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_alloc_storage() */ +} /* end H5D__alloc_storage() */ /*------------------------------------------------------------------------- - * Function: H5D_init_storage + * Function: H5D__init_storage * * Purpose: Initialize the data for a new dataset. If a selection is * defined for SPACE then initialize only that part of the @@ -1855,12 +1865,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_init_storage(H5D_t *dset, hbool_t full_overwrite, hsize_t old_dim[], +H5D__init_storage(H5D_t *dset, hbool_t full_overwrite, hsize_t old_dim[], hid_t dxpl_id) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(dset); @@ -1869,7 +1879,7 @@ H5D_init_storage(H5D_t *dset, hbool_t full_overwrite, hsize_t old_dim[], /* If we will be immediately overwriting the values, don't bother to clear them */ if(!full_overwrite) { /* Fill the compact dataset storage */ - if(H5D_compact_fill(dset, dxpl_id) < 0) + if(H5D__compact_fill(dset, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize compact dataset storage") } /* end if */ break; @@ -1878,7 +1888,7 @@ H5D_init_storage(H5D_t *dset, hbool_t full_overwrite, hsize_t old_dim[], /* Don't write default fill values to external files */ /* If we will be immediately overwriting the values, don't bother to clear them */ if((dset->shared->dcpl_cache.efl.nused == 0 || dset->shared->dcpl_cache.fill.buf) && !full_overwrite) - if(H5D_contig_fill(dset, dxpl_id) < 0) + if(H5D__contig_fill(dset, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to allocate all chunks of dataset") break; @@ -1894,7 +1904,7 @@ H5D_init_storage(H5D_t *dset, hbool_t full_overwrite, hsize_t old_dim[], if(old_dim == NULL) old_dim = zero_dim; - if(H5D_chunk_allocate(dset, dxpl_id, full_overwrite, old_dim) < 0) + if(H5D__chunk_allocate(dset, dxpl_id, full_overwrite, old_dim) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to allocate all chunks of dataset") break; } /* end block */ @@ -1910,68 +1920,66 @@ H5D_init_storage(H5D_t *dset, hbool_t full_overwrite, hsize_t old_dim[], done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_init_storage() */ +} /* end H5D__init_storage() */ /*------------------------------------------------------------------------- - * Function: H5D_get_storage_size + * Function: H5D__get_storage_size * * Purpose: Determines how much space has been reserved to store the raw * data of a dataset. * - * Return: Success: Number of bytes reserved to hold raw data. - * - * Failure: 0 + * Return: Non-negative on success, negative on failure * * Programmer: Robb Matzke * Wednesday, April 21, 1999 * *------------------------------------------------------------------------- */ -hsize_t -H5D_get_storage_size(H5D_t *dset, hid_t dxpl_id) +herr_t +H5D__get_storage_size(H5D_t *dset, hid_t dxpl_id, hsize_t *storage_size) { - hsize_t ret_value; + herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, dset->oloc.addr, 0) + FUNC_ENTER_PACKAGE_TAG(dxpl_id, dset->oloc.addr, FAIL) switch(dset->shared->layout.type) { case H5D_CHUNKED: if((*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) { - if(H5D_chunk_allocated(dset, dxpl_id, &ret_value) < 0) - HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, 0, "can't retrieve chunked dataset allocated size") + if(H5D__chunk_allocated(dset, dxpl_id, storage_size) < 0) + HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve chunked dataset allocated size") } /* end if */ else - ret_value = 0; + *storage_size = 0; break; case H5D_CONTIGUOUS: /* Datasets which are not allocated yet are using no space on disk */ if((*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) - ret_value = dset->shared->layout.storage.u.contig.size; + *storage_size = dset->shared->layout.storage.u.contig.size; else - ret_value = 0; + *storage_size = 0; break; case H5D_COMPACT: - ret_value = dset->shared->layout.storage.u.compact.size; + *storage_size = dset->shared->layout.storage.u.compact.size; break; case H5D_LAYOUT_ERROR: case H5D_NLAYOUTS: default: - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not a dataset type") + HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset type") } /*lint !e788 All appropriate cases are covered */ done: FUNC_LEAVE_NOAPI_TAG(ret_value, 0) -} /* end H5D_get_storage_size() */ +} /* end H5D__get_storage_size() */ /*------------------------------------------------------------------------- - * Function: H5D_get_offset + * Function: H5D__get_offset * - * Purpose: Private function for H5D_get_offset. Returns the address + * Purpose: Private function for H5D__get_offset. Returns the address * of dataset in file. * * Return: Success: the address of dataset @@ -1984,11 +1992,11 @@ done: *------------------------------------------------------------------------- */ haddr_t -H5D_get_offset(const H5D_t *dset) +H5D__get_offset(const H5D_t *dset) { haddr_t ret_value = HADDR_UNDEF; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE HDassert(dset); @@ -2013,11 +2021,11 @@ H5D_get_offset(const H5D_t *dset) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_get_offset() */ +} /* end H5D__get_offset() */ /*------------------------------------------------------------------------- - * Function: H5D_iterate + * Function: H5D__iterate * * Purpose: Internal version of H5Diterate() * @@ -2031,12 +2039,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_iterate(void *buf, hid_t type_id, const H5S_t *space, H5D_operator_t op, +H5D__iterate(void *buf, hid_t type_id, const H5S_t *space, H5D_operator_t op, void *operator_data) { herr_t ret_value; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Check args */ HDassert(buf); @@ -2048,7 +2056,7 @@ H5D_iterate(void *buf, hid_t type_id, const H5S_t *space, H5D_operator_t op, ret_value = H5S_select_iterate(buf, type_id, space, op, operator_data); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_iterate() */ +} /* end H5D__iterate() */ /*------------------------------------------------------------------------- @@ -2085,8 +2093,8 @@ H5D_vlen_reclaim(hid_t type_id, H5S_t *space, hid_t plist_id, void *buf) if(H5T_vlen_get_alloc_info(plist_id,&vl_alloc_info) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to retrieve VL allocation info") - /* Call H5D_iterate with args, etc. */ - ret_value = H5D_iterate(buf, type_id, space ,H5T_vlen_reclaim, vl_alloc_info); + /* Call H5D__iterate with args, etc. */ + ret_value = H5D__iterate(buf, type_id, space ,H5T_vlen_reclaim, vl_alloc_info); done: FUNC_LEAVE_NOAPI(ret_value) @@ -2094,7 +2102,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5D_vlen_get_buf_size_alloc + * Function: H5D__vlen_get_buf_size_alloc * * Purpose: This routine makes certain there is enough space in the temporary * buffer for the new data to read in. All the VL data read in is actually @@ -2109,12 +2117,12 @@ done: *------------------------------------------------------------------------- */ void * -H5D_vlen_get_buf_size_alloc(size_t size, void *info) +H5D__vlen_get_buf_size_alloc(size_t size, void *info) { H5D_vlen_bufsize_t *vlen_bufsize = (H5D_vlen_bufsize_t *)info; void *ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Get a temporary pointer to space for the VL data */ if((vlen_bufsize->vl_tbuf = H5FL_BLK_REALLOC(vlen_vl_buf, vlen_bufsize->vl_tbuf, size)) != NULL) @@ -2124,11 +2132,11 @@ H5D_vlen_get_buf_size_alloc(size_t size, void *info) ret_value = vlen_bufsize->vl_tbuf; FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_vlen_get_buf_size_alloc() */ +} /* end H5D__vlen_get_buf_size_alloc() */ /*------------------------------------------------------------------------- - * Function: H5D_vlen_get_buf_size + * Function: H5D__vlen_get_buf_size * * Purpose: This routine checks the number of bytes required to store a single * element from a dataset in memory, creating a selection with just the @@ -2154,13 +2162,13 @@ H5D_vlen_get_buf_size_alloc(size_t size, void *info) */ /* ARGSUSED */ herr_t -H5D_vlen_get_buf_size(void UNUSED *elem, hid_t type_id, unsigned UNUSED ndim, const hsize_t *point, void *op_data) +H5D__vlen_get_buf_size(void UNUSED *elem, hid_t type_id, unsigned UNUSED ndim, const hsize_t *point, void *op_data) { H5D_vlen_bufsize_t *vlen_bufsize = (H5D_vlen_bufsize_t *)op_data; H5T_t *dt; /* Datatype for operation */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE HDassert(op_data); HDassert(H5I_DATATYPE == H5I_get_type(type_id)); @@ -2183,11 +2191,11 @@ H5D_vlen_get_buf_size(void UNUSED *elem, hid_t type_id, unsigned UNUSED ndim, co done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_vlen_get_buf_size() */ +} /* end H5D__vlen_get_buf_size() */ /*------------------------------------------------------------------------- - * Function: H5D_check_filters + * Function: H5D__check_filters * * Purpose: Check if the filters have be initialized for the dataset * @@ -2199,12 +2207,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_check_filters(H5D_t *dataset) +H5D__check_filters(H5D_t *dataset) { H5O_fill_t *fill; /* Dataset's fill value */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Check args */ HDassert(dataset); @@ -2237,14 +2245,14 @@ H5D_check_filters(H5D_t *dataset) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_check_filters() */ +} /* end H5D__check_filters() */ /*------------------------------------------------------------------------- - * Function: H5D_set_extent + * Function: H5D__set_extent * * Purpose: Based on H5D_extend, allows change to a lower dimension, - * calls H5S_set_extent and H5D_chunk_prune_by_extent instead + * calls H5S_set_extent and H5D__chunk_prune_by_extent instead * * Return: Non-negative on success, negative on failure * @@ -2254,7 +2262,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) +H5D__set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) { H5S_t *space; /* Dataset's dataspace */ int rank; /* Dataspace # of dimensions */ @@ -2262,7 +2270,7 @@ H5D_set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) htri_t changed; /* Whether the dataspace changed size */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, dset->oloc.addr, FAIL) + FUNC_ENTER_PACKAGE_TAG(dxpl_id, dset->oloc.addr, FAIL) /* Check args */ HDassert(dset); @@ -2279,7 +2287,7 @@ H5D_set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "dataset has contiguous storage") /* Check if the filters in the DCPL will need to encode, and if so, can they? */ - if(H5D_check_filters(dset) < 0) + if(H5D__check_filters(dset) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't apply filters") /* Get the data space */ @@ -2313,15 +2321,15 @@ H5D_set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) */ /* Update the index values for the cached chunks for this dataset */ if(H5D_CHUNKED == dset->shared->layout.type) { - if(H5D_chunk_set_info(dset) < 0) + if(H5D__chunk_set_info(dset) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to update # of chunks") - if(H5D_chunk_update_cache(dset, dxpl_id) < 0) + if(H5D__chunk_update_cache(dset, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to update cached chunk indices") } /* end if */ /* Allocate space for the new parts of the dataset, if appropriate */ if(expand && dset->shared->dcpl_cache.fill.alloc_time == H5D_ALLOC_TIME_EARLY) - if(H5D_alloc_storage(dset, dxpl_id, H5D_ALLOC_EXTEND, FALSE, curr_dims) < 0) + if(H5D__alloc_storage(dset, dxpl_id, H5D_ALLOC_EXTEND, FALSE, curr_dims) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to extend dataset storage") /*------------------------------------------------------------------------- @@ -2331,34 +2339,31 @@ H5D_set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id) *------------------------------------------------------------------------- */ if(H5D_CHUNKED == dset->shared->layout.type) { - if(shrink && (*dset->shared->layout.ops->is_space_alloc)( - &dset->shared->layout.storage)) + if(shrink && (*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)) /* Remove excess chunks */ - if(H5D_chunk_prune_by_extent(dset, dxpl_id, curr_dims) < 0) + if(H5D__chunk_prune_by_extent(dset, dxpl_id, curr_dims) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to remove chunks") /* Update chunks that are no longer edge chunks as a result of * expansion */ - if(expand && (dset->shared->layout.u.chunk.flags - & H5O_LAYOUT_CHUNK_DONT_FILTER_PARTIAL_BOUND_CHUNKS) + if(expand && (dset->shared->layout.u.chunk.flags & H5O_LAYOUT_CHUNK_DONT_FILTER_PARTIAL_BOUND_CHUNKS) && (dset->shared->dcpl_cache.pline.nused > 0)) - if(H5D_chunk_update_old_edge_chunks(dset, dxpl_id, curr_dims) - < 0) + if(H5D__chunk_update_old_edge_chunks(dset, dxpl_id, curr_dims) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to do update old edge chunks") } /* end if */ /* Mark the dataspace as dirty, for later writing to the file */ - if(H5D_mark(dset, dxpl_id, H5D_MARK_SPACE) < 0) + if(H5D__mark(dset, dxpl_id, H5D_MARK_SPACE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to mark dataspace as dirty") } /* end if */ done: FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_set_extent() */ +} /* end H5D__set_extent() */ /*------------------------------------------------------------------------- - * Function: H5D_flush_sieve_buf + * Function: H5D__flush_sieve_buf * * Purpose: Flush any dataset sieve buffer info cached in memory * @@ -2371,11 +2376,11 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_flush_sieve_buf(H5D_t *dataset, hid_t dxpl_id) +H5D__flush_sieve_buf(H5D_t *dataset, hid_t dxpl_id) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Check args */ HDassert(dataset); @@ -2395,11 +2400,11 @@ H5D_flush_sieve_buf(H5D_t *dataset, hid_t dxpl_id) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_flush_sieve_buf() */ +} /* end H5D__flush_sieve_buf() */ /*------------------------------------------------------------------------- - * Function: H5D_flush_real + * Function: H5D__flush_real * * Purpose: Flush any dataset information cached in memory * @@ -2412,12 +2417,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_flush_real(H5D_t *dataset, hid_t dxpl_id) +H5D__flush_real(H5D_t *dataset, hid_t dxpl_id) { H5O_t *oh = NULL; /* Pointer to dataset's object header */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, dataset->oloc.addr, FAIL) + FUNC_ENTER_PACKAGE_TAG(dxpl_id, dataset->oloc.addr, FAIL) /* Check args */ HDassert(dataset); @@ -2432,7 +2437,7 @@ H5D_flush_real(H5D_t *dataset, hid_t dxpl_id) /* Update the layout on disk, if it's been changed */ if(dataset->shared->layout_dirty) { - if(H5D_layout_oh_write(dataset, dxpl_id, oh, update_flags) < 0) + if(H5D__layout_oh_write(dataset, dxpl_id, oh, update_flags) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to update layout/pline/efl info") dataset->shared->layout_dirty = FALSE; @@ -2466,11 +2471,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTUNPIN, FAIL, "unable to unpin dataset object header") FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_flush_real() */ +} /* end H5D__flush_real() */ /*------------------------------------------------------------------------- - * Function: H5D_mark + * Function: H5D__mark * * Purpose: Mark some aspect of a dataset as dirty * @@ -2483,11 +2488,11 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_mark(H5D_t *dataset, hid_t dxpl_id, unsigned flags) +H5D__mark(H5D_t *dataset, hid_t dxpl_id, unsigned flags) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR /* Check args */ HDassert(dataset); @@ -2500,11 +2505,11 @@ H5D_mark(H5D_t *dataset, hid_t dxpl_id, unsigned flags) dataset->shared->layout_dirty = TRUE; FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_mark() */ +} /* end H5D__mark() */ /*------------------------------------------------------------------------- - * Function: H5D_flush_cb + * Function: H5D__flush_cb * * Purpose: Flush any dataset information cached in memory * @@ -2517,13 +2522,13 @@ H5D_mark(H5D_t *dataset, hid_t dxpl_id, unsigned flags) *------------------------------------------------------------------------- */ static int -H5D_flush_cb(void *_dataset, hid_t UNUSED id, void *_udata) +H5D__flush_cb(void *_dataset, hid_t UNUSED id, void *_udata) { H5D_t *dataset = (H5D_t *)_dataset; /* Dataset pointer */ H5D_flush_ud_t *udata = (H5D_flush_ud_t *)_udata; /* User data for callback */ int ret_value = H5_ITER_CONT; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(dataset); @@ -2531,13 +2536,13 @@ H5D_flush_cb(void *_dataset, hid_t UNUSED id, void *_udata) /* Check for dataset in same file */ if(udata->f == dataset->oloc.file) { /* Flush the dataset's information */ - if(H5D_flush_real(dataset, udata->dxpl_id) < 0) + if(H5D__flush_real(dataset, udata->dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, H5_ITER_ERROR, "unable to flush cached dataset info") } /* end if */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_flush_cb() */ +} /* end H5D__flush_cb() */ /*------------------------------------------------------------------------- @@ -2569,7 +2574,7 @@ H5D_flush(const H5F_t *f, hid_t dxpl_id) udata.dxpl_id = dxpl_id; /* Iterate over all the open datasets */ - if(H5I_iterate(H5I_DATASET, H5D_flush_cb, &udata, FALSE) < 0) + if(H5I_iterate(H5I_DATASET, H5D__flush_cb, &udata, FALSE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_BADITER, FAIL, "unable to flush cached dataset info") done: diff --git a/src/H5Dio.c b/src/H5Dio.c index 06e4417..e34452c 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -50,27 +50,27 @@ /********************/ /* Internal I/O routines */ -static herr_t H5D_read(H5D_t *dataset, hid_t mem_type_id, +static herr_t H5D__read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, const H5S_t *file_space, hid_t dset_xfer_plist, void *buf/*out*/); -static herr_t H5D_write(H5D_t *dataset, hid_t mem_type_id, +static herr_t H5D__write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, const H5S_t *file_space, hid_t dset_xfer_plist, const void *buf); /* Setup/teardown routines */ -static herr_t H5D_ioinfo_init(H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, +static herr_t H5D__ioinfo_init(H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, const H5D_type_info_t *type_info, H5D_storage_t *store, H5D_io_info_t *io_info); -static herr_t H5D_typeinfo_init(const H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, +static herr_t H5D__typeinfo_init(const H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, hid_t mem_type_id, hbool_t do_write, H5D_type_info_t *type_info); #ifdef H5_HAVE_PARALLEL -static herr_t H5D_ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, +static herr_t H5D__ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, hid_t dxpl_id, const H5S_t *file_space, const H5S_t *mem_space, const H5D_type_info_t *type_info, const H5D_chunk_map_t *fm); -static herr_t H5D_ioinfo_term(H5D_io_info_t *io_info); +static herr_t H5D__ioinfo_term(H5D_io_info_t *io_info); #endif /* H5_HAVE_PARALLEL */ -static herr_t H5D_typeinfo_term(const H5D_type_info_t *type_info); +static herr_t H5D__typeinfo_term(const H5D_type_info_t *type_info); /*********************/ @@ -170,7 +170,7 @@ H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, buf = &fake_char; /* read raw data */ - if(H5D_read(dset, mem_type_id, mem_space, file_space, plist_id, buf/*out*/) < 0) + if(H5D__read(dset, mem_type_id, mem_space, file_space, plist_id, buf/*out*/) < 0) HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "can't read data") done: @@ -262,7 +262,7 @@ H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, buf = &fake_char; /* write raw data */ - if(H5D_write(dset, mem_type_id, mem_space, file_space, dxpl_id, buf) < 0) + if(H5D__write(dset, mem_type_id, mem_space, file_space, dxpl_id, buf) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "can't write data") done: @@ -271,7 +271,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5D_read + * Function: H5D__read * * Purpose: Reads (part of) a DATASET into application memory BUF. See * H5Dread() for complete details. @@ -284,7 +284,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, +H5D__read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, const H5S_t *file_space, hid_t dxpl_id, void *buf/*out*/) { H5D_chunk_map_t fm; /* Chunk file<->memory mapping */ @@ -315,7 +315,7 @@ H5D_read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, dataset->oloc.addr, FAIL) + FUNC_ENTER_STATIC_TAG(dxpl_id, dataset->oloc.addr, FAIL) /* check args */ HDassert(dataset && dataset->oloc.file); @@ -329,11 +329,11 @@ H5D_read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, H5_ASSIGN_OVERFLOW(nelmts,snelmts,hssize_t,hsize_t); /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Set up datatype info for operation */ - if(H5D_typeinfo_init(dataset, dxpl_cache, dxpl_id, mem_type_id, FALSE, &type_info) < 0) + if(H5D__typeinfo_init(dataset, dxpl_cache, dxpl_id, mem_type_id, FALSE, &type_info) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up type info") type_info_init = TRUE; @@ -412,7 +412,7 @@ H5D_read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, HGOTO_DONE(SUCCEED) /* Go fill the user's selection with the dataset's fill value */ - if(H5D_fill(dataset->shared->dcpl_cache.fill.buf, dataset->shared->type, buf, type_info.mem_type, mem_space, dxpl_id) < 0) + if(H5D__fill(dataset->shared->dcpl_cache.fill.buf, dataset->shared->type, buf, type_info.mem_type, mem_space, dxpl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "filling buf failed") else HGOTO_DONE(SUCCEED) @@ -421,7 +421,7 @@ H5D_read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, /* Set up I/O operation */ io_info.op_type = H5D_IO_OP_READ; io_info.u.rbuf = buf; - if(H5D_ioinfo_init(dataset, dxpl_cache, dxpl_id, &type_info, &store, &io_info) < 0) + if(H5D__ioinfo_init(dataset, dxpl_cache, dxpl_id, &type_info, &store, &io_info) < 0) HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "unable to set up I/O operation") #ifdef H5_HAVE_PARALLEL io_info_init = TRUE; @@ -441,7 +441,7 @@ H5D_read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, #ifdef H5_HAVE_PARALLEL /* Adjust I/O info for any parallel I/O */ - if(H5D_ioinfo_adjust(&io_info, dataset, dxpl_id, file_space, mem_space, &type_info, &fm) < 0) + if(H5D__ioinfo_adjust(&io_info, dataset, dxpl_id, file_space, mem_space, &type_info, &fm) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to adjust I/O info for parallel I/O") #endif /*H5_HAVE_PARALLEL*/ @@ -456,11 +456,11 @@ done: #ifdef H5_HAVE_PARALLEL /* Shut down io_info struct */ if(io_info_init) - if(H5D_ioinfo_term(&io_info) < 0) + if(H5D__ioinfo_term(&io_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "can't shut down io_info") #endif /*H5_HAVE_PARALLEL*/ /* Shut down datatype info for operation */ - if(type_info_init && H5D_typeinfo_term(&type_info) < 0) + if(type_info_init && H5D__typeinfo_term(&type_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "unable to shut down type info") /* discard projected mem space if it was created */ @@ -469,11 +469,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "unable to shut down projected memory dataspace") FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_read() */ +} /* end H5D__read() */ /*------------------------------------------------------------------------- - * Function: H5D_write + * Function: H5D__write * * Purpose: Writes (part of) a DATASET to a file from application memory * BUF. See H5Dwrite() for complete details. @@ -486,7 +486,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, +H5D__write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, const H5S_t *file_space, hid_t dxpl_id, const void *buf) { H5D_chunk_map_t fm; /* Chunk file<->memory mapping */ @@ -517,7 +517,7 @@ H5D_write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, dataset->oloc.addr, FAIL) + FUNC_ENTER_STATIC_TAG(dxpl_id, dataset->oloc.addr, FAIL) /* check args */ HDassert(dataset && dataset->oloc.file); @@ -535,11 +535,11 @@ H5D_write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "no write intent on file") /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Set up datatype info for operation */ - if(H5D_typeinfo_init(dataset, dxpl_cache, dxpl_id, mem_type_id, TRUE, &type_info) < 0) + if(H5D__typeinfo_init(dataset, dxpl_cache, dxpl_id, mem_type_id, TRUE, &type_info) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up type info") type_info_init = TRUE; @@ -644,14 +644,14 @@ H5D_write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, full_overwrite = (hbool_t)((hsize_t)file_nelmts == nelmts ? TRUE : FALSE); /* Allocate storage */ - if(H5D_alloc_storage(dataset, dxpl_id, H5D_ALLOC_WRITE, full_overwrite, NULL) < 0) + if(H5D__alloc_storage(dataset, dxpl_id, H5D_ALLOC_WRITE, full_overwrite, NULL) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize storage") } /* end if */ /* Set up I/O operation */ io_info.op_type = H5D_IO_OP_WRITE; io_info.u.wbuf = buf; - if(H5D_ioinfo_init(dataset, dxpl_cache, dxpl_id, &type_info, &store, &io_info) < 0) + if(H5D__ioinfo_init(dataset, dxpl_cache, dxpl_id, &type_info, &store, &io_info) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up I/O operation") #ifdef H5_HAVE_PARALLEL io_info_init = TRUE; @@ -665,7 +665,7 @@ H5D_write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, #ifdef H5_HAVE_PARALLEL /* Adjust I/O info for any parallel I/O */ - if(H5D_ioinfo_adjust(&io_info, dataset, dxpl_id, file_space, mem_space, &type_info, &fm) < 0) + if(H5D__ioinfo_adjust(&io_info, dataset, dxpl_id, file_space, mem_space, &type_info, &fm) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to adjust I/O info for parallel I/O") #endif /*H5_HAVE_PARALLEL*/ @@ -697,11 +697,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "unable to shut down I/O op info") #ifdef H5_HAVE_PARALLEL /* Shut down io_info struct */ - if(io_info_init && H5D_ioinfo_term(&io_info) < 0) + if(io_info_init && H5D__ioinfo_term(&io_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "can't shut down io_info") #endif /*H5_HAVE_PARALLEL*/ /* Shut down datatype info for operation */ - if(type_info_init && H5D_typeinfo_term(&type_info) < 0) + if(type_info_init && H5D__typeinfo_term(&type_info) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "unable to shut down type info") /* discard projected mem space if it was created */ @@ -710,11 +710,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "unable to shut down projected memory dataspace") FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_write() */ +} /* end H5D__write() */ /*------------------------------------------------------------------------- - * Function: H5D_ioinfo_init + * Function: H5D__ioinfo_init * * Purpose: Routine for determining correct I/O operations for * each I/O action. @@ -727,10 +727,10 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_ioinfo_init(H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, +H5D__ioinfo_init(H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, const H5D_type_info_t *type_info, H5D_storage_t *store, H5D_io_info_t *io_info) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* check args */ HDassert(dset); @@ -758,15 +758,15 @@ H5D_ioinfo_init(H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, * If there is no data transform or type conversion then read directly into * the application's buffer. This saves at least one mem-to-mem copy. */ - io_info->io_ops.single_read = H5D_select_read; - io_info->io_ops.single_write = H5D_select_write; + io_info->io_ops.single_read = H5D__select_read; + io_info->io_ops.single_write = H5D__select_write; } /* end if */ else { /* * This is the general case (type conversion, usually). */ - io_info->io_ops.single_read = H5D_scatgath_read; - io_info->io_ops.single_write = H5D_scatgath_write; + io_info->io_ops.single_read = H5D__scatgath_read; + io_info->io_ops.single_write = H5D__scatgath_write; } /* end else */ #ifdef H5_HAVE_PARALLEL @@ -775,11 +775,11 @@ H5D_ioinfo_init(H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, #endif /* H5_HAVE_PARALLEL */ FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_ioinfo_init() */ +} /* end H5D__ioinfo_init() */ /*------------------------------------------------------------------------- - * Function: H5D_typeinfo_init + * Function: H5D__typeinfo_init * * Purpose: Routine for determining correct datatype information for * each I/O action. @@ -792,7 +792,7 @@ H5D_ioinfo_init(H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, *------------------------------------------------------------------------- */ static herr_t -H5D_typeinfo_init(const H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, +H5D__typeinfo_init(const H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, hid_t dxpl_id, hid_t mem_type_id, hbool_t do_write, H5D_type_info_t *type_info) { @@ -800,7 +800,7 @@ H5D_typeinfo_init(const H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, const H5T_t *dst_type; /* Destination datatype */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* check args */ HDassert(type_info); @@ -931,12 +931,12 @@ H5D_typeinfo_init(const H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_typeinfo_init() */ +} /* end H5D__typeinfo_init() */ #ifdef H5_HAVE_PARALLEL /*------------------------------------------------------------------------- - * Function: H5D_ioinfo_adjust + * Function: H5D__ioinfo_adjust * * Purpose: Adjust operation's I/O info for any parallel I/O * @@ -948,7 +948,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, hid_t dxpl_id, +H5D__ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, hid_t dxpl_id, const H5S_t *file_space, const H5S_t *mem_space, const H5D_type_info_t *type_info, const H5D_chunk_map_t *fm) { @@ -957,7 +957,7 @@ H5D_ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, hid_t dxpl_id, H5D_mpio_actual_io_mode_t actual_io_mode; /* performed io mode */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* check args */ HDassert(dset); @@ -997,7 +997,7 @@ H5D_ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, hid_t dxpl_id, HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "can't retrieve MPI communicator") /* Check if we can set direct MPI-IO read/write functions */ - if((opt = H5D_mpio_opt_possible(io_info, file_space, mem_space, type_info, fm)) < 0) + if((opt = H5D__mpio_opt_possible(io_info, file_space, mem_space, type_info, fm)) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, FAIL, "invalid check for direct IO dataspace ") /* Check if we can use the optimized parallel I/O routines */ @@ -1005,8 +1005,8 @@ H5D_ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, hid_t dxpl_id, /* Override the I/O op pointers to the MPI-specific routines */ io_info->io_ops.multi_read = dset->shared->layout.ops->par_read; io_info->io_ops.multi_write = dset->shared->layout.ops->par_write; - io_info->io_ops.single_read = H5D_mpio_select_read; - io_info->io_ops.single_write = H5D_mpio_select_write; + io_info->io_ops.single_read = H5D__mpio_select_read; + io_info->io_ops.single_write = H5D__mpio_select_write; } /* end if */ else { /* If we won't be doing collective I/O, but the user asked for @@ -1024,11 +1024,11 @@ H5D_ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, hid_t dxpl_id, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_ioinfo_adjust() */ +} /* end H5D__ioinfo_adjust() */ /*------------------------------------------------------------------------- - * Function: H5D_ioinfo_term + * Function: H5D__ioinfo_term * * Purpose: Common logic for terminating an I/O info object * (Only used for restoring MPI transfer mode currently) @@ -1041,11 +1041,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_ioinfo_term(H5D_io_info_t *io_info) +H5D__ioinfo_term(H5D_io_info_t *io_info) { herr_t ret_value = SUCCEED; /*return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check if we used the MPI VFD for the I/O */ if(io_info->using_mpi_vfd) { @@ -1078,13 +1078,13 @@ H5D_ioinfo_term(H5D_io_info_t *io_info) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_ioinfo_term() */ +} /* end H5D__ioinfo_term() */ #endif /* H5_HAVE_PARALLEL */ /*------------------------------------------------------------------------- - * Function: H5D_typeinfo_term + * Function: H5D__typeinfo_term * * Purpose: Common logic for terminating a type info object * @@ -1096,9 +1096,9 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_typeinfo_term(const H5D_type_info_t *type_info) +H5D__typeinfo_term(const H5D_type_info_t *type_info) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* Check for releasing datatype conversion & background buffers */ if(type_info->tconv_buf_allocated) { @@ -1111,5 +1111,5 @@ H5D_typeinfo_term(const H5D_type_info_t *type_info) } /* end if */ FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_typeinfo_term() */ +} /* end H5D__typeinfo_term() */ diff --git a/src/H5Dlayout.c b/src/H5Dlayout.c index e305660..e2d9394 100644 --- a/src/H5Dlayout.c +++ b/src/H5Dlayout.c @@ -61,7 +61,7 @@ /*------------------------------------------------------------------------- - * Function: H5D_layout_set_io_ops + * Function: H5D__layout_set_io_ops * * Purpose: Set the I/O operation function pointers for a dataset, * according to the dataset's layout @@ -74,11 +74,11 @@ *------------------------------------------------------------------------- */ herr_t -H5D_layout_set_io_ops(const H5D_t *dataset) +H5D__layout_set_io_ops(const H5D_t *dataset) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* check args */ HDassert(dataset); @@ -135,11 +135,11 @@ H5D_layout_set_io_ops(const H5D_t *dataset) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_layout_set_io_ops() */ +} /* end H5D__layout_set_io_ops() */ /*------------------------------------------------------------------------- - * Function: H5D_layout_meta_size + * Function: H5D__layout_meta_size * * Purpose: Returns the size of the raw message in bytes except raw data * part for compact dataset. This function doesn't take into @@ -154,11 +154,11 @@ done: *------------------------------------------------------------------------- */ size_t -H5D_layout_meta_size(const H5F_t *f, const H5O_layout_t *layout, hbool_t include_compact_data) +H5D__layout_meta_size(const H5F_t *f, const H5O_layout_t *layout, hbool_t include_compact_data) { size_t ret_value; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* check args */ HDassert(f); @@ -250,15 +250,15 @@ H5D_layout_meta_size(const H5F_t *f, const H5O_layout_t *layout, hbool_t include done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_layout_meta_size() */ +} /* end H5D__layout_meta_size() */ /*------------------------------------------------------------------------- - * Function: H5D_layout_set_latest_version + * Function: H5D__layout_set_latest_version * * Purpose: Set the encoding for a layout to the latest version. * Part of the coding in this routine is moved to - * H5D_layout_set_latest_indexing(). + * H5D__layout_set_latest_indexing(). * * Return: Non-negative on success/Negative on failure * @@ -268,12 +268,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_layout_set_latest_version(H5O_layout_t *layout, const H5S_t *space, +H5D__layout_set_latest_version(H5O_layout_t *layout, const H5S_t *space, const H5D_dcpl_cache_t *dcpl_cache) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(layout); @@ -284,16 +284,16 @@ H5D_layout_set_latest_version(H5O_layout_t *layout, const H5S_t *space, layout->version = H5O_LAYOUT_VERSION_LATEST; /* Set the latest indexing type for the layout message */ - if(H5D_layout_set_latest_indexing(layout, space, dcpl_cache) < 0) + if(H5D__layout_set_latest_indexing(layout, space, dcpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set latest indexing type") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_layout_set_latest_version() */ +} /* end H5D__layout_set_latest_version() */ /*------------------------------------------------------------------------- - * Function: H5D_layout_set_latest_indexing + * Function: H5D__layout_set_latest_indexing * * Purpose: Set the latest indexing type for a layout message * This is moved from H5D_layout_set_latest_version(). @@ -306,14 +306,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_layout_set_latest_indexing(H5O_layout_t *layout, const H5S_t *space, +H5D__layout_set_latest_indexing(H5O_layout_t *layout, const H5S_t *space, const H5D_dcpl_cache_t *dcpl_cache) { int sndims; /* Rank of dataspace */ unsigned ndims; /* Rank of dataspace */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(layout); @@ -403,11 +403,11 @@ H5D_layout_set_latest_indexing(H5O_layout_t *layout, const H5S_t *space, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_layout_set_latest_indexing() */ +} /* end H5D__layout_set_latest_indexing() */ /*------------------------------------------------------------------------- - * Function: H5D_layout_oh_create + * Function: H5D__layout_oh_create * * Purpose: Create layout/pline/efl information for dataset * @@ -420,7 +420,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_layout_oh_create(H5F_t *file, hid_t dxpl_id, H5O_t *oh, H5D_t *dset, +H5D__layout_oh_create(H5F_t *file, hid_t dxpl_id, H5O_t *oh, H5D_t *dset, hid_t dapl_id) { H5O_layout_t *layout; /* Dataset's layout information */ @@ -428,7 +428,7 @@ H5D_layout_oh_create(H5F_t *file, hid_t dxpl_id, H5O_t *oh, H5D_t *dset, hbool_t layout_init = FALSE; /* Flag to indicate that chunk information was initialized */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, dset->oloc.addr, FAIL) + FUNC_ENTER_PACKAGE_TAG(dxpl_id, dset->oloc.addr, FAIL) /* Sanity checking */ HDassert(file); @@ -460,7 +460,7 @@ H5D_layout_oh_create(H5F_t *file, hid_t dxpl_id, H5O_t *oh, H5D_t *dset, * allocation until later. */ if(fill_prop->alloc_time == H5D_ALLOC_TIME_EARLY) - if(H5D_alloc_storage(dset, dxpl_id, H5D_ALLOC_CREATE, FALSE, NULL) < 0) + if(H5D__alloc_storage(dset, dxpl_id, H5D_ALLOC_CREATE, FALSE, NULL) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize storage") /* Update external storage message, if it's used */ @@ -536,17 +536,17 @@ done: /* Error cleanup */ if(ret_value < 0) { if(dset->shared->layout.type == H5D_CHUNKED && layout_init) { - if(H5D_chunk_dest(file, dxpl_id, dset) < 0) + if(H5D__chunk_dest(file, dxpl_id, dset) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to destroy chunk cache") } /* end if */ } /* end if */ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL) -} /* end H5D_layout_oh_create() */ +} /* end H5D__layout_oh_create() */ /*------------------------------------------------------------------------- - * Function: H5D_layout_oh_read + * Function: H5D__layout_oh_read * * Purpose: Read layout/pline/efl information for dataset * @@ -559,12 +559,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_layout_oh_read(H5D_t *dataset, hid_t dxpl_id, hid_t dapl_id, H5P_genplist_t *plist) +H5D__layout_oh_read(H5D_t *dataset, hid_t dxpl_id, hid_t dapl_id, H5P_genplist_t *plist) { htri_t msg_exists; /* Whether a particular type of message exists */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Sanity checking */ HDassert(dataset); @@ -680,7 +680,7 @@ H5D_layout_oh_read(H5D_t *dataset, hid_t dxpl_id, hid_t dapl_id, H5P_genplist_t case H5D_CHUNKED: /* Initialize the chunk cache for the dataset */ - if(H5D_chunk_init(dataset->oloc.file, dxpl_id, dataset, dapl_id) < 0) + if(H5D__chunk_init(dataset->oloc.file, dxpl_id, dataset, dapl_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't initialize chunk cache") break; @@ -695,11 +695,11 @@ H5D_layout_oh_read(H5D_t *dataset, hid_t dxpl_id, hid_t dapl_id, H5P_genplist_t done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_layout_oh_read() */ +} /* end H5D__layout_oh_read() */ /*------------------------------------------------------------------------- - * Function: H5D_layout_oh_write + * Function: H5D__layout_oh_write * * Purpose: Write layout/pline/efl information for dataset * @@ -712,11 +712,11 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_layout_oh_write(H5D_t *dataset, hid_t dxpl_id, H5O_t *oh, unsigned update_flags) +H5D__layout_oh_write(H5D_t *dataset, hid_t dxpl_id, H5O_t *oh, unsigned update_flags) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Sanity checking */ HDassert(dataset); @@ -737,5 +737,5 @@ H5D_layout_oh_write(H5D_t *dataset, hid_t dxpl_id, H5O_t *oh, unsigned update_fl done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_layout_oh_write() */ +} /* end H5D__layout_oh_write() */ diff --git a/src/H5Dmpio.c b/src/H5Dmpio.c index 03a9a76..dc8902b 100644 --- a/src/H5Dmpio.c +++ b/src/H5Dmpio.c @@ -100,33 +100,32 @@ typedef struct H5D_chunk_addr_info_t { /********************/ /* Local Prototypes */ /********************/ -static herr_t H5D_chunk_collective_io(H5D_io_info_t *io_info, +static herr_t H5D__chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, H5D_chunk_map_t *fm); -static herr_t H5D_multi_chunk_collective_io(H5D_io_info_t *io_info, +static herr_t H5D__multi_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, H5D_chunk_map_t *fm, H5P_genplist_t *dx_plist); -static herr_t H5D_multi_chunk_collective_io_no_opt(H5D_io_info_t *io_info, +static herr_t H5D__multi_chunk_collective_io_no_opt(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, H5D_chunk_map_t *fm, H5P_genplist_t *dx_plist); -static herr_t H5D_link_chunk_collective_io(H5D_io_info_t *io_info, +static herr_t H5D__link_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, H5D_chunk_map_t *fm, int sum_chunk); -static herr_t H5D_inter_collective_io(H5D_io_info_t *io_info, +static herr_t H5D__inter_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, const H5S_t *file_space, const H5S_t *mem_space); -static herr_t H5D_final_collective_io(H5D_io_info_t *io_info, +static herr_t H5D__final_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, MPI_Datatype *mpi_file_type, MPI_Datatype *mpi_buf_type); -static herr_t H5D_sort_chunk(H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, +static herr_t H5D__sort_chunk(H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, H5D_chunk_addr_info_t chunk_addr_info_array[], int many_chunk_opt); -static herr_t H5D_obtain_mpio_mode(H5D_io_info_t *io_info, H5D_chunk_map_t *fm, +static herr_t H5D__obtain_mpio_mode(H5D_io_info_t *io_info, H5D_chunk_map_t *fm, H5P_genplist_t *dx_plist, uint8_t assign_io_mode[], haddr_t chunk_addr[]); -static herr_t H5D_ioinfo_xfer_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, +static herr_t H5D__ioinfo_xfer_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, H5FD_mpio_xfer_t xfer_mode); -static herr_t H5D_ioinfo_coll_opt_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, +static herr_t H5D__ioinfo_coll_opt_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, H5FD_mpio_collective_opt_t coll_opt_mode); -static herr_t H5D_mpio_get_min_chunk(const H5D_io_info_t *io_info, +static herr_t H5D__mpio_get_min_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, int *min_chunkf); -static int H5D_cmp_chunk_addr(const void *addr1, const void *addr2); -static herr_t H5D_mpio_get_sum_chunk(const H5D_io_info_t *io_info, +static herr_t H5D__mpio_get_sum_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, int *sum_chunkf); @@ -141,7 +140,7 @@ static herr_t H5D_mpio_get_sum_chunk(const H5D_io_info_t *io_info, /*------------------------------------------------------------------------- - * Function: H5D_mpio_opt_possible + * Function: H5D__mpio_opt_possible * * Purpose: Checks if an direct I/O transfer is possible between memory and * the file. @@ -155,7 +154,7 @@ static herr_t H5D_mpio_get_sum_chunk(const H5D_io_info_t *io_info, *------------------------------------------------------------------------- */ htri_t -H5D_mpio_opt_possible(const H5D_io_info_t *io_info, const H5S_t *file_space, +H5D__mpio_opt_possible(const H5D_io_info_t *io_info, const H5S_t *file_space, const H5S_t *mem_space, const H5D_type_info_t *type_info, const H5D_chunk_map_t *fm) { @@ -164,7 +163,7 @@ H5D_mpio_opt_possible(const H5D_io_info_t *io_info, const H5S_t *file_space, int mpi_code; /* MPI error code */ htri_t ret_value = TRUE; - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(io_info); @@ -243,11 +242,11 @@ broadcast: done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_mpio_opt_possible() */ +} /* H5D__mpio_opt_possible() */ /*------------------------------------------------------------------------- - * Function: H5D_mpio_select_read + * Function: H5D__mpio_select_read * * Purpose: MPI-IO function to read directly from app buffer to file. * @@ -258,13 +257,13 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_mpio_select_read(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, +H5D__mpio_select_read(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, hsize_t mpi_buf_count, const H5S_t UNUSED *file_space, const H5S_t UNUSED *mem_space) { const H5D_contig_storage_t *store_contig = &(io_info->store->contig); /* Contiguous storage info for this I/O operation */ herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE H5_CHECK_OVERFLOW(mpi_buf_count, hsize_t, size_t); if(H5F_block_read(io_info->dset->oloc.file, H5FD_MEM_DRAW, store_contig->dset_addr, (size_t)mpi_buf_count, io_info->dxpl_id, io_info->u.rbuf) < 0) @@ -272,11 +271,11 @@ H5D_mpio_select_read(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_mpio_select_read() */ +} /* end H5D__mpio_select_read() */ /*------------------------------------------------------------------------- - * Function: H5D_mpio_select_write + * Function: H5D__mpio_select_write * * Purpose: MPI-IO function to write directly from app buffer to file. * @@ -287,13 +286,13 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_mpio_select_write(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, +H5D__mpio_select_write(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED *type_info, hsize_t mpi_buf_count, const H5S_t UNUSED *file_space, const H5S_t UNUSED *mem_space) { const H5D_contig_storage_t *store_contig = &(io_info->store->contig); /* Contiguous storage info for this I/O operation */ herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /*OKAY: CAST DISCARDS CONST QUALIFIER*/ H5_CHECK_OVERFLOW(mpi_buf_count, hsize_t, size_t); @@ -302,11 +301,11 @@ H5D_mpio_select_write(const H5D_io_info_t *io_info, const H5D_type_info_t UNUSED done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_mpio_select_write() */ +} /* end H5D__mpio_select_write() */ /*------------------------------------------------------------------------- - * Function: H5D_ioinfo_xfer_mode + * Function: H5D__ioinfo_xfer_mode * * Purpose: Switch to between collective & independent MPI I/O * @@ -318,12 +317,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_ioinfo_xfer_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, +H5D__ioinfo_xfer_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, H5FD_mpio_xfer_t xfer_mode) { herr_t ret_value = SUCCEED; /* return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Change the xfer_mode */ io_info->dxpl_cache->xfer_mode = xfer_mode; @@ -340,17 +339,17 @@ H5D_ioinfo_xfer_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, HDassert(xfer_mode == H5FD_MPIO_COLLECTIVE); /* Set the pointers to the MPI-specific routines */ - io_info->io_ops.single_read = H5D_mpio_select_read; - io_info->io_ops.single_write = H5D_mpio_select_write; + io_info->io_ops.single_read = H5D__mpio_select_read; + io_info->io_ops.single_write = H5D__mpio_select_write; } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_ioinfo_xfer_mode() */ +} /* end H5D__ioinfo_xfer_mode() */ /*------------------------------------------------------------------------- - * Function: H5D_ioinfo_coll_opt_mode + * Function: H5D__ioinfo_coll_opt_mode * * Purpose: Switch between using collective & independent MPI I/O w/file * set view @@ -363,12 +362,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_ioinfo_coll_opt_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, +H5D__ioinfo_coll_opt_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, H5FD_mpio_collective_opt_t coll_opt_mode) { herr_t ret_value = SUCCEED; /* return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Change the optimal xfer_mode */ io_info->dxpl_cache->coll_opt_mode = coll_opt_mode; @@ -377,11 +376,11 @@ H5D_ioinfo_coll_opt_mode(H5D_io_info_t *io_info, H5P_genplist_t *dx_plist, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_ioinfo_coll_opt_mode() */ +} /* end H5D__ioinfo_coll_opt_mode() */ /*------------------------------------------------------------------------- - * Function: H5D_mpio_get_min_chunk + * Function: H5D__mpio_get_min_chunk * * Purpose: Routine for obtaining minimum number of chunks to cover * hyperslab selection selected by all processors. @@ -394,14 +393,14 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_mpio_get_min_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, +H5D__mpio_get_min_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, int *min_chunkf) { int num_chunkf; /* Number of chunks to iterate over */ int mpi_code; /* MPI return code */ herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Get the number of chunks to perform I/O on */ num_chunkf = H5SL_count(fm->sel_chunks); @@ -412,11 +411,11 @@ H5D_mpio_get_min_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_mpio_get_min_chunk() */ +} /* end H5D__mpio_get_min_chunk() */ /*------------------------------------------------------------------------- - * Function: H5D_mpio_get_sum_chunk + * Function: H5D__mpio_get_sum_chunk * * Purpose: Routine for obtaining total number of chunks to cover * hyperslab selection selected by all processors. @@ -429,7 +428,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_mpio_get_sum_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, +H5D__mpio_get_sum_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, int *sum_chunkf) { int num_chunkf; /* Number of chunks to iterate over */ @@ -437,7 +436,7 @@ H5D_mpio_get_sum_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, int mpi_code; /* MPI return code */ herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Get the number of chunks to perform I/O on */ num_chunkf = 0; @@ -450,11 +449,11 @@ H5D_mpio_get_sum_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_mpio_get_sum_chunk() */ +} /* end H5D__mpio_get_sum_chunk() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_collective_read + * Function: H5D__contig_collective_read * * Purpose: Reads directly from contiguous data in file into application * memory using collective I/O. @@ -467,7 +466,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_contig_collective_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__contig_collective_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t UNUSED nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t UNUSED *fm) { @@ -475,14 +474,14 @@ H5D_contig_collective_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_i H5P_genplist_t *dx_plist; /* Pointer to DXPL */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(IS_H5FD_MPIO(io_info->dset->oloc.file)); HDassert(TRUE == H5P_isa_class(io_info->dxpl_id, H5P_DATASET_XFER)); /* Call generic internal collective I/O routine */ - if(H5D_inter_collective_io(io_info, type_info, file_space, mem_space) < 0) + if(H5D__inter_collective_io(io_info, type_info, file_space, mem_space) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "couldn't finish shared collective MPI-IO") /* Obtain the data transfer properties */ @@ -497,11 +496,11 @@ H5D_contig_collective_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_i done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_collective_read() */ +} /* end H5D__contig_collective_read() */ /*------------------------------------------------------------------------- - * Function: H5D_contig_collective_write + * Function: H5D__contig_collective_write * * Purpose: Write directly to contiguous data in file from application * memory using collective I/O. @@ -514,7 +513,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_contig_collective_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__contig_collective_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t UNUSED nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t UNUSED *fm) { @@ -522,14 +521,14 @@ H5D_contig_collective_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_ H5P_genplist_t *dx_plist; /* Pointer to DXPL */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(IS_H5FD_MPIO(io_info->dset->oloc.file)); HDassert(TRUE == H5P_isa_class(io_info->dxpl_id, H5P_DATASET_XFER)); /* Call generic internal collective I/O routine */ - if(H5D_inter_collective_io(io_info, type_info, file_space, mem_space) < 0) + if(H5D__inter_collective_io(io_info, type_info, file_space, mem_space) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "couldn't finish shared collective MPI-IO") /* Obtain the data transfer properties */ @@ -544,11 +543,11 @@ H5D_contig_collective_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_contig_collective_write() */ +} /* end H5D__contig_collective_write() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_collective_io + * Function: H5D__chunk_collective_io * * Purpose: Routine for * 1) choose an IO option: @@ -578,7 +577,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, H5D_chunk_map_t *fm) { H5P_genplist_t *dx_plist; /* Pointer to DXPL */ @@ -592,7 +591,7 @@ H5D_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info #endif herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity checks */ HDassert(io_info); @@ -614,7 +613,7 @@ H5D_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info unsigned one_link_chunk_io_threshold; /* Threshhold to use single collective I/O for all chunks */ int mpi_size; /* Number of processes in MPI job */ - if(H5D_mpio_get_sum_chunk(io_info, fm, &sum_chunk) < 0) + if(H5D__mpio_get_sum_chunk(io_info, fm, &sum_chunk) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTSWAP, FAIL, "unable to obtain the total chunk number of all processes"); if((mpi_size = H5F_mpi_get_size(io_info->dset->oloc.file)) < 0) HGOTO_ERROR(H5E_IO, H5E_MPI, FAIL, "unable to obtain mpi size") @@ -682,7 +681,7 @@ H5D_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info if(H5P_set(dx_plist, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_NAME, &actual_chunk_opt_mode) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "couldn't set actual chunk opt mode property") - if(H5D_link_chunk_collective_io(io_info, type_info, fm, sum_chunk) < 0) + if(H5D__link_chunk_collective_io(io_info, type_info, fm, sum_chunk) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTGET, FAIL, "couldn't finish linked chunk MPI-IO") /* Set the actual io mode property. */ @@ -696,7 +695,7 @@ H5D_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info if(H5P_set(dx_plist, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_NAME, &actual_chunk_opt_mode) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "couldn't set actual chunk opt mode property") - if(H5D_multi_chunk_collective_io_no_opt(io_info, type_info, fm, dx_plist) < 0) + if(H5D__multi_chunk_collective_io_no_opt(io_info, type_info, fm, dx_plist) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTGET, FAIL, "couldn't finish multiple chunk MPI-IO") } /* end if */ else { /*multiple chunk IOs with opt */ @@ -704,17 +703,17 @@ H5D_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info if(H5P_set(dx_plist, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_NAME, &actual_chunk_opt_mode) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "couldn't set actual chunk opt mode property") - if(H5D_multi_chunk_collective_io(io_info, type_info, fm, dx_plist) < 0) + if(H5D__multi_chunk_collective_io(io_info, type_info, fm, dx_plist) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTGET, FAIL, "couldn't finish optimized multiple chunk MPI-IO") } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_collective_io */ +} /* end H5D__chunk_collective_io */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_collective_read + * Function: H5D__chunk_collective_read * * Purpose: Reads directly from chunks in file into application memory * using collective I/O. @@ -727,25 +726,25 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_collective_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__chunk_collective_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t UNUSED nelmts, const H5S_t UNUSED *file_space, const H5S_t UNUSED *mem_space, H5D_chunk_map_t *fm) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Call generic selection operation */ - if(H5D_chunk_collective_io(io_info, type_info, fm) < 0) + if(H5D__chunk_collective_io(io_info, type_info, fm) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_READERROR, FAIL, "read error") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_collective_read() */ +} /* end H5D__chunk_collective_read() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_collective_write + * Function: H5D__chunk_collective_write * * Purpose: Write directly to chunks in file from application memory * using collective I/O. @@ -758,25 +757,25 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_collective_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__chunk_collective_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t UNUSED nelmts, const H5S_t UNUSED *file_space, const H5S_t UNUSED *mem_space, H5D_chunk_map_t *fm) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Call generic selection operation */ - if(H5D_chunk_collective_io(io_info, type_info, fm) < 0) + if(H5D__chunk_collective_io(io_info, type_info, fm) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_WRITEERROR, FAIL, "write error") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_collective_write() */ +} /* end H5D__chunk_collective_write() */ /*------------------------------------------------------------------------- - * Function: H5D_link_chunk_collective_io + * Function: H5D__link_chunk_collective_io * * Purpose: Routine for one collective IO with one MPI derived datatype to link with all chunks * @@ -793,7 +792,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_link_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__link_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, H5D_chunk_map_t *fm, int sum_chunk) { H5D_chunk_addr_info_t *chunk_addr_info_array = NULL; @@ -815,11 +814,11 @@ H5D_link_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type int mpi_code; /* MPI return code */ herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Get the sum # of chunks, if not already available */ if(sum_chunk < 0) { - if(H5D_mpio_get_sum_chunk(io_info, fm, &sum_chunk) < 0) + if(H5D__mpio_get_sum_chunk(io_info, fm, &sum_chunk) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTSWAP, FAIL, "unable to obtain the total chunk number of all processes"); } /* end if */ @@ -842,7 +841,7 @@ H5D_link_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type HDmemset(coords, 0, sizeof(coords)); /* Look up address of chunk */ - if(H5D_chunk_lookup(io_info->dset, io_info->dxpl_id, coords, + if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, coords, io_info->store->chunk.index, &udata) < 0) HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skipped list") ctg_store.contig.dset_addr = udata.addr; @@ -875,7 +874,7 @@ if(H5DEBUG(D)) #endif /* Perform I/O */ - if(H5D_inter_collective_io(io_info, type_info, fspace, mspace) < 0) + if(H5D__inter_collective_io(io_info, type_info, fspace, mspace) < 0) HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't finish shared collective MPI-IO") } /* end if */ else { @@ -919,7 +918,7 @@ if(H5DEBUG(D)) HDfprintf(H5DEBUG(D),"before sorting the chunk address \n"); #endif /* Sort the chunk address */ - if(H5D_sort_chunk(io_info, fm, chunk_addr_info_array, sum_chunk) < 0) + if(H5D__sort_chunk(io_info, fm, chunk_addr_info_array, sum_chunk) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTSWAP, FAIL, "unable to sort chunk address") ctg_store.contig.dset_addr = chunk_addr_info_array[0].chunk_addr; @@ -982,7 +981,7 @@ if(H5DEBUG(D)) HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "couldn't allocate total chunk address arraybuffer") /* Retrieve chunk address map */ - if(H5D_chunk_addrmap(io_info, total_chunk_addr_array) < 0) + if(H5D__chunk_addrmap(io_info, total_chunk_addr_array) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get chunk address") /* Get chunk with lowest address */ @@ -1008,7 +1007,7 @@ if(H5DEBUG(D)) io_info->store = &ctg_store; /* Perform final collective I/O operation */ - if(H5D_final_collective_io(io_info, type_info, mpi_buf_count, &chunk_final_ftype, &chunk_final_mtype) < 0) + if(H5D__final_collective_io(io_info, type_info, mpi_buf_count, &chunk_final_ftype, &chunk_final_mtype) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTGET, FAIL, "couldn't finish MPI-IO") } /* end else */ @@ -1046,11 +1045,11 @@ if(H5DEBUG(D)) HMPI_DONE_ERROR(FAIL, "MPI_Type_free failed", mpi_code) FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_link_chunk_collective_io */ +} /* end H5D__link_chunk_collective_io */ /*------------------------------------------------------------------------- - * Function: H5D_multi_chunk_collective_io + * Function: H5D__multi_chunk_collective_io * * Purpose: To do IO per chunk according to IO mode(collective/independent/none) * @@ -1067,7 +1066,7 @@ if(H5DEBUG(D)) *------------------------------------------------------------------------- */ static herr_t -H5D_multi_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__multi_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, H5D_chunk_map_t *fm, H5P_genplist_t *dx_plist) { H5D_io_info_t ctg_io_info; /* Contiguous I/O info object */ @@ -1088,7 +1087,7 @@ H5D_multi_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *typ H5D_mpio_actual_io_mode_t actual_io_mode = H5D_MPIO_NO_COLLECTIVE; /* Local variable for tracking the I/O mode used. */ herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC #ifdef H5Dmpio_DEBUG mpi_rank = H5F_mpi_get_rank(io_info->dset->oloc.file); @@ -1107,7 +1106,7 @@ if(H5DEBUG(D)) #endif /* Obtain IO option for each chunk */ - if(H5D_obtain_mpio_mode(io_info, fm, dx_plist, chunk_io_option, chunk_addr) < 0) + if(H5D__obtain_mpio_mode(io_info, fm, dx_plist, chunk_io_option, chunk_addr) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTRECV, FAIL, "unable to obtain MPIO mode") /* Set up contiguous I/O info object */ @@ -1181,12 +1180,12 @@ if(H5DEBUG(D)) /* Switch back to collective I/O */ if(last_xfer_mode != H5FD_MPIO_COLLECTIVE) { - if(H5D_ioinfo_xfer_mode(io_info, dx_plist, H5FD_MPIO_COLLECTIVE) < 0) + if(H5D__ioinfo_xfer_mode(io_info, dx_plist, H5FD_MPIO_COLLECTIVE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't switch to collective I/O") last_xfer_mode = H5FD_MPIO_COLLECTIVE; } /* end if */ if(last_coll_opt_mode != H5FD_MPIO_COLLECTIVE_IO) { - if(H5D_ioinfo_coll_opt_mode(io_info, dx_plist, H5FD_MPIO_COLLECTIVE_IO) < 0) + if(H5D__ioinfo_coll_opt_mode(io_info, dx_plist, H5FD_MPIO_COLLECTIVE_IO) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't switch to collective I/O") last_coll_opt_mode = H5FD_MPIO_COLLECTIVE_IO; } /* end if */ @@ -1195,7 +1194,7 @@ if(H5DEBUG(D)) ctg_store.contig.dset_addr = chunk_addr[u]; /* Perform the I/O */ - if(H5D_inter_collective_io(&ctg_io_info, type_info, fspace, mspace) < 0) + if(H5D__inter_collective_io(&ctg_io_info, type_info, fspace, mspace) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTGET, FAIL, "couldn't finish shared collective MPI-IO") } /* end if */ else { /* possible independent IO for this chunk */ @@ -1220,7 +1219,7 @@ if(H5DEBUG(D)) /* Using independent I/O with file setview.*/ if(last_coll_opt_mode != H5FD_MPIO_INDIVIDUAL_IO) { - if(H5D_ioinfo_coll_opt_mode(io_info, dx_plist, H5FD_MPIO_INDIVIDUAL_IO) < 0) + if(H5D__ioinfo_coll_opt_mode(io_info, dx_plist, H5FD_MPIO_INDIVIDUAL_IO) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't switch to individual I/O") last_coll_opt_mode = H5FD_MPIO_INDIVIDUAL_IO; } /* end if */ @@ -1229,7 +1228,7 @@ if(H5DEBUG(D)) ctg_store.contig.dset_addr = chunk_addr[u]; /* Perform the I/O */ - if(H5D_inter_collective_io(&ctg_io_info, type_info, fspace, mspace) < 0) + if(H5D__inter_collective_io(&ctg_io_info, type_info, fspace, mspace) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTGET, FAIL, "couldn't finish shared collective MPI-IO") #ifdef H5D_DEBUG if(H5DEBUG(D)) @@ -1249,11 +1248,11 @@ done: H5MM_xfree(chunk_addr); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_multi_chunk_collective_io */ +} /* end H5D__multi_chunk_collective_io */ /*------------------------------------------------------------------------- - * Function: H5D_multi_chunk_collective_io_no_opt + * Function: H5D__multi_chunk_collective_io_no_opt * * Purpose: To do collective IO without any optimization per chunk base * The internal independent IO inside HDF5 cannot handle @@ -1280,7 +1279,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_multi_chunk_collective_io_no_opt(H5D_io_info_t *io_info, +H5D__multi_chunk_collective_io_no_opt(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, H5D_chunk_map_t *fm, H5P_genplist_t *dx_plist) { H5SL_node_t *chunk_node; /* Current node in chunk skip list */ @@ -1295,7 +1294,7 @@ H5D_multi_chunk_collective_io_no_opt(H5D_io_info_t *io_info, H5D_mpio_actual_io_mode_t actual_io_mode = H5D_MPIO_NO_COLLECTIVE; /*Local variable for tracking the I/O modes used. */ herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC #ifdef H5D_DEBUG if(H5DEBUG(D)) { @@ -1326,7 +1325,7 @@ if(H5DEBUG(D)) { io_info->store = &store; /* Get the min. # of chunks */ - if(H5D_mpio_get_min_chunk(io_info, fm, &min_chunk) < 0) + if(H5D__mpio_get_min_chunk(io_info, fm, &min_chunk) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get minimum number of chunk") HDassert(min_chunk >= 0); @@ -1360,7 +1359,7 @@ if(H5DEBUG(D)) { make_ind = TRUE; /* Retrieve the chunk's address */ - if(H5D_chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, + if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, chunk_info->index, &udata) < 0) HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skipped list") @@ -1372,14 +1371,14 @@ if(H5DEBUG(D)) { htri_t cacheable; /* Whether the chunk is cacheable */ /* Switch to independent I/O */ - if(H5D_ioinfo_xfer_mode(io_info, dx_plist, H5FD_MPIO_INDEPENDENT) < 0) + if(H5D__ioinfo_xfer_mode(io_info, dx_plist, H5FD_MPIO_INDEPENDENT) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't switch to independent I/O") /* Update the local variable tracking the dxpl's actual io mode */ actual_io_mode = actual_io_mode | H5D_MPIO_CHUNK_INDEPENDENT; /* Load the chunk into cache and lock it. */ - if((cacheable = H5D_chunk_cacheable(io_info, udata.addr, + if((cacheable = H5D__chunk_cacheable(io_info, udata.addr, io_info->op_type == H5D_IO_OP_WRITE)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't tell if chunk is cacheable") if(cacheable) { @@ -1394,7 +1393,7 @@ if(H5DEBUG(D)) { entire_chunk = FALSE; /* Lock the chunk into the cache */ - if(NULL == (chunk = H5D_chunk_lock(io_info, &udata, entire_chunk, FALSE))) + if(NULL == (chunk = H5D__chunk_lock(io_info, &udata, entire_chunk, FALSE))) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to read raw data chunk") /* Set up the storage buffer information for this chunk */ @@ -1427,7 +1426,7 @@ if(H5DEBUG(D)) { /* Release the cache lock on the chunk. */ if(chunk) - if(H5D_chunk_unlock(io_info, &udata, (io_info->op_type == H5D_IO_OP_WRITE), chunk, accessed_bytes) < 0) + if(H5D__chunk_unlock(io_info, &udata, (io_info->op_type == H5D_IO_OP_WRITE), chunk, accessed_bytes) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to unlock raw data chunk") } /* end if */ else { /*collective I/O */ @@ -1437,12 +1436,12 @@ if(H5DEBUG(D)) { /* Update the local variable tracking the dxpl's actual io Mode. */ actual_io_mode = actual_io_mode | H5D_MPIO_CHUNK_COLLECTIVE; - if(H5D_inter_collective_io(&ctg_io_info, type_info, chunk_info->fspace, chunk_info->mspace) < 0) + if(H5D__inter_collective_io(&ctg_io_info, type_info, chunk_info->fspace, chunk_info->mspace) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTGET, FAIL,"couldn't finish shared collective MPI-IO") } /* end else */ if(make_coll) - if(H5D_ioinfo_xfer_mode(io_info, dx_plist, H5FD_MPIO_COLLECTIVE) < 0) + if(H5D__ioinfo_xfer_mode(io_info, dx_plist, H5FD_MPIO_COLLECTIVE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't switch to independent I/O") /* Get the next chunk node in the skip list */ @@ -1455,11 +1454,11 @@ if(H5DEBUG(D)) { done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_multi_chunk_collective_io_no_opt */ +} /* end H5D__multi_chunk_collective_io_no_opt */ /*------------------------------------------------------------------------- - * Function: H5D_inter_collective_io + * Function: H5D__inter_collective_io * * Purpose: Routine for the shared part of collective IO between multiple chunk * collective IO and contiguous collective IO @@ -1472,7 +1471,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_inter_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__inter_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, const H5S_t *file_space, const H5S_t *mem_space) { int mpi_buf_count; /* # of MPI types */ @@ -1482,7 +1481,7 @@ H5D_inter_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info int mpi_code; /* MPI return code */ herr_t ret_value = SUCCEED; /* return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC if((file_space != NULL) && (mem_space != NULL)) { int mpi_file_count; /* Number of file "objects" to transfer */ @@ -1508,7 +1507,7 @@ if(H5DEBUG(D)) #endif /* Perform final collective I/O operation */ - if(H5D_final_collective_io(io_info, type_info, (hsize_t)mpi_buf_count, &mpi_file_type, &mpi_buf_type) < 0) + if(H5D__final_collective_io(io_info, type_info, (hsize_t)mpi_buf_count, &mpi_file_type, &mpi_buf_type) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTGET, FAIL, "couldn't finish collective MPI-IO") done: @@ -1524,11 +1523,11 @@ if(H5DEBUG(D)) #endif FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_inter_collective_io() */ +} /* end H5D__inter_collective_io() */ /*------------------------------------------------------------------------- - * Function: H5D_final_collective_io + * Function: H5D__final_collective_io * * Purpose: Routine for the common part of collective IO with different storages. * @@ -1540,18 +1539,16 @@ if(H5DEBUG(D)) *------------------------------------------------------------------------- */ static herr_t -H5D_final_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__final_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t mpi_buf_count, MPI_Datatype *mpi_file_type, MPI_Datatype *mpi_buf_type) { - hbool_t plist_is_setup = FALSE; /* Whether the dxpl has been customized */ herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Pass buf type, file type to the file driver. */ - if(H5FD_mpi_setup_collective(io_info->dxpl_id, *mpi_buf_type, *mpi_file_type) < 0) + if(H5FD_mpi_setup_collective(io_info->dxpl_id, mpi_buf_type, mpi_file_type) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set MPI-I/O properties") - plist_is_setup = TRUE; if(io_info->op_type == H5D_IO_OP_WRITE) { if((io_info->io_ops.single_write)(io_info, type_info, mpi_buf_count, NULL, NULL) < 0) @@ -1563,21 +1560,44 @@ H5D_final_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *type_info } /* end else */ done: - /* Reset the dxpl settings */ - if(plist_is_setup) - if(H5FD_mpi_teardown_collective(io_info->dxpl_id) < 0) - HDONE_ERROR(H5E_DATASPACE, H5E_CANTFREE, FAIL, "unable to reset dxpl values") - #ifdef H5D_DEBUG if(H5DEBUG(D)) HDfprintf(H5DEBUG(D),"ret_value before leaving final_collective_io=%d\n",ret_value); #endif FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_final_collective_io */ +} /* end H5D__final_collective_io */ /*------------------------------------------------------------------------- - * Function: H5D_sort_chunk + * Function: H5D__cmp_chunk_addr + * + * Purpose: Routine to compare chunk addresses + * + * Description: Callback for qsort() to compare chunk addresses + * + * Return: -1, 0, 1 + * + * Programmer: Muqun Yang + * Monday, Feb. 13th, 2006 + * + *------------------------------------------------------------------------- + */ +static int +H5D__cmp_chunk_addr(const void *chunk_addr_info1, const void *chunk_addr_info2) +{ + haddr_t addr1, addr2; + + FUNC_ENTER_STATIC_NOERR + + addr1 = ((const H5D_chunk_addr_info_t *)chunk_addr_info1)->chunk_addr; + addr2 = ((const H5D_chunk_addr_info_t *)chunk_addr_info2)->chunk_addr; + + FUNC_LEAVE_NOAPI(H5F_addr_cmp(addr1, addr2)) +} /* end H5D__cmp_chunk_addr() */ + + +/*------------------------------------------------------------------------- + * Function: H5D__sort_chunk * * Purpose: Routine to sort chunks in increasing order of chunk address * Each chunk address is also obtained. @@ -1602,7 +1622,7 @@ if(H5DEBUG(D)) *------------------------------------------------------------------------- */ static herr_t -H5D_sort_chunk(H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, +H5D__sort_chunk(H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, H5D_chunk_addr_info_t chunk_addr_info_array[], int sum_chunk) { H5SL_node_t *chunk_node; /* Current node in chunk skip list */ @@ -1617,7 +1637,7 @@ H5D_sort_chunk(H5D_io_info_t *io_info, const H5D_chunk_map_t *fm, int i; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Retrieve # of MPI processes */ if((mpi_size = H5F_mpi_get_size(io_info->dset->oloc.file)) < 0) @@ -1658,7 +1678,7 @@ if(H5DEBUG(D)) HGOTO_ERROR(H5E_IO, H5E_MPI, FAIL, "unable to obtain mpi rank") if(mpi_rank == 0) { - if(H5D_chunk_addrmap(io_info, total_chunk_addr_array) < 0) + if(H5D__chunk_addrmap(io_info, total_chunk_addr_array) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get chunk address") } /* end if */ @@ -1681,7 +1701,7 @@ if(H5DEBUG(D)) H5D_chunk_ud_t udata; /* User data for querying chunk info */ /* Get address of chunk */ - if(H5D_chunk_lookup(io_info->dset, io_info->dxpl_id, + if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, chunk_info->index, &udata) < 0) HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skipped list") chunk_addr = udata.addr; @@ -1709,7 +1729,7 @@ if(H5DEBUG(D)) if(do_sort) { size_t num_chunks = H5SL_count(fm->sel_chunks); - HDqsort(chunk_addr_info_array, num_chunks, sizeof(chunk_addr_info_array[0]), H5D_cmp_chunk_addr); + HDqsort(chunk_addr_info_array, num_chunks, sizeof(chunk_addr_info_array[0]), H5D__cmp_chunk_addr); } /* end if */ done: @@ -1717,11 +1737,11 @@ done: H5MM_xfree(total_chunk_addr_array); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_sort_chunk() */ +} /* end H5D__sort_chunk() */ /*------------------------------------------------------------------------- - * Function: H5D_obtain_mpio_mode + * Function: H5D__obtain_mpio_mode * * Purpose: Routine to obtain each io mode(collective,independent or none) for each chunk; * Each chunk address is also obtained. @@ -1757,7 +1777,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_obtain_mpio_mode(H5D_io_info_t* io_info, H5D_chunk_map_t *fm, +H5D__obtain_mpio_mode(H5D_io_info_t* io_info, H5D_chunk_map_t *fm, H5P_genplist_t *dx_plist, uint8_t assign_io_mode[], haddr_t chunk_addr[]) { int total_chunks; @@ -1780,7 +1800,7 @@ H5D_obtain_mpio_mode(H5D_io_info_t* io_info, H5D_chunk_map_t *fm, #endif herr_t ret_value = SUCCEED; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Assign the rank 0 to the root */ root = 0; @@ -1797,7 +1817,7 @@ H5D_obtain_mpio_mode(H5D_io_info_t* io_info, H5D_chunk_map_t *fm, percent_nproc_per_chunk = H5P_peek_unsigned(dx_plist, H5D_XFER_MPIO_CHUNK_OPT_RATIO_NAME); chunk_opt_mode = (H5FD_mpio_chunk_opt_t)H5P_peek_unsigned(dx_plist, H5D_XFER_MPIO_CHUNK_OPT_HARD_NAME); if((chunk_opt_mode == H5FD_MPIO_CHUNK_MULTI_IO) || (percent_nproc_per_chunk == 0)) { - if(H5D_chunk_addrmap(io_info, chunk_addr) < 0) + if(H5D__chunk_addrmap(io_info, chunk_addr) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get chunk address"); for(ic = 0; ic < total_chunks; ic++) assign_io_mode[ic] = H5D_CHUNK_IO_MODE_COL; @@ -1837,7 +1857,7 @@ H5D_obtain_mpio_mode(H5D_io_info_t* io_info, H5D_chunk_map_t *fm, nproc_per_chunk = (int*)H5MM_calloc(total_chunks * sizeof(int)); /* calculating the chunk address */ - if(H5D_chunk_addrmap(io_info, chunk_addr) < 0) { + if(H5D__chunk_addrmap(io_info, chunk_addr) < 0) { HDfree(nproc_per_chunk); HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get chunk address") } /* end if */ @@ -1916,19 +1936,6 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_obtain_mpio_mode() */ - -static int -H5D_cmp_chunk_addr(const void *chunk_addr_info1, const void *chunk_addr_info2) -{ - haddr_t addr1, addr2; - - FUNC_ENTER_NOAPI_NOINIT_NOERR - - addr1 = ((const H5D_chunk_addr_info_t *)chunk_addr_info1)->chunk_addr; - addr2 = ((const H5D_chunk_addr_info_t *)chunk_addr_info2)->chunk_addr; - - FUNC_LEAVE_NOAPI(H5F_addr_cmp(addr1, addr2)) -} +} /* end H5D__obtain_mpio_mode() */ #endif /* H5_HAVE_PARALLEL */ diff --git a/src/H5Doh.c b/src/H5Doh.c index aac473b..5de3ca8 100644 --- a/src/H5Doh.c +++ b/src/H5Doh.c @@ -45,18 +45,17 @@ /********************/ /* Local Prototypes */ /********************/ -static void *H5O_dset_get_copy_file_udata(void); -static void H5O_dset_free_copy_file_udata(void *); -static htri_t H5O_dset_isa(H5O_t *loc); -static hid_t H5O_dset_open(const H5G_loc_t *obj_loc, hid_t lapl_id, +static void *H5O__dset_get_copy_file_udata(void); +static void H5O__dset_free_copy_file_udata(void *); +static htri_t H5O__dset_isa(H5O_t *loc); +static hid_t H5O__dset_open(const H5G_loc_t *obj_loc, hid_t lapl_id, hid_t dxpl_id, hbool_t app_ref); -static void *H5O_dset_create(H5F_t *f, void *_crt_info, H5G_loc_t *obj_loc, +static void *H5O__dset_create(H5F_t *f, void *_crt_info, H5G_loc_t *obj_loc, hid_t dxpl_id); -static H5O_loc_t *H5O_dset_get_oloc(hid_t obj_id); -static herr_t H5O_dset_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, +static H5O_loc_t *H5O__dset_get_oloc(hid_t obj_id); +static herr_t H5O__dset_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info); - -static herr_t H5O_dset_flush(H5G_loc_t *obj_loc, hid_t dxpl_id); +static herr_t H5O__dset_flush(H5G_loc_t *obj_loc, hid_t dxpl_id); /*********************/ @@ -77,14 +76,14 @@ static herr_t H5O_dset_flush(H5G_loc_t *obj_loc, hid_t dxpl_id); const H5O_obj_class_t H5O_OBJ_DATASET[1] = {{ H5O_TYPE_DATASET, /* object type */ "dataset", /* object name, for debugging */ - H5O_dset_get_copy_file_udata, /* get 'copy file' user data */ - H5O_dset_free_copy_file_udata, /* free 'copy file' user data */ - H5O_dset_isa, /* "isa" message */ - H5O_dset_open, /* open an object of this class */ - H5O_dset_create, /* create an object of this class */ - H5O_dset_get_oloc, /* get an object header location for an object */ - H5O_dset_bh_info, /* get the index & heap info for an object */ - H5O_dset_flush /* flush an opened object of this class */ + H5O__dset_get_copy_file_udata, /* get 'copy file' user data */ + H5O__dset_free_copy_file_udata, /* free 'copy file' user data */ + H5O__dset_isa, /* "isa" message */ + H5O__dset_open, /* open an object of this class */ + H5O__dset_create, /* create an object of this class */ + H5O__dset_get_oloc, /* get an object header location for an object */ + H5O__dset_bh_info, /* get the index & heap info for an object */ + H5O__dset_flush /* flush an opened object of this class */ }}; /* Declare a free list to manage the H5D_copy_file_ud_t struct */ @@ -92,7 +91,7 @@ H5FL_DEFINE(H5D_copy_file_ud_t); /*------------------------------------------------------------------------- - * Function: H5O_dset_get_copy_file_udata + * Function: H5O__dset_get_copy_file_udata * * Purpose: Allocates the user data needed for copying a dataset's * object header from file to file. @@ -107,11 +106,11 @@ H5FL_DEFINE(H5D_copy_file_ud_t); *------------------------------------------------------------------------- */ static void * -H5O_dset_get_copy_file_udata(void) +H5O__dset_get_copy_file_udata(void) { void *ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Allocate space for the 'copy file' user data for copying datasets */ if(NULL == (ret_value = H5FL_CALLOC(H5D_copy_file_ud_t))) @@ -119,11 +118,11 @@ H5O_dset_get_copy_file_udata(void) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5O_dset_get_copy_file_udata() */ +} /* end H5O__dset_get_copy_file_udata() */ /*------------------------------------------------------------------------- - * Function: H5O_dset_free_copy_file_udata + * Function: H5O__dset_free_copy_file_udata * * Purpose: Release the user data needed for copying a dataset's * object header from file to file. @@ -133,18 +132,14 @@ done: * Programmer: Quincey Koziol * Monday, November 21, 2005 * - * Modifications: Peter Cao - * Tuesday, December 27, 2005 - * Free filter pipeline for copying a dataset - * *------------------------------------------------------------------------- */ static void -H5O_dset_free_copy_file_udata(void *_udata) +H5O__dset_free_copy_file_udata(void *_udata) { H5D_copy_file_ud_t *udata = (H5D_copy_file_ud_t *)_udata; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* Sanity check */ HDassert(udata); @@ -169,11 +164,11 @@ H5O_dset_free_copy_file_udata(void *_udata) udata = H5FL_FREE(H5D_copy_file_ud_t, udata); FUNC_LEAVE_NOAPI_VOID -} /* end H5O_dset_free_copy_file_udata() */ +} /* end H5O__dset_free_copy_file_udata() */ /*------------------------------------------------------------------------- - * Function: H5O_dset_isa + * Function: H5O__dset_isa * * Purpose: Determines if an object has the requisite messages for being * a dataset. @@ -190,12 +185,12 @@ H5O_dset_free_copy_file_udata(void *_udata) *------------------------------------------------------------------------- */ static htri_t -H5O_dset_isa(H5O_t *oh) +H5O__dset_isa(H5O_t *oh) { htri_t exists; /* Flag if header message of interest exists */ htri_t ret_value = TRUE; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(oh); @@ -213,11 +208,11 @@ H5O_dset_isa(H5O_t *oh) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5O_dset_isa() */ +} /* end H5O__dset_isa() */ /*------------------------------------------------------------------------- - * Function: H5O_dset_open + * Function: H5O__dset_open * * Purpose: Open a dataset at a particular location * @@ -230,14 +225,14 @@ done: *------------------------------------------------------------------------- */ static hid_t -H5O_dset_open(const H5G_loc_t *obj_loc, hid_t lapl_id, hid_t dxpl_id, hbool_t app_ref) +H5O__dset_open(const H5G_loc_t *obj_loc, hid_t lapl_id, hid_t dxpl_id, hbool_t app_ref) { H5D_t *dset = NULL; /* Dataset opened */ htri_t isdapl; /* lapl_id is a dapl */ hid_t dapl_id; /* dapl to use to open this dataset */ hid_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(obj_loc); @@ -267,11 +262,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5O_dset_open() */ +} /* end H5O__dset_open() */ /*------------------------------------------------------------------------- - * Function: H5O_dset_create + * Function: H5O__dset_create * * Purpose: Create a dataset in a file * @@ -284,13 +279,13 @@ done: *------------------------------------------------------------------------- */ static void * -H5O_dset_create(H5F_t *f, void *_crt_info, H5G_loc_t *obj_loc, hid_t dxpl_id) +H5O__dset_create(H5F_t *f, void *_crt_info, H5G_loc_t *obj_loc, hid_t dxpl_id) { H5D_obj_create_t *crt_info = (H5D_obj_create_t *)_crt_info; /* Dataset creation parameters */ H5D_t *dset = NULL; /* New dataset created */ void *ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity checks */ HDassert(f); @@ -298,7 +293,7 @@ H5O_dset_create(H5F_t *f, void *_crt_info, H5G_loc_t *obj_loc, hid_t dxpl_id) HDassert(obj_loc); /* Create the the dataset */ - if(NULL == (dset = H5D_create(f, crt_info->type_id, crt_info->space, crt_info->dcpl_id, crt_info->dapl_id, dxpl_id))) + if(NULL == (dset = H5D__create(f, crt_info->type_id, crt_info->space, crt_info->dcpl_id, crt_info->dapl_id, dxpl_id))) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to create dataset") /* Set up the new dataset's location */ @@ -316,11 +311,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release dataset") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5O_dset_create() */ +} /* end H5O__dset_create() */ /*------------------------------------------------------------------------- - * Function: H5O_dset_get_oloc + * Function: H5O__dset_get_oloc * * Purpose: Retrieve the object header location for an open object * @@ -333,12 +328,12 @@ done: *------------------------------------------------------------------------- */ static H5O_loc_t * -H5O_dset_get_oloc(hid_t obj_id) +H5O__dset_get_oloc(hid_t obj_id) { H5D_t *dset; /* Dataset opened */ H5O_loc_t *ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Get the dataset */ if(NULL == (dset = (H5D_t *)H5I_object(obj_id))) @@ -350,11 +345,11 @@ H5O_dset_get_oloc(hid_t obj_id) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5O_dset_get_oloc() */ +} /* end H5O__dset_get_oloc() */ /*------------------------------------------------------------------------- - * Function: H5O_dset_bh_info + * Function: H5O__dset_bh_info * * Purpose: Returns the amount of btree storage that is used for chunked * dataset. @@ -368,7 +363,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5O_dset_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) +H5O__dset_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) { H5O_layout_t layout; /* Data storage layout message */ H5O_pline_t pline; /* I/O pipeline message */ @@ -379,7 +374,7 @@ H5O_dset_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) htri_t exists; /* Flag if header message of interest exists */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Sanity check */ HDassert(f); @@ -401,7 +396,7 @@ H5O_dset_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) } /* end if */ /* Check for chunked dataset storage */ - if(layout.type == H5D_CHUNKED && H5D_chunk_is_space_alloc(&layout.storage)) { + if(layout.type == H5D_CHUNKED && H5D__chunk_is_space_alloc(&layout.storage)) { /* Check for I/O pipeline message */ if((exists = H5O_msg_exists_oh(oh, H5O_PLINE_ID)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to read object header") @@ -413,7 +408,7 @@ H5O_dset_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) else HDmemset(&pline, 0, sizeof(pline)); - if(H5D_chunk_bh_info(f, dxpl_id, &layout, &pline, &(bh_info->index_size)) < 0) + if(H5D__chunk_bh_info(f, dxpl_id, &layout, &pline, &(bh_info->index_size)) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't determine chunked dataset btree info") } /* end if */ @@ -421,7 +416,7 @@ H5O_dset_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) if((exists = H5O_msg_exists_oh(oh, H5O_EFL_ID)) < 0) HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL, "unable to check for EFL message") - if(exists && H5D_efl_is_space_alloc(&layout.storage)) { + if(exists && H5D__efl_is_space_alloc(&layout.storage)) { /* Start with clean EFL info */ HDmemset(&efl, 0, sizeof(efl)); @@ -431,7 +426,7 @@ H5O_dset_bh_info(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5_ih_info_t *bh_info) efl_read = TRUE; /* Get size of local heap for EFL message's file list */ - if(H5D_efl_bh_info(f, dxpl_id, &efl, &(bh_info->heap_size)) < 0) + if(H5D__efl_bh_info(f, dxpl_id, &efl, &(bh_info->heap_size)) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't determine EFL heap info") } /* end if */ @@ -445,11 +440,11 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CANTRESET, FAIL, "unable to reset external file list message") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5O_dset_bh_info() */ +} /* end H5O__dset_bh_info() */ /*------------------------------------------------------------------------- - * Function: H5O_dset_flush + * Function: H5O__dset_flush * * Purpose: To flush any dataset information cached in memory * @@ -462,13 +457,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5O_dset_flush(H5G_loc_t *obj_loc, hid_t dxpl_id) +H5O__dset_flush(H5G_loc_t *obj_loc, hid_t dxpl_id) { H5D_t *dset; /* Dataset opened */ H5O_type_t obj_type; /* Type of object at location */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC HDassert(obj_loc); HDassert(obj_loc->oloc); @@ -484,11 +479,12 @@ H5O_dset_flush(H5G_loc_t *obj_loc, hid_t dxpl_id) if(NULL == (dset = H5D_open(obj_loc, H5P_DATASET_ACCESS_DEFAULT, dxpl_id))) HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, FAIL, "unable to open dataset") - if(H5D_flush_real(dset, dxpl_id) < 0) + if(H5D__flush_real(dset, dxpl_id) < 0) HDONE_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to flush cached dataset info") done: if(dset && H5D_close(dset) < 0) - HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release dataset") + HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5O_dset_flush() */ +} /* end H5O__dset_flush() */ + diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h index b71ad6a..e3562bb 100644 --- a/src/H5Dpkg.h +++ b/src/H5Dpkg.h @@ -42,9 +42,6 @@ /* Package Private Macros */ /**************************/ -/* The number of reserved IDs in dataset ID group */ -#define H5D_RESERVED_ATOMS 0 - /* Set the minimum object header size to create objects with */ #define H5D_MINHDR_SIZE 256 @@ -588,158 +585,160 @@ H5_DLLVAR const H5B2_class_t H5D_BT2_FILT[1]; /* Package Private Prototypes */ /******************************/ -H5_DLL H5D_t *H5D_create(H5F_t *file, hid_t type_id, const H5S_t *space, +H5_DLL H5D_t *H5D__create(H5F_t *file, hid_t type_id, const H5S_t *space, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id); H5_DLL H5D_t *H5D__create_named(const H5G_loc_t *loc, const char *name, hid_t type_id, const H5S_t *space, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id); -H5_DLL herr_t H5D_get_space_status(H5D_t *dset, H5D_space_status_t *allocation, +H5_DLL herr_t H5D__get_space_status(H5D_t *dset, H5D_space_status_t *allocation, hid_t dxpl_id); -H5_DLL herr_t H5D_alloc_storage(H5D_t *dset, hid_t dxpl_id, H5D_time_alloc_t time_alloc, +H5_DLL herr_t H5D__alloc_storage(H5D_t *dset, hid_t dxpl_id, H5D_time_alloc_t time_alloc, hbool_t full_overwrite, hsize_t old_dim[]); -H5_DLL hsize_t H5D_get_storage_size(H5D_t *dset, hid_t dxpl_id); -H5_DLL haddr_t H5D_get_offset(const H5D_t *dset); -H5_DLL herr_t H5D_iterate(void *buf, hid_t type_id, const H5S_t *space, +H5_DLL herr_t H5D__get_storage_size(H5D_t *dset, hid_t dxpl_id, hsize_t *storage_size); +H5_DLL haddr_t H5D__get_offset(const H5D_t *dset); +H5_DLL herr_t H5D__iterate(void *buf, hid_t type_id, const H5S_t *space, H5D_operator_t op, void *operator_data); -H5_DLL void * H5D_vlen_get_buf_size_alloc(size_t size, void *info); -H5_DLL herr_t H5D_vlen_get_buf_size(void *elem, hid_t type_id, unsigned ndim, +H5_DLL void *H5D__vlen_get_buf_size_alloc(size_t size, void *info); +H5_DLL herr_t H5D__vlen_get_buf_size(void *elem, hid_t type_id, unsigned ndim, const hsize_t *point, void *op_data); -H5_DLL herr_t H5D_check_filters(H5D_t *dataset); -H5_DLL herr_t H5D_set_extent(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id); -H5_DLL herr_t H5D_get_dxpl_cache(hid_t dxpl_id, H5D_dxpl_cache_t **cache); -H5_DLL herr_t H5D_flush_sieve_buf(H5D_t *dataset, hid_t dxpl_id); -H5_DLL herr_t H5D_flush_real(H5D_t *dataset, hid_t dxpl_id); -H5_DLL herr_t H5D_mark(H5D_t *dataset, hid_t dxpl_id, unsigned flags); +H5_DLL herr_t H5D__check_filters(H5D_t *dataset); +H5_DLL herr_t H5D__set_extent(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id); +H5_DLL herr_t H5D__get_dxpl_cache(hid_t dxpl_id, H5D_dxpl_cache_t **cache); +H5_DLL herr_t H5D__flush_sieve_buf(H5D_t *dataset, hid_t dxpl_id); +H5_DLL herr_t H5D__flush_real(H5D_t *dataset, hid_t dxpl_id); +H5_DLL herr_t H5D__mark(H5D_t *dataset, hid_t dxpl_id, unsigned flags); /* Functions that perform direct serial I/O operations */ -H5_DLL herr_t H5D_select_read(const H5D_io_info_t *io_info, +H5_DLL herr_t H5D__select_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space); -H5_DLL herr_t H5D_select_write(const H5D_io_info_t *io_info, +H5_DLL herr_t H5D__select_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space); /* Functions that perform scatter-gather serial I/O operations */ -H5_DLL herr_t H5D_scatter_mem(const void *_tscat_buf, +H5_DLL herr_t H5D__scatter_mem(const void *_tscat_buf, const H5S_t *space, H5S_sel_iter_t *iter, size_t nelmts, const H5D_dxpl_cache_t *dxpl_cache, void *_buf); -H5_DLL herr_t H5D_scatgath_read(const H5D_io_info_t *io_info, +H5_DLL herr_t H5D__scatgath_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space); -H5_DLL herr_t H5D_scatgath_write(const H5D_io_info_t *io_info, +H5_DLL herr_t H5D__scatgath_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space); /* Functions that operate on dataset's layout information */ -H5_DLL herr_t H5D_layout_set_io_ops(const H5D_t *dataset); -H5_DLL size_t H5D_layout_meta_size(const H5F_t *f, const H5O_layout_t *layout, +H5_DLL herr_t H5D__layout_set_io_ops(const H5D_t *dataset); +H5_DLL size_t H5D__layout_meta_size(const H5F_t *f, const H5O_layout_t *layout, hbool_t include_compact_data); -H5_DLL herr_t H5D_layout_set_latest_version(H5O_layout_t *layout, +H5_DLL herr_t H5D__layout_set_latest_version(H5O_layout_t *layout, const H5S_t *space, const H5D_dcpl_cache_t *dcpl_cache); -H5_DLL herr_t H5D_layout_set_latest_indexing(H5O_layout_t *layout, +H5_DLL herr_t H5D__layout_set_latest_indexing(H5O_layout_t *layout, const H5S_t *space, const H5D_dcpl_cache_t *dcpl_cache); -H5_DLL herr_t H5D_layout_oh_create(H5F_t *file, hid_t dxpl_id, H5O_t *oh, +H5_DLL herr_t H5D__layout_oh_create(H5F_t *file, hid_t dxpl_id, H5O_t *oh, H5D_t *dset, hid_t dapl_id); -H5_DLL herr_t H5D_layout_oh_read(H5D_t *dset, hid_t dxpl_id, hid_t dapl_id, +H5_DLL herr_t H5D__layout_oh_read(H5D_t *dset, hid_t dxpl_id, hid_t dapl_id, H5P_genplist_t *plist); -H5_DLL herr_t H5D_layout_oh_write(H5D_t *dataset, hid_t dxpl_id, H5O_t *oh, +H5_DLL herr_t H5D__layout_oh_write(H5D_t *dataset, hid_t dxpl_id, H5O_t *oh, unsigned update_flags); /* Functions that operate on contiguous storage */ -H5_DLL herr_t H5D_contig_alloc(H5F_t *f, hid_t dxpl_id, +H5_DLL herr_t H5D__contig_alloc(H5F_t *f, hid_t dxpl_id, H5O_storage_contig_t *storage); -H5_DLL hbool_t H5D_contig_is_space_alloc(const H5O_storage_t *storage); -H5_DLL herr_t H5D_contig_fill(H5D_t *dset, hid_t dxpl_id); -H5_DLL haddr_t H5D_contig_get_addr(const H5D_t *dset); -H5_DLL herr_t H5D_contig_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5_DLL hbool_t H5D__contig_is_space_alloc(const H5O_storage_t *storage); +H5_DLL herr_t H5D__contig_fill(H5D_t *dset, hid_t dxpl_id); +H5_DLL herr_t H5D__contig_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); -H5_DLL herr_t H5D_contig_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5_DLL herr_t H5D__contig_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); -H5_DLL herr_t H5D_contig_copy(H5F_t *f_src, const H5O_storage_contig_t *storage_src, +H5_DLL herr_t H5D__contig_copy(H5F_t *f_src, const H5O_storage_contig_t *storage_src, H5F_t *f_dst, H5O_storage_contig_t *storage_dst, H5T_t *src_dtype, H5O_copy_t *cpy_info, hid_t dxpl_id); +H5_DLL herr_t H5D__contig_delete(H5F_t *f, hid_t dxpl_id, + const H5O_storage_t *store); + /* Functions that operate on chunked dataset storage */ -H5_DLL htri_t H5D_chunk_cacheable(const H5D_io_info_t *io_info, haddr_t caddr, +H5_DLL htri_t H5D__chunk_cacheable(const H5D_io_info_t *io_info, haddr_t caddr, hbool_t write_op); -H5_DLL herr_t H5D_chunk_cinfo_cache_reset(H5D_chunk_cached_t *last); -H5_DLL herr_t H5D_chunk_create(H5D_t *dset /*in,out*/, hid_t dxpl_id); -H5_DLL herr_t H5D_chunk_set_info(const H5D_t *dset); -H5_DLL herr_t H5D_chunk_init(H5F_t *f, hid_t dxpl_id, const H5D_t *dset, +H5_DLL herr_t H5D__chunk_create(H5D_t *dset /*in,out*/, hid_t dxpl_id); +H5_DLL herr_t H5D__chunk_set_info(const H5D_t *dset); +H5_DLL herr_t H5D__chunk_init(H5F_t *f, hid_t dxpl_id, const H5D_t *dset, hid_t dapl_id); -H5_DLL hbool_t H5D_chunk_is_space_alloc(const H5O_storage_t *storage); -H5_DLL herr_t H5D_chunk_lookup(const H5D_t *dset, hid_t dxpl_id, +H5_DLL hbool_t H5D__chunk_is_space_alloc(const H5O_storage_t *storage); +H5_DLL herr_t H5D__chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset, hsize_t chunk_idx, H5D_chunk_ud_t *udata); -H5_DLL void *H5D_chunk_lock(const H5D_io_info_t *io_info, +H5_DLL void *H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata, hbool_t relax, hbool_t prev_unfilt_chunk); -H5_DLL herr_t H5D_chunk_unlock(const H5D_io_info_t *io_info, +H5_DLL herr_t H5D__chunk_unlock(const H5D_io_info_t *io_info, const H5D_chunk_ud_t *udata, hbool_t dirty, void *chunk, uint32_t naccessed); -H5_DLL herr_t H5D_chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, +H5_DLL herr_t H5D__chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t *dxpl_cache, H5D_rdcc_ent_t *ent, hbool_t reset); -H5_DLL herr_t H5D_chunk_allocated(H5D_t *dset, hid_t dxpl_id, hsize_t *nbytes); -H5_DLL herr_t H5D_chunk_allocate(H5D_t *dset, hid_t dxpl_id, +H5_DLL herr_t H5D__chunk_allocated(H5D_t *dset, hid_t dxpl_id, hsize_t *nbytes); +H5_DLL herr_t H5D__chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite, hsize_t old_dim[]); -H5_DLL herr_t H5D_chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, +H5_DLL herr_t H5D__chunk_update_old_edge_chunks(H5D_t *dset, hid_t dxpl_id, hsize_t old_dim[]); -H5_DLL herr_t H5D_chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, +H5_DLL herr_t H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim); #ifdef H5_HAVE_PARALLEL -H5_DLL herr_t H5D_chunk_addrmap(const H5D_io_info_t *io_info, haddr_t chunk_addr[]); +H5_DLL herr_t H5D__chunk_addrmap(const H5D_io_info_t *io_info, haddr_t chunk_addr[]); #endif /* H5_HAVE_PARALLEL */ -H5_DLL herr_t H5D_chunk_update_cache(H5D_t *dset, hid_t dxpl_id); -H5_DLL herr_t H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src, +H5_DLL herr_t H5D__chunk_update_cache(H5D_t *dset, hid_t dxpl_id); +H5_DLL herr_t H5D__chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src, H5O_layout_chunk_t *layout_src, H5F_t *f_dst, H5O_storage_chunk_t *storage_dst, const H5S_extent_t *ds_extent_src, const H5T_t *dt_src, const H5O_pline_t *pline_src, H5O_copy_t *cpy_info, hid_t dxpl_id); -H5_DLL herr_t H5D_chunk_bh_info(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout, +H5_DLL herr_t H5D__chunk_bh_info(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout, const H5O_pline_t *pline, hsize_t *btree_size); -H5_DLL herr_t H5D_chunk_dump_index(H5D_t *dset, hid_t dxpl_id, FILE *stream); -H5_DLL herr_t H5D_chunk_dest(H5F_t *f, hid_t dxpl_id, H5D_t *dset); -H5_DLL herr_t H5D_chunk_create_flush_dep(const H5D_rdcc_t *rdcc, +H5_DLL herr_t H5D__chunk_dump_index(H5D_t *dset, hid_t dxpl_id, FILE *stream); +H5_DLL herr_t H5D__chunk_dest(H5F_t *f, hid_t dxpl_id, H5D_t *dset); +H5_DLL herr_t H5D__chunk_delete(H5F_t *f, hid_t dxpl_id, H5O_t *oh, + H5O_storage_t *store); +H5_DLL herr_t H5D__chunk_create_flush_dep(const H5D_rdcc_t *rdcc, const H5O_layout_chunk_t *layout, const hsize_t offset[], void *parent); -H5_DLL herr_t H5D_chunk_update_flush_dep(const H5D_rdcc_t *rdcc, +H5_DLL herr_t H5D__chunk_update_flush_dep(const H5D_rdcc_t *rdcc, const H5O_layout_chunk_t *layout, const hsize_t offset[], void *old_parent, void *new_parent); #ifdef H5D_CHUNK_DEBUG -H5_DLL herr_t H5D_chunk_stats(const H5D_t *dset, hbool_t headers); +H5_DLL herr_t H5D__chunk_stats(const H5D_t *dset, hbool_t headers); #endif /* H5D_CHUNK_DEBUG */ /* Functions that operate on compact dataset storage */ -H5_DLL herr_t H5D_compact_fill(H5D_t *dset, hid_t dxpl_id); -H5_DLL herr_t H5D_compact_copy(H5F_t *f_src, H5O_storage_compact_t *storage_src, +H5_DLL herr_t H5D__compact_fill(H5D_t *dset, hid_t dxpl_id); +H5_DLL herr_t H5D__compact_copy(H5F_t *f_src, H5O_storage_compact_t *storage_src, H5F_t *f_dst, H5O_storage_compact_t *storage_dst, H5T_t *src_dtype, H5O_copy_t *cpy_info, hid_t dxpl_id); /* Functions that operate on EFL (External File List)*/ -H5_DLL hbool_t H5D_efl_is_space_alloc(const H5O_storage_t *storage); -H5_DLL herr_t H5D_efl_bh_info(H5F_t *f, hid_t dxpl_id, H5O_efl_t *efl, +H5_DLL hbool_t H5D__efl_is_space_alloc(const H5O_storage_t *storage); +H5_DLL herr_t H5D__efl_bh_info(H5F_t *f, hid_t dxpl_id, H5O_efl_t *efl, hsize_t *heap_size); /* Functions that perform fill value operations on datasets */ -H5_DLL herr_t H5D_fill(const void *fill, const H5T_t *fill_type, void *buf, +H5_DLL herr_t H5D__fill(const void *fill, const H5T_t *fill_type, void *buf, const H5T_t *buf_type, const H5S_t *space, hid_t dxpl_id); -H5_DLL herr_t H5D_fill_init(H5D_fill_buf_info_t *fb_info, void *caller_fill_buf, +H5_DLL herr_t H5D__fill_init(H5D_fill_buf_info_t *fb_info, void *caller_fill_buf, H5MM_allocate_t alloc_func, void *alloc_info, H5MM_free_t free_func, void *free_info, const H5O_fill_t *fill, const H5T_t *dset_type, hid_t dset_type_id, size_t nelmts, size_t min_buf_size, hid_t dxpl_id); -H5_DLL herr_t H5D_fill_refill_vl(H5D_fill_buf_info_t *fb_info, size_t nelmts, +H5_DLL herr_t H5D__fill_refill_vl(H5D_fill_buf_info_t *fb_info, size_t nelmts, hid_t dxpl_id); -H5_DLL herr_t H5D_fill_release(H5D_fill_buf_info_t *fb_info); -H5_DLL herr_t H5D_fill_term(H5D_fill_buf_info_t *fb_info); +H5_DLL herr_t H5D__fill_term(H5D_fill_buf_info_t *fb_info); /* Functions that operate on chunk proxy objects */ -H5_DLL herr_t H5D_chunk_proxy_create(H5D_t *dset, hid_t dxpl_id, +H5_DLL herr_t H5D__chunk_proxy_create(H5D_t *dset, hid_t dxpl_id, H5D_chunk_ud_t *udata, H5D_rdcc_ent_t *ent); -H5_DLL herr_t H5D_chunk_proxy_remove(const H5D_t *dset, hid_t dxpl_it, +H5_DLL herr_t H5D__chunk_proxy_remove(const H5D_t *dset, hid_t dxpl_it, H5D_rdcc_ent_t *ent); -H5_DLL herr_t H5D_chunk_proxy_mark(H5D_rdcc_ent_t *ent, hbool_t dirty); -H5_DLL herr_t H5D_chunk_proxy_create_flush_dep(H5D_rdcc_ent_t *ent, +H5_DLL herr_t H5D__chunk_proxy_mark(H5D_rdcc_ent_t *ent, hbool_t dirty); +H5_DLL herr_t H5D__chunk_proxy_create_flush_dep(H5D_rdcc_ent_t *ent, void *parent); -H5_DLL herr_t H5D_chunk_proxy_update_flush_dep(H5D_rdcc_ent_t *ent, +H5_DLL herr_t H5D__chunk_proxy_update_flush_dep(H5D_rdcc_ent_t *ent, void *old_parent, void *new_parent); #ifdef H5_HAVE_PARALLEL @@ -750,34 +749,34 @@ H5_DLL herr_t H5D_chunk_proxy_update_flush_dep(H5D_rdcc_ent_t *ent, #endif /*H5Dmpio_DEBUG*/ #endif/*H5S_DEBUG*/ /* MPI-IO function to read, it will select either regular or irregular read */ -H5_DLL herr_t H5D_mpio_select_read(const H5D_io_info_t *io_info, +H5_DLL herr_t H5D__mpio_select_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space); /* MPI-IO function to write, it will select either regular or irregular read */ -H5_DLL herr_t H5D_mpio_select_write(const H5D_io_info_t *io_info, +H5_DLL herr_t H5D__mpio_select_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space); /* MPI-IO functions to handle contiguous collective IO */ -H5_DLL herr_t H5D_contig_collective_read(H5D_io_info_t *io_info, +H5_DLL herr_t H5D__contig_collective_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); -H5_DLL herr_t H5D_contig_collective_write(H5D_io_info_t *io_info, +H5_DLL herr_t H5D__contig_collective_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); /* MPI-IO functions to handle chunked collective IO */ -H5_DLL herr_t H5D_chunk_collective_read(H5D_io_info_t *io_info, +H5_DLL herr_t H5D__chunk_collective_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); -H5_DLL herr_t H5D_chunk_collective_write(H5D_io_info_t *io_info, +H5_DLL herr_t H5D__chunk_collective_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space, H5D_chunk_map_t *fm); /* MPI-IO function to check if a direct I/O transfer is possible between * memory and the file */ -H5_DLL htri_t H5D_mpio_opt_possible(const H5D_io_info_t *io_info, +H5_DLL htri_t H5D__mpio_opt_possible(const H5D_io_info_t *io_info, const H5S_t *file_space, const H5S_t *mem_space, const H5D_type_info_t *type_info, const H5D_chunk_map_t *fm); @@ -785,10 +784,10 @@ H5_DLL htri_t H5D_mpio_opt_possible(const H5D_io_info_t *io_info, /* Testing functions */ #ifdef H5D_TESTING -H5_DLL herr_t H5D_layout_version_test(hid_t did, unsigned *version); -H5_DLL herr_t H5D_layout_contig_size_test(hid_t did, hsize_t *size); -H5_DLL herr_t H5D_layout_idx_type_test(hid_t did, H5D_chunk_index_t *idx_type); -H5_DLL herr_t H5D_current_cache_size_test(hid_t did, size_t *nbytes_used, int *nused); +H5_DLL herr_t H5D__layout_version_test(hid_t did, unsigned *version); +H5_DLL herr_t H5D__layout_contig_size_test(hid_t did, hsize_t *size); +H5_DLL herr_t H5D__layout_idx_type_test(hid_t did, H5D_chunk_index_t *idx_type); +H5_DLL herr_t H5D__current_cache_size_test(hid_t did, size_t *nbytes_used, int *nused); #endif /* H5D_TESTING */ #endif /*_H5Dpkg_H*/ diff --git a/src/H5Dprivate.h b/src/H5Dprivate.h index 66b6e56..0438fac 100644 --- a/src/H5Dprivate.h +++ b/src/H5Dprivate.h @@ -170,14 +170,8 @@ H5_DLL herr_t H5D_flush(const H5F_t *f, hid_t dxpl_id); H5_DLL herr_t H5D_vlen_reclaim(hid_t type_id, H5S_t *space, hid_t plist_id, void *buf); -/* Functions that operate on contiguous storage */ -H5_DLL herr_t H5D_contig_delete(H5F_t *f, hid_t dxpl_id, - const H5O_storage_t *store); - /* Functions that operate on chunked storage */ H5_DLL herr_t H5D_chunk_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr); -H5_DLL herr_t H5D_chunk_delete(H5F_t *f, hid_t dxpl_id, H5O_t *oh, - H5O_storage_t *store); /* Functions that operate on indexed storage */ H5_DLL herr_t H5D_btree_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream, diff --git a/src/H5Dproxy.c b/src/H5Dproxy.c index 3cf0146..7f0ad9d 100644 --- a/src/H5Dproxy.c +++ b/src/H5Dproxy.c @@ -70,14 +70,14 @@ /********************/ /* Local routines */ -static herr_t H5D_chunk_proxy_destroy(H5D_chunk_proxy_t *proxy); +static herr_t H5D__chunk_proxy_destroy(H5D_chunk_proxy_t *proxy); /* Metadata cache (H5AC) callbacks */ -static H5D_chunk_proxy_t *H5D_cache_proxy_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void *udata, void *udata2); -static herr_t H5D_cache_proxy_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5D_chunk_proxy_t *proxy, unsigned UNUSED * flags_ptr); -static herr_t H5D_cache_proxy_dest(H5F_t *f, H5D_chunk_proxy_t *proxy); -static herr_t H5D_cache_proxy_clear(H5F_t *f, H5D_chunk_proxy_t *proxy, hbool_t destroy); -static herr_t H5D_cache_proxy_size(const H5F_t *f, const H5D_chunk_proxy_t *proxy, size_t *size_ptr); +static H5D_chunk_proxy_t *H5D__cache_proxy_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void *udata, void *udata2); +static herr_t H5D__cache_proxy_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5D_chunk_proxy_t *proxy, unsigned UNUSED * flags_ptr); +static herr_t H5D__cache_proxy_dest(H5F_t *f, H5D_chunk_proxy_t *proxy); +static herr_t H5D__cache_proxy_clear(H5F_t *f, H5D_chunk_proxy_t *proxy, hbool_t destroy); +static herr_t H5D__cache_proxy_size(const H5F_t *f, const H5D_chunk_proxy_t *proxy, size_t *size_ptr); /*********************/ @@ -87,12 +87,12 @@ static herr_t H5D_cache_proxy_size(const H5F_t *f, const H5D_chunk_proxy_t *prox /* H5D chunk proxy inherits cache-like properties from H5AC */ const H5AC_class_t H5AC_CHUNK_PROXY[1] = {{ H5AC_CHUNK_PROXY_ID, - (H5AC_load_func_t)H5D_cache_proxy_load, - (H5AC_flush_func_t)H5D_cache_proxy_flush, - (H5AC_dest_func_t)H5D_cache_proxy_dest, - (H5AC_clear_func_t)H5D_cache_proxy_clear, + (H5AC_load_func_t)H5D__cache_proxy_load, + (H5AC_flush_func_t)H5D__cache_proxy_flush, + (H5AC_dest_func_t)H5D__cache_proxy_dest, + (H5AC_clear_func_t)H5D__cache_proxy_clear, (H5AC_notify_func_t)NULL, - (H5AC_size_func_t)H5D_cache_proxy_size, + (H5AC_size_func_t)H5D__cache_proxy_size, }}; @@ -111,7 +111,7 @@ H5FL_DEFINE_STATIC(H5D_chunk_proxy_t); /*------------------------------------------------------------------------- - * Function: H5D_cache_proxy_load + * Function: H5D__cache_proxy_load * * Purpose: Loads a chunk proxy from the disk. * @@ -127,24 +127,24 @@ H5FL_DEFINE_STATIC(H5D_chunk_proxy_t); *------------------------------------------------------------------------- */ static H5D_chunk_proxy_t * -H5D_cache_proxy_load(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, haddr_t UNUSED addr, +H5D__cache_proxy_load(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, haddr_t UNUSED addr, const void UNUSED *udata1, void UNUSED *udata2) { H5D_chunk_proxy_t *ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* This routine should never be invoked! */ - HDassert(0 && "H5D_cache_proxy_load called!?!"); + HDassert(0 && "H5D__cache_proxy_load called!?!"); HGOTO_ERROR(H5E_DATASET, H5E_CANTLOAD, NULL, "unable to load chunk proxy") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_cache_proxy_load() */ +} /* H5D__cache_proxy_load() */ /*------------------------------------------------------------------------- - * Function: H5D_cache_proxy_flush + * Function: H5D__cache_proxy_flush * * Purpose: Proxy for flushing a chunk in chunk cache under control * of the metadata cache. @@ -158,12 +158,12 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_cache_proxy_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, +H5D__cache_proxy_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5D_chunk_proxy_t *proxy, unsigned UNUSED * flags_ptr) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC #ifdef QAK HDfprintf(stderr, "%s: Flushing chunk proxy, addr = %a, destroy = %u\n", FUNC, addr, (unsigned)destroy); #endif /* QAK */ @@ -178,14 +178,14 @@ HDfprintf(stderr, "%s: Flushing chunk proxy, addr = %a, destroy = %u\n", FUNC, a H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */ /* Fill the DXPL cache values for later use */ - if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) + if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache") /* Flush the chunk for the proxy */ /* (This must be safe from actually performing I/O when the chunk is * clean - QAK, 5/21/2009) */ - if(H5D_chunk_flush_entry(proxy->dset, dxpl_id, dxpl_cache, proxy->ent, FALSE) < 0) + if(H5D__chunk_flush_entry(proxy->dset, dxpl_id, dxpl_cache, proxy->ent, FALSE) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFLUSH, FAIL, "can't flush chunk via proxy") /* Mark the chunk proxy as clean now */ @@ -193,16 +193,16 @@ HDfprintf(stderr, "%s: Flushing chunk proxy, addr = %a, destroy = %u\n", FUNC, a } /* end if */ if(destroy) - if(H5D_cache_proxy_dest(f, proxy) < 0) + if(H5D__cache_proxy_dest(f, proxy) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "unable to destroy chunk proxy") done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_cache_proxy_flush() */ +} /* H5D__cache_proxy_flush() */ /*------------------------------------------------------------------------- - * Function: H5D_cache_proxy_dest + * Function: H5D__cache_proxy_dest * * Purpose: Destroys a chunk proxy in memory. * @@ -215,11 +215,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_cache_proxy_dest(H5F_t UNUSED *f, H5D_chunk_proxy_t *proxy) +H5D__cache_proxy_dest(H5F_t UNUSED *f, H5D_chunk_proxy_t *proxy) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* * Check arguments. @@ -227,16 +227,16 @@ H5D_cache_proxy_dest(H5F_t UNUSED *f, H5D_chunk_proxy_t *proxy) HDassert(proxy); /* Free the chunk proxy itself */ - if(H5D_chunk_proxy_destroy(proxy) < 0) + if(H5D__chunk_proxy_destroy(proxy) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "unable to destroy chunk proxy") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_cache_proxy_dest() */ +} /* end H5D__cache_proxy_dest() */ /*------------------------------------------------------------------------- - * Function: H5D_cache_proxy_clear + * Function: H5D__cache_proxy_clear * * Purpose: Mark a chunk proxy in memory as non-dirty. * @@ -249,11 +249,11 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_cache_proxy_clear(H5F_t *f, H5D_chunk_proxy_t *proxy, hbool_t destroy) +H5D__cache_proxy_clear(H5F_t *f, H5D_chunk_proxy_t *proxy, hbool_t destroy) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* * Check arguments. @@ -264,16 +264,16 @@ H5D_cache_proxy_clear(H5F_t *f, H5D_chunk_proxy_t *proxy, hbool_t destroy) proxy->cache_info.is_dirty = FALSE; if(destroy) - if(H5D_cache_proxy_dest(f, proxy) < 0) + if(H5D__cache_proxy_dest(f, proxy) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "unable to destroy chunk proxy") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_cache_proxy_clear() */ +} /* end H5D__cache_proxy_clear() */ /*------------------------------------------------------------------------- - * Function: H5D_cache_proxy_size + * Function: H5D__cache_proxy_size * * Purpose: Compute the size in bytes of a chunk proxy * on disk, and return it in *size_ptr. On failure, @@ -288,10 +288,10 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_cache_proxy_size(const H5F_t UNUSED *f, const H5D_chunk_proxy_t UNUSED *proxy, +H5D__cache_proxy_size(const H5F_t UNUSED *f, const H5D_chunk_proxy_t UNUSED *proxy, size_t *size_ptr) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* check arguments */ HDassert(f); @@ -303,11 +303,11 @@ H5D_cache_proxy_size(const H5F_t UNUSED *f, const H5D_chunk_proxy_t UNUSED *prox *size_ptr = 1; FUNC_LEAVE_NOAPI(SUCCEED) -} /* H5D_cache_proxy_size() */ +} /* H5D__cache_proxy_size() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_proxy_create + * Function: H5D__chunk_proxy_create * * Purpose: Create a proxy for the chunk and insert it into the metadata cache. * @@ -319,7 +319,7 @@ H5D_cache_proxy_size(const H5F_t UNUSED *f, const H5D_chunk_proxy_t UNUSED *prox *------------------------------------------------------------------------- */ herr_t -H5D_chunk_proxy_create(H5D_t *dset, hid_t dxpl_id, H5D_chunk_ud_t *udata, +H5D__chunk_proxy_create(H5D_t *dset, hid_t dxpl_id, H5D_chunk_ud_t *udata, H5D_rdcc_ent_t *ent) { H5D_chunk_proxy_t *proxy = NULL; /* Chunk proxy */ @@ -327,7 +327,7 @@ H5D_chunk_proxy_create(H5D_t *dset, hid_t dxpl_id, H5D_chunk_ud_t *udata, htri_t supported; /* Return value from "support" callback */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE HDassert(dset); HDassert(ent); @@ -378,11 +378,11 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_proxy_create() */ +} /* end H5D__chunk_proxy_create() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_proxy_remove + * Function: H5D__chunk_proxy_remove * * Purpose: Remove a proxy for the chunk from the metadata cache. * @@ -394,14 +394,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_proxy_remove(const H5D_t *dset, hid_t dxpl_id, H5D_rdcc_ent_t *ent) +H5D__chunk_proxy_remove(const H5D_t *dset, hid_t dxpl_id, H5D_rdcc_ent_t *ent) { H5D_chk_idx_info_t idx_info; /* Chunked index info */ H5D_chunk_ud_t udata; /* User-data for chunk */ H5D_chunk_proxy_t *proxy = NULL; /* Chunk proxy */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE HDassert(dset); HDassert(ent); @@ -448,16 +448,16 @@ HDfprintf(stderr, "%s: ent->proxy_addr = %a\n", FUNC, ent->proxy_addr); ent->proxy = NULL; /* Release the chunk proxy object */ - if(H5D_chunk_proxy_destroy(proxy) < 0) + if(H5D__chunk_proxy_destroy(proxy) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "unable to destroy chunk proxy") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_proxy_remove() */ +} /* end H5D__chunk_proxy_remove() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_proxy_mark + * Function: H5D__chunk_proxy_mark * * Purpose: Mark a proxy for the chunk in the metadata cache as clean or * dirty. @@ -484,11 +484,11 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_proxy_mark(H5D_rdcc_ent_t *ent, hbool_t dirty) +H5D__chunk_proxy_mark(H5D_rdcc_ent_t *ent, hbool_t dirty) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE HDassert(ent); #ifdef QAK @@ -503,11 +503,11 @@ HDfprintf(stderr, "%s: ent->proxy_addr = %a, dirty = %t\n", FUNC, ent->proxy_add done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_proxy_mark() */ +} /* end H5D__chunk_proxy_mark() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_proxy_destroy + * Function: H5D__chunk_proxy_destroy * * Purpose: Destroy a chunk proxy object * @@ -519,9 +519,9 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_chunk_proxy_destroy(H5D_chunk_proxy_t *proxy) +H5D__chunk_proxy_destroy(H5D_chunk_proxy_t *proxy) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR HDassert(proxy); @@ -531,11 +531,11 @@ H5D_chunk_proxy_destroy(H5D_chunk_proxy_t *proxy) proxy = H5FL_FREE(H5D_chunk_proxy_t, proxy); FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_chunk_proxy_destroy() */ +} /* end H5D__chunk_proxy_destroy() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_proxy_create_flush_dep + * Function: H5D__chunk_proxy_create_flush_dep * * Purpose: Creates a flush dependency between the specified chunk * (child) and parent, if not already present. @@ -548,11 +548,11 @@ H5D_chunk_proxy_destroy(H5D_chunk_proxy_t *proxy) *------------------------------------------------------------------------- */ herr_t -H5D_chunk_proxy_create_flush_dep(H5D_rdcc_ent_t *ent, void *parent) +H5D__chunk_proxy_create_flush_dep(H5D_rdcc_ent_t *ent, void *parent) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE HDassert(ent); HDassert(parent); @@ -567,11 +567,11 @@ H5D_chunk_proxy_create_flush_dep(H5D_rdcc_ent_t *ent, void *parent) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_proxy_create_flush_dep() */ +} /* end H5D__chunk_proxy_create_flush_dep() */ /*------------------------------------------------------------------------- - * Function: H5D_chunk_proxy_update_flush_dep + * Function: H5D__chunk_proxy_update_flush_dep * * Purpose: Updates the flush dependency of the specified chunk from * old_parent to new_parent, if the dependency exists. @@ -584,12 +584,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_chunk_proxy_update_flush_dep(H5D_rdcc_ent_t *ent, void *old_parent, +H5D__chunk_proxy_update_flush_dep(H5D_rdcc_ent_t *ent, void *old_parent, void *new_parent) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE HDassert(ent); HDassert(old_parent); @@ -608,5 +608,5 @@ H5D_chunk_proxy_update_flush_dep(H5D_rdcc_ent_t *ent, void *old_parent, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_chunk_proxy_update_flush_dep() */ +} /* end H5D__chunk_proxy_update_flush_dep() */ diff --git a/src/H5Dscatgath.c b/src/H5Dscatgath.c index 7758619..49b6132 100644 --- a/src/H5Dscatgath.c +++ b/src/H5Dscatgath.c @@ -42,19 +42,19 @@ /********************/ /* Local Prototypes */ /********************/ -static size_t H5D_gather_file(const H5D_io_info_t *io_info, - const H5S_t *file_space, H5S_sel_iter_t *file_iter, size_t nelmts, - void *buf); -static herr_t H5D_scatter_file(const H5D_io_info_t *io_info, +static herr_t H5D__scatter_file(const H5D_io_info_t *io_info, const H5S_t *file_space, H5S_sel_iter_t *file_iter, size_t nelmts, const void *buf); -static size_t H5D_gather_mem(const void *_buf, +static size_t H5D__gather_file(const H5D_io_info_t *io_info, + const H5S_t *file_space, H5S_sel_iter_t *file_iter, size_t nelmts, + void *buf); +static size_t H5D__gather_mem(const void *_buf, const H5S_t *space, H5S_sel_iter_t *iter, size_t nelmts, const H5D_dxpl_cache_t *dxpl_cache, void *_tgath_buf/*out*/); -static herr_t H5D_compound_opt_read(size_t nelmts, const H5S_t *mem_space, +static herr_t H5D__compound_opt_read(size_t nelmts, const H5S_t *mem_space, H5S_sel_iter_t *iter, const H5D_dxpl_cache_t *dxpl_cache, const H5D_type_info_t *type_info, void *user_buf/*out*/); -static herr_t H5D_compound_opt_write(size_t nelmts, const H5D_type_info_t *type_info); +static herr_t H5D__compound_opt_write(size_t nelmts, const H5D_type_info_t *type_info); /*********************/ @@ -75,7 +75,7 @@ H5FL_SEQ_EXTERN(hsize_t); /*------------------------------------------------------------------------- - * Function: H5D_scatter_file + * Function: H5D__scatter_file * * Purpose: Scatters dataset elements from the type conversion buffer BUF * to the file F where the data points are arranged according to @@ -91,7 +91,7 @@ H5FL_SEQ_EXTERN(hsize_t); *------------------------------------------------------------------------- */ static herr_t -H5D_scatter_file(const H5D_io_info_t *_io_info, +H5D__scatter_file(const H5D_io_info_t *_io_info, const H5S_t *space, H5S_sel_iter_t *iter, size_t nelmts, const void *_buf) { @@ -108,7 +108,7 @@ H5D_scatter_file(const H5D_io_info_t *_io_info, size_t nelem; /* Number of elements used in sequences */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(_io_info); @@ -165,11 +165,11 @@ done: off = H5FL_SEQ_FREE(hsize_t, off); FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_scatter_file() */ +} /* H5D__scatter_file() */ /*------------------------------------------------------------------------- - * Function: H5D_gather_file + * Function: H5D__gather_file * * Purpose: Gathers data points from file F and accumulates them in the * type conversion buffer BUF. The LAYOUT argument describes @@ -190,7 +190,7 @@ done: *------------------------------------------------------------------------- */ static size_t -H5D_gather_file(const H5D_io_info_t *_io_info, +H5D__gather_file(const H5D_io_info_t *_io_info, const H5S_t *space, H5S_sel_iter_t *iter, size_t nelmts, void *_buf/*out*/) { @@ -207,7 +207,7 @@ H5D_gather_file(const H5D_io_info_t *_io_info, size_t nelem; /* Number of elements used in sequences */ size_t ret_value = nelmts; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(_io_info); @@ -266,11 +266,11 @@ done: off = H5FL_SEQ_FREE(hsize_t, off); FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_gather_file() */ +} /* H5D__gather_file() */ /*------------------------------------------------------------------------- - * Function: H5D_scatter_mem + * Function: H5D__scatter_mem * * Purpose: Scatters NELMTS data points from the scatter buffer * TSCAT_BUF to the application buffer BUF. Each element is @@ -285,7 +285,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_scatter_mem (const void *_tscat_buf, const H5S_t *space, +H5D__scatter_mem (const void *_tscat_buf, const H5S_t *space, H5S_sel_iter_t *iter, size_t nelmts, const H5D_dxpl_cache_t *dxpl_cache, void *_buf/*out*/) { @@ -301,7 +301,7 @@ H5D_scatter_mem (const void *_tscat_buf, const H5S_t *space, size_t nelem; /* Number of elements used in sequences */ herr_t ret_value = SUCCEED; /* Number of elements scattered */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(tscat_buf); @@ -351,11 +351,11 @@ done: off = H5FL_SEQ_FREE(hsize_t, off); FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_scatter_mem() */ +} /* H5D__scatter_mem() */ /*------------------------------------------------------------------------- - * Function: H5D_gather_mem + * Function: H5D__gather_mem * * Purpose: Gathers dataset elements from application memory BUF and * copies them into the gather buffer TGATH_BUF. @@ -372,7 +372,7 @@ done: *------------------------------------------------------------------------- */ static size_t -H5D_gather_mem(const void *_buf, const H5S_t *space, +H5D__gather_mem(const void *_buf, const H5S_t *space, H5S_sel_iter_t *iter, size_t nelmts, const H5D_dxpl_cache_t *dxpl_cache, void *_tgath_buf/*out*/) { @@ -388,7 +388,7 @@ H5D_gather_mem(const void *_buf, const H5S_t *space, size_t nelem; /* Number of elements used in sequences */ size_t ret_value = nelmts; /* Number of elements gathered */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(buf); @@ -438,11 +438,11 @@ done: off = H5FL_SEQ_FREE(hsize_t, off); FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_gather_mem() */ +} /* H5D__gather_mem() */ /*------------------------------------------------------------------------- - * Function: H5D_scatgath_read + * Function: H5D__scatgath_read * * Purpose: Perform scatter/gather ead from a contiguous [piece of a] dataset. * @@ -454,7 +454,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_scatgath_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__scatgath_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space) { const H5D_dxpl_cache_t *dxpl_cache = io_info->dxpl_cache; /* Local pointer to dataset transfer info */ @@ -469,7 +469,7 @@ H5D_scatgath_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info size_t smine_nelmts; /*elements per strip */ herr_t ret_value = SUCCEED; /*return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(io_info); @@ -510,7 +510,7 @@ H5D_scatgath_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info /* * Gather data */ - n = H5D_gather_file(io_info, file_space, &file_iter, smine_nelmts, + n = H5D__gather_file(io_info, file_space, &file_iter, smine_nelmts, type_info->tconv_buf/*out*/); if(n != smine_nelmts) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "file gather failed") @@ -520,13 +520,13 @@ H5D_scatgath_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info * bypass the rest of steps. */ if(type_info->cmpd_subset && H5T_SUBSET_FALSE != type_info->cmpd_subset->subset) { - if(H5D_compound_opt_read(smine_nelmts, mem_space, &mem_iter, dxpl_cache, + if(H5D__compound_opt_read(smine_nelmts, mem_space, &mem_iter, dxpl_cache, type_info, buf /*out*/) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "datatype conversion failed") } /* end if */ else { if(H5T_BKG_YES == type_info->need_bkg) { - n = H5D_gather_mem(buf, mem_space, &bkg_iter, smine_nelmts, + n = H5D__gather_mem(buf, mem_space, &bkg_iter, smine_nelmts, dxpl_cache, type_info->bkg_buf/*out*/); if(n != smine_nelmts) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "mem gather failed") @@ -548,7 +548,7 @@ H5D_scatgath_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info /* * Scatter the data into memory. */ - if(H5D_scatter_mem(type_info->tconv_buf, mem_space, &mem_iter, + if(H5D__scatter_mem(type_info->tconv_buf, mem_space, &mem_iter, smine_nelmts, dxpl_cache, buf/*out*/) < 0) HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "scatter failed") } /* end else */ @@ -570,11 +570,11 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_scatgath_read() */ +} /* end H5D__scatgath_read() */ /*------------------------------------------------------------------------- - * Function: H5D_scatgath_write + * Function: H5D__scatgath_write * * Purpose: Perform scatter/gather write to a contiguous [piece of a] dataset. * @@ -586,7 +586,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_scatgath_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__scatgath_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space) { const H5D_dxpl_cache_t *dxpl_cache = io_info->dxpl_cache; /* Local pointer to dataset transfer info */ @@ -601,7 +601,7 @@ H5D_scatgath_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_inf size_t smine_nelmts; /*elements per strip */ herr_t ret_value = SUCCEED; /*return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(io_info); @@ -638,7 +638,7 @@ H5D_scatgath_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_inf * buffer. Also gather data from the file into the background buffer * if necessary. */ - n = H5D_gather_mem(buf, mem_space, &mem_iter, smine_nelmts, + n = H5D__gather_mem(buf, mem_space, &mem_iter, smine_nelmts, dxpl_cache, type_info->tconv_buf/*out*/); if(n != smine_nelmts) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "mem gather failed") @@ -650,13 +650,13 @@ H5D_scatgath_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_inf * function H5T_conv_struct_opt to protect the background data. */ if(type_info->cmpd_subset && H5T_SUBSET_DST == type_info->cmpd_subset->subset - && type_info->dst_type_size == type_info->cmpd_subset->copy_size) { - if(H5D_compound_opt_write(smine_nelmts, type_info) < 0) + && type_info->dst_type_size == type_info->cmpd_subset->copy_size) { + if(H5D__compound_opt_write(smine_nelmts, type_info) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "datatype conversion failed") } /* end if */ else { if(H5T_BKG_YES == type_info->need_bkg) { - n = H5D_gather_file(io_info, file_space, &bkg_iter, smine_nelmts, + n = H5D__gather_file(io_info, file_space, &bkg_iter, smine_nelmts, type_info->bkg_buf/*out*/); if(n != smine_nelmts) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "file gather failed") @@ -680,7 +680,7 @@ H5D_scatgath_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_inf /* * Scatter the data out to the file. */ - if(H5D_scatter_file(io_info, file_space, &file_iter, smine_nelmts, + if(H5D__scatter_file(io_info, file_space, &file_iter, smine_nelmts, type_info->tconv_buf) < 0) HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "scatter failed") } /* end for */ @@ -701,11 +701,11 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_scatgath_write() */ +} /* end H5D__scatgath_write() */ /*------------------------------------------------------------------------- - * Function: H5D_compound_opt_read + * Function: H5D__compound_opt_read * * Purpose: A special optimization case when the source and * destination members are a subset of each other, and @@ -737,7 +737,7 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_compound_opt_read(size_t nelmts, const H5S_t *space, +H5D__compound_opt_read(size_t nelmts, const H5S_t *space, H5S_sel_iter_t *iter, const H5D_dxpl_cache_t *dxpl_cache, const H5D_type_info_t *type_info, void *user_buf/*out*/) { @@ -750,7 +750,7 @@ H5D_compound_opt_read(size_t nelmts, const H5S_t *space, size_t src_stride, dst_stride, copy_size; herr_t ret_value = SUCCEED; /*return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_STATIC /* Check args */ HDassert(nelmts > 0); @@ -832,11 +832,11 @@ done: off = H5FL_SEQ_FREE(hsize_t, off); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_compound_opt_read() */ +} /* end H5D__compound_opt_read() */ /*------------------------------------------------------------------------- - * Function: H5D_compound_opt_write + * Function: H5D__compound_opt_write * * Purpose: A special optimization case when the source and * destination members are a subset of each other, and @@ -869,13 +869,13 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D_compound_opt_write(size_t nelmts, const H5D_type_info_t *type_info) +H5D__compound_opt_write(size_t nelmts, const H5D_type_info_t *type_info) { uint8_t *xsbuf, *xdbuf; /* Source & destination pointers into dataset buffer */ size_t src_stride, dst_stride; /* Strides through source & destination datatypes */ size_t i; /* Local index variable */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_STATIC_NOERR /* Check args */ HDassert(nelmts > 0); @@ -897,5 +897,5 @@ H5D_compound_opt_write(size_t nelmts, const H5D_type_info_t *type_info) } /* end for */ FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5D_compound_opt_write() */ +} /* end H5D__compound_opt_write() */ diff --git a/src/H5Dselect.c b/src/H5Dselect.c index d75b7ed..38f8bc4 100644 --- a/src/H5Dselect.c +++ b/src/H5Dselect.c @@ -49,6 +49,9 @@ /* Local Prototypes */ /********************/ +static herr_t H5D__select_io(const H5D_io_info_t *io_info, size_t elmt_size, + size_t nelmts, const H5S_t *file_space, const H5S_t *mem_space); + /*********************/ /* Package Variables */ @@ -68,7 +71,7 @@ H5FL_SEQ_DEFINE(hsize_t); /*------------------------------------------------------------------------- - * Function: H5D_select_io + * Function: H5D__select_io * * Purpose: Perform I/O directly from application memory and a file * @@ -80,7 +83,7 @@ H5FL_SEQ_DEFINE(hsize_t); *------------------------------------------------------------------------- */ static herr_t -H5D_select_io(const H5D_io_info_t *io_info, size_t elmt_size, +H5D__select_io(const H5D_io_info_t *io_info, size_t elmt_size, size_t nelmts, const H5S_t *file_space, const H5S_t *mem_space) { H5S_sel_iter_t mem_iter; /* Memory selection iteration info */ @@ -102,7 +105,7 @@ H5D_select_io(const H5D_io_info_t *io_info, size_t elmt_size, ssize_t tmp_file_len; /* Temporary number of bytes in file sequence */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_STATIC /* Check args */ HDassert(io_info); @@ -245,11 +248,11 @@ done: mem_off = H5FL_SEQ_FREE(hsize_t, mem_off); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_select_io() */ +} /* end H5D__select_io() */ /*------------------------------------------------------------------------- - * Function: H5D_select_read + * Function: H5D__select_read * * Purpose: Reads directly from file into application memory. * @@ -261,26 +264,26 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_select_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__select_read(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Call generic selection operation */ H5_CHECK_OVERFLOW(nelmts, hsize_t, size_t); - if(H5D_select_io(io_info, type_info->src_type_size, (size_t)nelmts, + if(H5D__select_io(io_info, type_info->src_type_size, (size_t)nelmts, file_space, mem_space) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_READERROR, FAIL, "read error") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_select_read() */ +} /* end H5D__select_read() */ /*------------------------------------------------------------------------- - * Function: H5D_select_write + * Function: H5D__select_write * * Purpose: Writes directly from application memory into a file * @@ -292,20 +295,20 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_select_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, +H5D__select_write(const H5D_io_info_t *io_info, const H5D_type_info_t *type_info, hsize_t nelmts, const H5S_t *file_space, const H5S_t *mem_space) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Call generic selection operation */ H5_CHECK_OVERFLOW(nelmts, hsize_t, size_t); - if(H5D_select_io(io_info, type_info->dst_type_size, (size_t)nelmts, + if(H5D__select_io(io_info, type_info->dst_type_size, (size_t)nelmts, file_space, mem_space) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_WRITEERROR, FAIL, "write error") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5D_select_write() */ +} /* end H5D__select_write() */ diff --git a/src/H5Dtest.c b/src/H5Dtest.c index 8136dd7..410a3f6 100644 --- a/src/H5Dtest.c +++ b/src/H5Dtest.c @@ -64,11 +64,11 @@ /*-------------------------------------------------------------------------- NAME - H5D_layout_version_test + H5D__layout_version_test PURPOSE Determine the storage layout version for a dataset's layout information USAGE - herr_t H5D_layout_version_test(did, version) + herr_t H5D__layout_version_test(did, version) hid_t did; IN: Dataset to query unsigned *version; OUT: Pointer to location to place version info RETURNS @@ -82,12 +82,12 @@ REVISION LOG --------------------------------------------------------------------------*/ herr_t -H5D_layout_version_test(hid_t did, unsigned *version) +H5D__layout_version_test(hid_t did, unsigned *version) { H5D_t *dset; /* Pointer to dataset to query */ herr_t ret_value = SUCCEED; /* return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ if(NULL == (dset = (H5D_t *)H5I_object_verify(did, H5I_DATASET))) @@ -98,16 +98,16 @@ H5D_layout_version_test(hid_t did, unsigned *version) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_layout_version_test() */ +} /* H5D__layout_version_test() */ /*-------------------------------------------------------------------------- NAME - H5D_layout_contig_size_test + H5D__layout_contig_size_test PURPOSE Determine the size of a contiguous layout for a dataset's layout information USAGE - herr_t H5D_layout_contig_size_test(did, size) + herr_t H5D__layout_contig_size_test(did, size) hid_t did; IN: Dataset to query hsize_t *size; OUT: Pointer to location to place size info RETURNS @@ -121,12 +121,12 @@ done: REVISION LOG --------------------------------------------------------------------------*/ herr_t -H5D_layout_contig_size_test(hid_t did, hsize_t *size) +H5D__layout_contig_size_test(hid_t did, hsize_t *size) { H5D_t *dset; /* Pointer to dataset to query */ herr_t ret_value = SUCCEED; /* return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ if(NULL == (dset = (H5D_t *)H5I_object_verify(did, H5I_DATASET))) @@ -139,16 +139,16 @@ H5D_layout_contig_size_test(hid_t did, hsize_t *size) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_layout_contig_size_test() */ +} /* H5D__layout_contig_size_test() */ /*-------------------------------------------------------------------------- NAME - H5D_layout_idx_type_test + H5D__layout_idx_type_test PURPOSE Determine the storage layout index type for a dataset's layout information USAGE - herr_t H5D_layout_idx_type_test(did, idx_type) + herr_t H5D__layout_idx_type_test(did, idx_type) hid_t did; IN: Dataset to query H5D_chunk_index_t *idx_type; OUT: Pointer to location to place index type info RETURNS @@ -162,12 +162,12 @@ done: REVISION LOG --------------------------------------------------------------------------*/ herr_t -H5D_layout_idx_type_test(hid_t did, H5D_chunk_index_t *idx_type) +H5D__layout_idx_type_test(hid_t did, H5D_chunk_index_t *idx_type) { H5D_t *dset; /* Pointer to dataset to query */ herr_t ret_value = SUCCEED; /* return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ if(NULL == (dset = (H5D_t *)H5I_object_verify(did, H5I_DATASET))) @@ -180,16 +180,16 @@ H5D_layout_idx_type_test(hid_t did, H5D_chunk_index_t *idx_type) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_layout_idx_type_test() */ +} /* H5D__layout_idx_type_test() */ /*-------------------------------------------------------------------------- NAME - H5D_current_cache_size_test + H5D__current_cache_size_test PURPOSE Determine current the size of the dataset's chunk cache USAGE - herr_t H5D_current_cache_size_test(did, size) + herr_t H5D__current_cache_size_test(did, size) hid_t did; IN: Dataset to query hsize_t *size; OUT: Pointer to location to place size info RETURNS @@ -203,12 +203,12 @@ done: REVISION LOG --------------------------------------------------------------------------*/ herr_t -H5D_current_cache_size_test(hid_t did, size_t *nbytes_used, int *nused) +H5D__current_cache_size_test(hid_t did, size_t *nbytes_used, int *nused) { H5D_t *dset; /* Pointer to dataset to query */ herr_t ret_value = SUCCEED; /* return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ if(NULL == (dset = (H5D_t *)H5I_object_verify(did, H5I_DATASET))) @@ -226,5 +226,5 @@ H5D_current_cache_size_test(hid_t did, size_t *nbytes_used, int *nused) done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5D_current_cache_size_test() */ +} /* H5D__current_cache_size_test() */ diff --git a/src/H5E.c b/src/H5E.c index e74211e..72eec51 100644 --- a/src/H5E.c +++ b/src/H5E.c @@ -64,9 +64,6 @@ /* Local Macros */ /****************/ -/* Reserved atoms in for error API IDs */ -#define H5E_RESERVED_ATOMS 0 - /* HDF5 error class */ #define H5E_CLS_NAME "HDF5" #define H5E_CLS_LIB_NAME "HDF5" @@ -85,6 +82,18 @@ /********************/ /* Local Prototypes */ /********************/ +/* Static function declarations */ +static H5E_cls_t *H5E_register_class(const char *cls_name, const char *lib_name, + const char *version); +static herr_t H5E_unregister_class(H5E_cls_t *cls); +static ssize_t H5E_get_class_name(const H5E_cls_t *cls, char *name, size_t size); +static int H5E_close_msg_cb(void *obj_ptr, hid_t obj_id, void *udata); +static herr_t H5E_close_msg(H5E_msg_t *err); +static H5E_msg_t *H5E_create_msg(H5E_cls_t *cls, H5E_type_t msg_type, const char *msg); +static H5E_t *H5E_get_current_stack(void); +static herr_t H5E_set_current_stack(H5E_t *estack); +static herr_t H5E_close_stack(H5E_t *err_stack); +static ssize_t H5E_get_num(const H5E_t *err_stack); /*********************/ @@ -101,20 +110,6 @@ /* Local Variables */ /*******************/ - -/* Static function declarations */ -static H5E_cls_t *H5E_register_class(const char *cls_name, const char *lib_name, - const char *version); -static herr_t H5E_unregister_class(H5E_cls_t *cls); -static ssize_t H5E_get_class_name(const H5E_cls_t *cls, char *name, size_t size); -static int H5E_close_msg_cb(void *obj_ptr, hid_t obj_id, void *udata); -static herr_t H5E_close_msg(H5E_msg_t *err); -static H5E_msg_t *H5E_create_msg(H5E_cls_t *cls, H5E_type_t msg_type, const char *msg); -static H5E_t *H5E_get_current_stack(void); -static herr_t H5E_set_current_stack(H5E_t *estack); -static herr_t H5E_close_stack(H5E_t *err_stack); -static ssize_t H5E_get_num(const H5E_t *err_stack); - /* Declare a free list to manage the H5E_t struct */ H5FL_DEFINE_STATIC(H5E_t); @@ -124,6 +119,34 @@ H5FL_DEFINE_STATIC(H5E_cls_t); /* Declare a free list to manage the H5E_msg_t struct */ H5FL_DEFINE_STATIC(H5E_msg_t); +/* Error class ID class */ +static const H5I_class_t H5I_ERRCLS_CLS[1] = {{ + H5I_ERROR_CLASS, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5E_unregister_class /* Callback routine for closing objects of this class */ +}}; + +/* Error message ID class */ +static const H5I_class_t H5I_ERRMSG_CLS[1] = {{ + H5I_ERROR_MSG, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5E_close_msg /* Callback routine for closing objects of this class */ +}}; + +/* Error stack ID class */ +static const H5I_class_t H5I_ERRSTK_CLS[1] = {{ + H5I_ERROR_STACK, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5E_close_stack /* Callback routine for closing objects of this class */ +}}; + + /*------------------------------------------------------------------------- * Function: H5E_init @@ -213,18 +236,15 @@ H5E_init_interface(void) FUNC_ENTER_NOAPI_NOINIT /* Initialize the atom group for the error class IDs */ - if(H5I_register_type(H5I_ERROR_CLASS, (size_t)H5I_ERRCLS_HASHSIZE, H5E_RESERVED_ATOMS, - (H5I_free_t)H5E_unregister_class) < H5I_FILE) + if(H5I_register_type(H5I_ERRCLS_CLS) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize ID group") /* Initialize the atom group for the major error IDs */ - if(H5I_register_type(H5I_ERROR_MSG, (size_t)H5I_ERRMSG_HASHSIZE, H5E_RESERVED_ATOMS, - (H5I_free_t)H5E_close_msg) < H5I_FILE) + if(H5I_register_type(H5I_ERRMSG_CLS) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize ID group") /* Initialize the atom group for the error stacks */ - if(H5I_register_type(H5I_ERROR_STACK, (size_t)H5I_ERRSTK_HASHSIZE, H5E_RESERVED_ATOMS, - (H5I_free_t)H5E_close_stack) < H5I_FILE) + if(H5I_register_type(H5I_ERRSTK_CLS) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize ID group") #ifndef H5_HAVE_THREADSAFE diff --git a/src/H5F.c b/src/H5F.c index 2e14e34..b99afd6 100644 --- a/src/H5F.c +++ b/src/H5F.c @@ -13,13 +13,19 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +/****************/ +/* Module Setup */ +/****************/ + #define H5F_PACKAGE /*suppress error about including H5Fpkg */ /* Interface initialization */ #define H5_INTERFACE_INIT_FUNC H5F_init_interface -/* Packages needed by this file... */ +/***********/ +/* Headers */ +/***********/ #include "H5private.h" /* Generic Functions */ #include "H5Aprivate.h" /* Attributes */ #include "H5ACprivate.h" /* Metadata cache */ @@ -35,6 +41,15 @@ #include "H5SMprivate.h" /* Shared Object Header Messages */ #include "H5Tprivate.h" /* Datatypes */ + +/****************/ +/* Local Macros */ +/****************/ + +/******************/ +/* Local Typedefs */ +/******************/ + /* Struct only used by functions H5F_get_objects and H5F_get_objects_cb */ typedef struct H5F_olist_t { H5I_type_t obj_type; /* Type of object to look for */ @@ -51,7 +66,15 @@ typedef struct H5F_olist_t { size_t max_index; /* Maximum # of IDs to put into array */ } H5F_olist_t; -/* PRIVATE PROTOTYPES */ + +/********************/ +/* Package Typedefs */ +/********************/ + + +/********************/ +/* Local Prototypes */ +/********************/ static herr_t H5F_get_objects(const H5F_t *f, unsigned types, size_t max_index, hid_t *obj_id_list, hbool_t app_ref, size_t *obj_id_count_ptr); static int H5F_get_objects_cb(void *obj_ptr, hid_t obj_id, void *key); static H5F_t *H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id, @@ -61,12 +84,37 @@ static herr_t H5F_build_actual_name(const H5F_t *f, const H5P_genplist_t *fapl, static herr_t H5F_dest(H5F_t *f, hid_t dxpl_id, hbool_t flush); static herr_t H5F_close(H5F_t *f); + +/*********************/ +/* Package Variables */ +/*********************/ + + +/*****************************/ +/* Library Private Variables */ +/*****************************/ + + +/*******************/ +/* Local Variables */ +/*******************/ + /* Declare a free list to manage the H5F_t struct */ H5FL_DEFINE(H5F_t); /* Declare a free list to manage the H5F_file_t struct */ H5FL_DEFINE(H5F_file_t); +/* File ID class */ +static const H5I_class_t H5I_FILE_CLS[1] = {{ + H5I_FILE, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5F_close /* Callback routine for closing objects of this class */ +}}; + + /*------------------------------------------------------------------------- * Function: H5F_init @@ -117,7 +165,7 @@ H5F_init_interface(void) /* * Initialize the atom group for the file IDs. */ - if(H5I_register_type(H5I_FILE, (size_t)H5I_FILEID_HASHSIZE, 0, (H5I_free_t)H5F_close)fa.flags != 0) { + if(H5F_addr_gt(addr, file->eoa) && H5F_addr_gt(addr, 0)) { + hsize_t size = addr - file->eoa; + + /* Retain the flavor of the space allocated by the extension */ + if(file->fa.flags & H5FD_LOG_FLAVOR) { + HDassert(addr < file->iosize); + H5_CHECK_OVERFLOW(size, hsize_t, size_t); + HDmemset(&file->flavor[file->eoa], (int)type, (size_t)size); + } /* end if */ + + /* Log the extension like an allocation */ + if(file->fa.flags & H5FD_LOG_ALLOC) + HDfprintf(file->logfp, "%10a-%10a (%10Hu bytes) (%s) Allocated\n", file->eoa, addr, size, flavors[type]); + } /* end if */ + } /* end if */ + file->eoa = addr; FUNC_LEAVE_NOAPI(SUCCEED) diff --git a/src/H5FDmpi.c b/src/H5FDmpi.c index ff2c87d..afc5536 100644 --- a/src/H5FDmpi.c +++ b/src/H5FDmpi.c @@ -466,7 +466,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5FD_mpi_setup_collective(hid_t dxpl_id, MPI_Datatype btype, MPI_Datatype ftype) +H5FD_mpi_setup_collective(hid_t dxpl_id, MPI_Datatype *btype, MPI_Datatype *ftype) { H5P_genplist_t *plist; /* Property list pointer */ herr_t ret_value=SUCCEED; /* Return value */ @@ -478,56 +478,15 @@ H5FD_mpi_setup_collective(hid_t dxpl_id, MPI_Datatype btype, MPI_Datatype ftype) HGOTO_ERROR(H5E_PLIST, H5E_BADTYPE, FAIL, "not a dataset transfer list") /* Set buffer MPI type */ - if(H5P_insert(plist,H5FD_MPI_XFER_MEM_MPI_TYPE_NAME,H5FD_MPI_XFER_MEM_MPI_TYPE_SIZE,&btype,NULL,NULL,NULL,NULL,NULL,NULL)<0) + if(H5P_set(plist, H5FD_MPI_XFER_MEM_MPI_TYPE_NAME, btype) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert MPI-I/O property") - /* Set file MPI type */ - if(H5P_insert(plist,H5FD_MPI_XFER_FILE_MPI_TYPE_NAME,H5FD_MPI_XFER_FILE_MPI_TYPE_SIZE,&ftype,NULL,NULL,NULL,NULL,NULL,NULL)<0) + /* Set File MPI type */ + if(H5P_set(plist, H5FD_MPI_XFER_FILE_MPI_TYPE_NAME, ftype) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert MPI-I/O property") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5FD_mpi_setup_collective() */ - -/*------------------------------------------------------------------------- - * Function: H5FD_mpi_teardown_collective - * - * Purpose: Remove the temporary MPI-I/O properties from dxpl. - * - * Return: Success: Non-negative - * Failure: Negative - * - * Programmer: Quincey Koziol - * Monday, June 17, 2002 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -herr_t -H5FD_mpi_teardown_collective(hid_t dxpl_id) -{ - H5P_genplist_t *plist; /* Property list pointer */ - herr_t ret_value=SUCCEED; /* Return value */ - - FUNC_ENTER_NOAPI(FAIL) - - /* Check arguments */ - if(NULL == (plist = H5P_object_verify(dxpl_id,H5P_DATASET_XFER))) - HGOTO_ERROR(H5E_PLIST, H5E_BADTYPE, FAIL, "not a dataset transfer list") - - /* Remove buffer MPI type */ - if(H5P_remove(dxpl_id,plist,H5FD_MPI_XFER_MEM_MPI_TYPE_NAME)<0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTDELETE, FAIL, "can't remove MPI-I/O property") - - /* Remove file MPI type */ - if(H5P_remove(dxpl_id,plist,H5FD_MPI_XFER_FILE_MPI_TYPE_NAME)<0) - HGOTO_ERROR(H5E_PLIST, H5E_CANTDELETE, FAIL, "can't remove MPI-I/O property") - -done: - FUNC_LEAVE_NOAPI(ret_value) -} /* end H5FD_mpi_teardown_collective() */ - #endif /* H5_HAVE_PARALLEL */ - diff --git a/src/H5FDmpi.h b/src/H5FDmpi.h index 2b7ac98..4140671 100644 --- a/src/H5FDmpi.h +++ b/src/H5FDmpi.h @@ -77,10 +77,8 @@ typedef struct H5FD_class_mpi_t { /* ======== Temporary data transfer properties ======== */ /* Definitions for memory MPI type property */ #define H5FD_MPI_XFER_MEM_MPI_TYPE_NAME "H5FD_mpi_mem_mpi_type" -#define H5FD_MPI_XFER_MEM_MPI_TYPE_SIZE sizeof(MPI_Datatype) /* Definitions for file MPI type property */ #define H5FD_MPI_XFER_FILE_MPI_TYPE_NAME "H5FD_mpi_file_mpi_type" -#define H5FD_MPI_XFER_FILE_MPI_TYPE_SIZE sizeof(MPI_Datatype) /* * The view is set to this value @@ -101,9 +99,8 @@ H5_DLL herr_t H5FD_mpi_comm_info_free(MPI_Comm *comm, MPI_Info *info); H5_DLL herr_t H5FD_mpio_wait_for_left_neighbor(H5FD_t *file); H5_DLL herr_t H5FD_mpio_signal_right_neighbor(H5FD_t *file); #endif /* NOT_YET */ -H5_DLL herr_t H5FD_mpi_setup_collective(hid_t dxpl_id, MPI_Datatype btype, - MPI_Datatype ftype); -H5_DLL herr_t H5FD_mpi_teardown_collective(hid_t dxpl_id); +H5_DLL herr_t H5FD_mpi_setup_collective(hid_t dxpl_id, MPI_Datatype *btype, + MPI_Datatype *ftype); /* Driver specific methods */ H5_DLL int H5FD_mpi_get_rank(const H5FD_t *file); diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c index 5751596..b1d312f 100644 --- a/src/H5FDmulti.c +++ b/src/H5FDmulti.c @@ -309,7 +309,8 @@ H5Pset_fapl_split(hid_t fapl, const char *meta_ext, hid_t meta_plist_id, /* Initialize */ ALL_MEMBERS(mt) { - memb_map[mt] = (H5FD_MEM_DRAW==mt?mt:H5FD_MEM_SUPER); + /* Treat global heap as raw data, not metadata */ + memb_map[mt] = ((mt == H5FD_MEM_DRAW || mt == H5FD_MEM_GHEAP) ? H5FD_MEM_DRAW : H5FD_MEM_SUPER); memb_fapl[mt] = -1; memb_name[mt] = NULL; memb_addr[mt] = HADDR_UNDEF; diff --git a/src/H5FDpublic.h b/src/H5FDpublic.h index ab19c68..5f70f71 100644 --- a/src/H5FDpublic.h +++ b/src/H5FDpublic.h @@ -133,7 +133,7 @@ typedef enum H5F_mem_t H5FD_mem_t; H5FD_MEM_SUPER, /*super*/ \ H5FD_MEM_SUPER, /*btree*/ \ H5FD_MEM_DRAW, /*draw*/ \ - H5FD_MEM_SUPER, /*gheap*/ \ + H5FD_MEM_DRAW, /*gheap*/ \ H5FD_MEM_SUPER, /*lheap*/ \ H5FD_MEM_SUPER /*ohdr*/ \ } diff --git a/src/H5Faccum.c b/src/H5Faccum.c index 3c72c5d..0e549fa 100644 --- a/src/H5Faccum.c +++ b/src/H5Faccum.c @@ -115,6 +115,7 @@ herr_t H5F_accum_read(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr, size_t size, void *buf/*out*/) { + H5FD_mem_t map_type; /* Mapped memory type */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -123,8 +124,11 @@ H5F_accum_read(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr, HDassert(f->shared); HDassert(buf); + /* Treat global heap as raw data */ + map_type = (type == H5FD_MEM_GHEAP) ? H5FD_MEM_DRAW : type; + /* Check if this information is in the metadata accumulator */ - if((f->shared->feature_flags & H5FD_FEAT_ACCUMULATE_METADATA) && type != H5FD_MEM_DRAW) { + if((f->shared->feature_flags & H5FD_FEAT_ACCUMULATE_METADATA) && map_type != H5FD_MEM_DRAW) { if(size < H5F_ACCUM_MAX_SIZE) { /* Sanity check */ HDassert(!f->shared->accum.buf || (f->shared->accum.alloc_size >= f->shared->accum.size)); @@ -173,7 +177,7 @@ H5F_accum_read(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr, f->shared->accum.dirty_off += amount_before; /* Dispatch to driver */ - if(H5FD_read(f->shared->lf, dxpl_id, type, addr, amount_before, f->shared->accum.buf) < 0) + if(H5FD_read(f->shared->lf, dxpl_id, map_type, addr, amount_before, f->shared->accum.buf) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed") } /* end if */ else @@ -187,7 +191,7 @@ H5F_accum_read(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr, H5_ASSIGN_OVERFLOW(amount_after, ((addr + size) - (f->shared->accum.loc + f->shared->accum.size)), hsize_t, size_t); /* Dispatch to driver */ - if(H5FD_read(f->shared->lf, dxpl_id, type, (f->shared->accum.loc + f->shared->accum.size), amount_after, (f->shared->accum.buf + f->shared->accum.size + amount_before)) < 0) + if(H5FD_read(f->shared->lf, dxpl_id, map_type, (f->shared->accum.loc + f->shared->accum.size), amount_after, (f->shared->accum.buf + f->shared->accum.size + amount_before)) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed") } /* end if */ @@ -201,13 +205,13 @@ H5F_accum_read(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr, /* Current read doesn't overlap with metadata accumulator, read it from file */ else { /* Dispatch to driver */ - if(H5FD_read(f->shared->lf, dxpl_id, type, addr, size, buf) < 0) + if(H5FD_read(f->shared->lf, dxpl_id, map_type, addr, size, buf) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed") } /* end else */ } /* end if */ else { /* Read the data */ - if(H5FD_read(f->shared->lf, dxpl_id, type, addr, size, buf) < 0) + if(H5FD_read(f->shared->lf, dxpl_id, map_type, addr, size, buf) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed") /* Check for overlap w/dirty accumulator */ @@ -250,7 +254,7 @@ H5F_accum_read(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr, } /* end if */ else { /* Read the data */ - if(H5FD_read(f->shared->lf, dxpl_id, type, addr, size, buf) < 0) + if(H5FD_read(f->shared->lf, dxpl_id, map_type, addr, size, buf) < 0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed") } /* end else */ @@ -415,6 +419,7 @@ herr_t H5F_accum_write(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr, size_t size, const void *buf) { + H5FD_mem_t map_type; /* Mapped memory type */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -424,8 +429,11 @@ H5F_accum_write(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr, HDassert(f->intent & H5F_ACC_RDWR); HDassert(buf); + /* Treat global heap as raw data */ + map_type = (type == H5FD_MEM_GHEAP) ? H5FD_MEM_DRAW : type; + /* Check for accumulating metadata */ - if((f->shared->feature_flags & H5FD_FEAT_ACCUMULATE_METADATA) && type != H5FD_MEM_DRAW) { + if((f->shared->feature_flags & H5FD_FEAT_ACCUMULATE_METADATA) && map_type != H5FD_MEM_DRAW) { if(size < H5F_ACCUM_MAX_SIZE) { /* Sanity check */ HDassert(!f->shared->accum.buf || (f->shared->accum.alloc_size >= f->shared->accum.size)); @@ -719,7 +727,7 @@ HDmemset(f->shared->accum.buf + size, 0, (f->shared->accum.alloc_size - size)); } /* end if */ else { /* Write the data */ - if(H5FD_write(f->shared->lf, dxpl_id, type, addr, size, buf) < 0) + if(H5FD_write(f->shared->lf, dxpl_id, map_type, addr, size, buf) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "file write failed") /* Check for overlap w/accumulator */ @@ -804,7 +812,7 @@ HDmemset(f->shared->accum.buf + size, 0, (f->shared->accum.alloc_size - size)); } /* end if */ else { /* Write the data */ - if(H5FD_write(f->shared->lf, dxpl_id, type, addr, size, buf) < 0) + if(H5FD_write(f->shared->lf, dxpl_id, map_type, addr, size, buf) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "file write failed") } /* end else */ @@ -846,6 +854,7 @@ H5F_accum_free(H5F_t *f, hid_t dxpl_id, H5FD_mem_t UNUSED type, haddr_t addr, /* Sanity check */ /* (The metadata accumulator should not intersect w/raw data */ HDassert(H5FD_MEM_DRAW != type); + HDassert(H5FD_MEM_GHEAP != type); /* (global heap data is being treated as raw data currently) */ /* Check for overlapping the beginning of the accumulator */ if(H5F_addr_le(addr, f->shared->accum.loc)) { diff --git a/src/H5G.c b/src/H5G.c index 0d7d023..a8a9231 100644 --- a/src/H5G.c +++ b/src/H5G.c @@ -100,8 +100,6 @@ /* Local Macros */ /****************/ -#define H5G_RESERVED_ATOMS 0 - /******************/ /* Local Typedefs */ @@ -132,6 +130,15 @@ /* Local Variables */ /*******************/ +/* Group ID class */ +static const H5I_class_t H5I_GROUP_CLS[1] = {{ + H5I_GROUP, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5G_close /* Callback routine for closing objects of this class */ +}}; + /*------------------------------------------------------------------------- @@ -187,7 +194,7 @@ H5G_init_interface(void) FUNC_ENTER_NOAPI_NOINIT /* Initialize the atom group for the group IDs */ - if(H5I_register_type(H5I_GROUP, (size_t)H5I_GROUPID_HASHSIZE, H5G_RESERVED_ATOMS, (H5I_free_t)H5G_close) < 0) + if(H5I_register_type(H5I_GROUP_CLS) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to initialize interface") done: diff --git a/src/H5I.c b/src/H5I.c index b28b3e7..465e607 100644 --- a/src/H5I.c +++ b/src/H5I.c @@ -22,7 +22,7 @@ * DESIGN: The types are stored in an array of pointers to store each * type in an element. Each "type" node contains a link to a * hash table to manage the IDs in each type. Allowed types are - * values within the range 1 to MAX_NUM_TYPES and are given out + * values within the range 1 to H5I_MAX_NUM_TYPES and are given out * at run-time. Types used by the library are stored in global * variables defined in H5Ipublic.h. * @@ -98,14 +98,12 @@ typedef struct H5I_id_info_t { /* ID type structure used */ typedef struct { - unsigned count; /*# of times this type has been initialized*/ - unsigned reserved; /*# of IDs to reserve for constant IDs */ - unsigned wrapped; /*whether the id count has wrapped around */ - size_t hash_size; /*sizeof the hash table to store the IDs in */ - unsigned ids; /*current number of IDs held */ - unsigned nextid; /*ID to use for the next atom */ - H5I_free_t free_func; /*release object method */ - H5I_id_info_t **id_list; /*pointer to an array of ptrs to IDs */ + const H5I_class_t *cls; /* Pointer to ID class */ + unsigned count; /* # of times this type has been initialized*/ + unsigned wrapped; /* Whether the id count has wrapped around */ + unsigned ids; /* Current number of IDs held */ + unsigned nextid; /* ID to use for the next atom */ + H5I_id_info_t **id_list; /* Pointer to an array of ptrs to IDs */ } H5I_id_type_t; typedef struct { @@ -117,7 +115,7 @@ typedef struct { /*-------------------- Locally scoped variables -----------------------------*/ /* Array of pointers to atomic types */ -static H5I_id_type_t *H5I_id_type_list_g[MAX_NUM_TYPES]; +static H5I_id_type_t *H5I_id_type_list_g[H5I_MAX_NUM_TYPES]; /* Variable to keep track of the number of types allocated. Its value is the */ /* next type ID to be handed out, so it is always one greater than the number */ @@ -130,6 +128,12 @@ static H5I_type_t H5I_next_type = (H5I_type_t) H5I_NTYPES; /* Declare a free list to manage the H5I_id_info_t struct */ H5FL_DEFINE_STATIC(H5I_id_info_t); +/* Declare a free list to manage the H5I_id_type_t struct */ +H5FL_DEFINE_STATIC(H5I_id_type_t); + +/* Declare a free list to manage the H5I_class_t struct */ +H5FL_DEFINE_STATIC(H5I_class_t); + /*--------------------- Local function prototypes ---------------------------*/ static H5I_id_info_t *H5I_find_id(hid_t id); static int H5I_search_cb(void *obj, hid_t id, void *udata); @@ -195,8 +199,11 @@ H5I_term_interface(void) if(0 == n) { for(type = (H5I_type_t)0; type < H5I_next_type; H5_INC_ENUM(H5I_type_t,type)) { type_ptr = H5I_id_type_list_g[type]; - H5MM_xfree(type_ptr); - H5I_id_type_list_g[type] = NULL; + if(type_ptr) { + HDassert(NULL == type_ptr->id_list); + type_ptr = H5FL_FREE(H5I_id_type_t, type_ptr); + H5I_id_type_list_g[type] = NULL; + } /* end if */ } /* end for */ } /* end if */ @@ -232,15 +239,64 @@ H5I_term_interface(void) H5I_type_t H5Iregister_type(size_t hash_size, unsigned reserved, H5I_free_t free_func) { + H5I_class_t *cls = NULL; /* New ID class */ + H5I_type_t new_type; /* New ID type value */ H5I_type_t ret_value; /* Return value */ FUNC_ENTER_API(H5I_BADID) H5TRACE3("It", "zIux", hash_size, reserved, free_func); - /* Call H5I_register_type with a value of 0 to get a new type */ - ret_value = H5I_register_type((H5I_type_t)0, hash_size, reserved, free_func); + /* Generate a new H5I_type_t value */ + + /* Increment the number of types*/ + if(H5I_next_type < H5I_MAX_NUM_TYPES) { + new_type = H5I_next_type; + H5_INC_ENUM(H5I_type_t, H5I_next_type); + } /* end if */ + else { + hbool_t done; /* Indicate that search was successful */ + int i; /* Local index variable */ + + /* Look for a free type to give out */ + done = FALSE; + for(i = H5I_NTYPES; i < H5I_MAX_NUM_TYPES && done == FALSE; i++) { + if(NULL == H5I_id_type_list_g[i]) { + /* Found a free type ID */ + new_type = (H5I_type_t)i; + done = TRUE; + } /* end if */ + } /* end for */ + + /* Verify that we found a type to give out */ + if(done == FALSE) + HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, H5I_BADID, "Maximum number of ID types exceeded.") + } /* end else */ + + /* Allocate new ID class */ + if(NULL == (cls = H5FL_MALLOC(H5I_class_t))) + HGOTO_ERROR(H5E_ATOM, H5E_CANTALLOC, H5I_BADID, "ID class allocation failed") + + /* Initialize class fields */ + cls->type_id = new_type; + cls->flags = H5I_CLASS_IS_APPLICATION; + cls->hash_size = hash_size; + cls->reserved = reserved; + cls->free_func = free_func; + + /* Register the new ID class */ + if(H5I_register_type(cls) < 0) + HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, H5I_BADID, "can't initialize ID class") + + /* Set return value */ + ret_value = new_type; done: + /* Clean up on error */ + if(ret_value < 0) { + if(cls) + cls = H5FL_FREE(H5I_class_t, cls); + } /* end if */ + FUNC_LEAVE_API(ret_value) } /* end H5Iregister_type() */ @@ -248,17 +304,9 @@ done: /*------------------------------------------------------------------------- * Function: H5I_register_type * - * Purpose: Creates a new type of ID's to give out. A specific number - * (RESERVED) of type entries may be reserved to enable "constant" - * values to be handed out which are valid IDs in the type, but - * which do not map to any data structures and are not allocated - * dynamically later. TYPE_ID is the H5I_type_t value of the type - * to be initialized. If this value is zero, a new type is created. - * If this value is one of the library types, that type is - * initialized or its reference count is incremented (if it is already - * initialized). HASH_SIZE is the minimum hash table size to - * use for the type. FREE_FUNC is called with an object pointer - * when the object is removed from the type. + * Purpose: Creates a new type of ID's to give out. + * The class is initialized or its reference count is incremented + * (if it is already initialized). * * Return: Success: Type ID of the new type * Failure: H5I_BADID @@ -269,75 +317,44 @@ done: * *------------------------------------------------------------------------- */ -H5I_type_t -H5I_register_type(H5I_type_t type_id, size_t hash_size, unsigned reserved, - H5I_free_t free_func) +herr_t +H5I_register_type(const H5I_class_t *cls) { - H5I_id_type_t *type_ptr = NULL; /*ptr to the atomic type*/ - H5I_type_t ret_value = H5I_BADID; /* type ID to return */ - - FUNC_ENTER_NOAPI(H5I_BADID) + H5I_id_type_t *type_ptr = NULL; /* Ptr to the atomic type*/ + herr_t ret_value = SUCCEED; /* Return value */ - /* Check that type_id is either a library type or zero */ - if(type_id < 0 || type_id >= H5I_NTYPES) - HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, H5I_BADID, "invalid type ID") - - if(type_id == 0) { /* Generate a new H5I_type_t value */ - /* Increment the number of types*/ - if(H5I_next_type < MAX_NUM_TYPES) { - ret_value = H5I_next_type; - H5_INC_ENUM(H5I_type_t, H5I_next_type); - } - else { - hbool_t done; /* Indicate that search was successful */ - int i; /* Local index variable */ - - /* Look for a free type to give out */ - done = FALSE; - for(i = H5I_NTYPES; i < MAX_NUM_TYPES && done == FALSE; i++) { - if(NULL == H5I_id_type_list_g[i]) { - /* Found a free type ID */ - ret_value = (H5I_type_t)i; - done = TRUE; - } /* end if */ - } /* end for */ + FUNC_ENTER_NOAPI(FAIL) - /* Verify that we found a type to give out */ - if(done == FALSE) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, H5I_BADID, "Maximum number of ID types exceeded.") - } /* end else */ - } /* end if */ - else /* type_id is a library type; use this value. */ - ret_value = type_id; + /* Sanity check */ + HDassert(cls); + HDassert(cls->type_id > 0 && cls->type_id < H5I_MAX_NUM_TYPES); /* Initialize the type */ /* Check arguments */ #ifdef HASH_SIZE_POWER_2 - if(!POWER_OF_TWO(hash_size) || hash_size == 1) - HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, H5I_BADID, "invalid hash size") + if(!POWER_OF_TWO(cls->hash_size) || cls->hash_size == 1) + HGOTO_ERROR(H5E_ATOM, H5E_BADRANGE, FAIL, "invalid hash size") #endif /* HASH_SIZE_POWER_2 */ - if(NULL == H5I_id_type_list_g[ret_value]) { + if(NULL == H5I_id_type_list_g[cls->type_id]) { /* Allocate the type information for new type */ - if(NULL == (type_ptr = (H5I_id_type_t *)H5MM_calloc(sizeof(H5I_id_type_t)))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, H5I_BADID, "memory allocation failed") - H5I_id_type_list_g[ret_value] = type_ptr; + if(NULL == (type_ptr = (H5I_id_type_t *)H5FL_CALLOC(H5I_id_type_t))) + HGOTO_ERROR(H5E_ATOM, H5E_CANTALLOC, FAIL, "ID type allocation failed") + H5I_id_type_list_g[cls->type_id] = type_ptr; } /* end if */ else { /* Get the pointer to the existing type */ - type_ptr = H5I_id_type_list_g[ret_value]; + type_ptr = H5I_id_type_list_g[cls->type_id]; } /* end else */ + /* Initialize the ID type structure for new types */ if(type_ptr->count == 0) { - /* Initialize the ID type structure for new types */ - type_ptr->hash_size = hash_size; - type_ptr->reserved = reserved; + type_ptr->cls = cls; type_ptr->wrapped = 0; type_ptr->ids = 0; - type_ptr->nextid = reserved; - type_ptr->free_func = free_func; - type_ptr->id_list = (H5I_id_info_t **)H5MM_calloc(hash_size * sizeof(H5I_id_info_t *)); + type_ptr->nextid = cls->reserved; + type_ptr->id_list = (H5I_id_info_t **)H5MM_calloc(cls->hash_size * sizeof(H5I_id_info_t *)); if(NULL == type_ptr->id_list) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, H5I_BADID, "memory allocation failed") } /* end if */ @@ -346,10 +363,11 @@ H5I_register_type(H5I_type_t type_id, size_t hash_size, unsigned reserved, type_ptr->count++; done: - if(ret_value == H5I_BADID) { /* Clean up on error */ - if(type_ptr != NULL) { - H5MM_xfree(type_ptr->id_list); - H5MM_xfree(type_ptr); + if(ret_value < 0) { /* Clean up on error */ + if(type_ptr) { + if(type_ptr->id_list) + H5MM_xfree(type_ptr->id_list); + (void)H5FL_FREE(H5I_id_type_t, type_ptr); } /* end if */ } /* end if */ @@ -566,7 +584,7 @@ H5I_clear_type(H5I_type_t type, hbool_t force, hbool_t app_ref) * counts. Ignore the return value from from the free method and remove * object from type regardless if FORCE is non-zero. */ - for(i = 0; i < type_ptr->hash_size; i++) { + for(i = 0; i < type_ptr->cls->hash_size; i++) { H5I_id_info_t *cur; /* Current node being worked with */ H5I_id_info_t *next; /* Next node in list */ @@ -584,7 +602,7 @@ H5I_clear_type(H5I_type_t type, hbool_t force, hbool_t app_ref) /* Check for a 'free' function and call it, if it exists */ /* (Casting away const OK -QAK) */ - if(type_ptr->free_func && (type_ptr->free_func)((void *)cur->obj_ptr) < 0) { + if(type_ptr->cls->free_func && (type_ptr->cls->free_func)((void *)cur->obj_ptr) < 0) { if(force) { #ifdef H5I_DEBUG if(H5DEBUG(I)) { @@ -723,12 +741,17 @@ H5I_destroy_type(H5I_type_t type) HGOTO_ERROR(H5E_ATOM, H5E_BADGROUP, FAIL, "invalid type") /* Close/clear/destroy all IDs for this type */ - H5I_clear_type(type, TRUE, FALSE); - H5E_clear_stack(NULL); /*don't care about errors*/ + H5E_BEGIN_TRY { + H5I_clear_type(type, TRUE, FALSE); + } H5E_END_TRY /*don't care about errors*/ - H5MM_xfree(type_ptr->id_list); + /* Check if we should release the ID class */ + if(type_ptr->cls->flags & H5I_CLASS_IS_APPLICATION) + type_ptr->cls = H5FL_FREE(H5I_class_t, (void *)type_ptr->cls); - H5MM_free(type_ptr); + type_ptr->id_list = H5MM_xfree(type_ptr->id_list); + + type_ptr = H5FL_FREE(H5I_id_type_t, type_ptr); H5I_id_type_list_g[type] = NULL; done: @@ -824,7 +847,7 @@ H5I_register(H5I_type_t type, const void *object, hbool_t app_ref) id_ptr->next = NULL; /* hash bucket already full, prepend to front of chain */ - hash_loc = type_ptr->nextid % (unsigned)type_ptr->hash_size; + hash_loc = type_ptr->nextid % (unsigned)type_ptr->cls->hash_size; if(type_ptr->id_list[hash_loc] != NULL) id_ptr->next = type_ptr->id_list[hash_loc]; @@ -840,7 +863,7 @@ H5I_register(H5I_type_t type, const void *object, hbool_t app_ref) */ if(type_ptr->nextid > (unsigned)ID_MASK) { type_ptr->wrapped = 1; - type_ptr->nextid = type_ptr->reserved; + type_ptr->nextid = type_ptr->cls->reserved; } /* end if */ /* @@ -854,14 +877,14 @@ H5I_register(H5I_type_t type, const void *object, hbool_t app_ref) * we check all possible values and didn't find any free ones *then* * we can fail. */ - for(i = type_ptr->reserved; i < ID_MASK; i++) { + for(i = type_ptr->cls->reserved; i < ID_MASK; i++) { /* Handle end of range by wrapping to beginning */ if(type_ptr->nextid > (unsigned)ID_MASK) - type_ptr->nextid = type_ptr->reserved; + type_ptr->nextid = type_ptr->cls->reserved; /* new ID to check for */ next_id = H5I_MAKE(type, type_ptr->nextid); - hash_loc = (unsigned)H5I_LOC(type_ptr->nextid, type_ptr->hash_size); + hash_loc = (unsigned)H5I_LOC(type_ptr->nextid, type_ptr->cls->hash_size); curr_id = type_ptr->id_list[hash_loc]; if(curr_id == NULL) break; /* Ha! this is not likely... */ @@ -951,7 +974,7 @@ H5I_register_with_id(H5I_type_t type, const void *object, hbool_t app_ref, hid_t id_ptr->next = NULL; /* determine hash bucket location to store id */ - hash_loc = id % (unsigned)type_ptr->hash_size; + hash_loc = id % (unsigned)type_ptr->cls->hash_size; /* hash bucket already full, prepend to front of chain */ if(type_ptr->id_list[hash_loc] != NULL) @@ -1282,7 +1305,7 @@ H5I_remove(hid_t id) HGOTO_ERROR(H5E_ATOM, H5E_BADGROUP, NULL, "invalid type") /* Get the bucket in which the ID is located */ - hash_loc = (unsigned)H5I_LOC(id, type_ptr->hash_size); + hash_loc = (unsigned)H5I_LOC(id, type_ptr->cls->hash_size); curr_id = type_ptr->id_list[hash_loc]; if(NULL == curr_id) HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, NULL, "invalid ID") @@ -1413,7 +1436,7 @@ H5I_dec_ref(hid_t id) */ if(1 == id_ptr->count) { /* (Casting away const OK -QAK) */ - if(!type_ptr->free_func || (type_ptr->free_func)((void *)id_ptr->obj_ptr) >= 0) { + if(!type_ptr->cls->free_func || (type_ptr->cls->free_func)((void *)id_ptr->obj_ptr) >= 0) { H5I_remove(id); ret_value = 0; } /* end if */ @@ -2010,13 +2033,12 @@ H5I_search_cb(void *obj, hid_t id, void *_udata) H5I_search_ud_t *udata = (H5I_search_ud_t *)_udata; /* User data for callback */ int ret_value; /* Callback return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_NOAPI_NOINIT_NOERR ret_value = (*udata->app_cb)(obj, id, udata->app_key); if(ret_value > 0) udata->ret_obj = obj; -done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5I_search_cb() */ @@ -2122,7 +2144,7 @@ H5I_iterate(H5I_type_t type, H5I_search_func_t func, void *udata, hbool_t app_re unsigned u; /* Counter */ /* Start at the beginning of the array */ - for(u = 0; u < type_ptr->hash_size; u++) { + for(u = 0; u < type_ptr->cls->hash_size; u++) { H5I_id_info_t *id_ptr; /* Ptr to the new ID */ id_ptr = type_ptr->id_list[u]; @@ -2187,7 +2209,7 @@ H5I_find_id(hid_t id) HGOTO_DONE(NULL); /* Get the bucket in which the ID is located */ - hash_loc = (unsigned)H5I_LOC(id, type_ptr->hash_size); + hash_loc = (unsigned)H5I_LOC(id, type_ptr->cls->hash_size); id_ptr = type_ptr->id_list[hash_loc]; /* Scan the bucket's linked list for a match */ @@ -2374,9 +2396,9 @@ H5I_debug(H5I_type_t type) /* Header */ fprintf(stderr, " count = %u\n", type_ptr->count); - fprintf(stderr, " reserved = %u\n", type_ptr->reserved); + fprintf(stderr, " reserved = %u\n", type_ptr->cls->reserved); fprintf(stderr, " wrapped = %u\n", type_ptr->wrapped); - fprintf(stderr, " hash_size = %lu\n", (unsigned long)type_ptr->hash_size); + fprintf(stderr, " hash_size = %lu\n", (unsigned long)type_ptr->cls->hash_size); fprintf(stderr, " ids = %u\n", type_ptr->ids); fprintf(stderr, " nextid = %u\n", type_ptr->nextid); diff --git a/src/H5Ipkg.h b/src/H5Ipkg.h index f17a4b0..dc8e867 100644 --- a/src/H5Ipkg.h +++ b/src/H5Ipkg.h @@ -46,7 +46,7 @@ #define TYPE_BITS 7 #define TYPE_MASK ((1< 0 && type < H5I_NTYPES) -/* Default sizes of the hash-tables for various atom types */ -#define H5I_ERRSTACK_HASHSIZE 64 -#define H5I_FILEID_HASHSIZE 64 -#define H5I_TEMPID_HASHSIZE 64 -#define H5I_DATATYPEID_HASHSIZE 64 -#define H5I_DATASPACEID_HASHSIZE 64 -#define H5I_DATASETID_HASHSIZE 64 -#define H5I_OID_HASHSIZE 64 -#define H5I_GROUPID_HASHSIZE 64 -#define H5I_ATTRID_HASHSIZE 64 -#define H5I_REFID_HASHSIZE 64 -#define H5I_VFL_HASHSIZE 64 -#define H5I_GENPROPCLS_HASHSIZE 64 -#define H5I_GENPROPOBJ_HASHSIZE 128 -#define H5I_ERRCLS_HASHSIZE 64 -#define H5I_ERRMSG_HASHSIZE 64 -#define H5I_ERRSTK_HASHSIZE 64 - -/* Private Functions in H5I.c */ -H5_DLL H5I_type_t H5I_register_type(H5I_type_t type_id, size_t hash_size, unsigned reserved, H5I_free_t free_func); +/* Flags for ID class */ +#define H5I_CLASS_IS_APPLICATION 0x01 + + +/****************************/ +/* Library Private Typedefs */ +/****************************/ + +typedef struct H5I_class_t { + H5I_type_t type_id; /* Class ID for the type */ + unsigned flags; /* Class behavior flags */ + size_t hash_size; /* Minimum hash table size for the type */ + unsigned reserved; /* Number of reserved IDs for this type */ + /* [A specific number of type entries may be + * reserved to enable "constant" values to be + * handed out which are valid IDs in the type, + * but which do not map to any data structures + * and are not allocated dynamically later.] + */ + H5I_free_t free_func; /* Free function for object's of this type */ +} H5I_class_t; + + +/*****************************/ +/* Library-private Variables */ +/*****************************/ + + +/***************************************/ +/* Library-private Function Prototypes */ +/***************************************/ +H5_DLL herr_t H5I_register_type(const H5I_class_t *cls); H5_DLL int H5I_nmembers(H5I_type_t type); H5_DLL herr_t H5I_clear_type(H5I_type_t type, hbool_t force, hbool_t app_ref); H5_DLL int H5I_destroy_type(H5I_type_t type); diff --git a/src/H5MF.c b/src/H5MF.c index f9ca256..5b4505f 100644 --- a/src/H5MF.c +++ b/src/H5MF.c @@ -160,7 +160,8 @@ H5MF_init_merge_flags(H5F_t *f) all_metadata_same = TRUE; for(type = H5FD_MEM_SUPER; type < H5FD_MEM_NTYPES; H5_INC_ENUM(H5FD_mem_t, type)) /* Skip checking raw data free list mapping */ - if(type != H5FD_MEM_DRAW) { + /* (global heap is treated as raw data) */ + if(type != H5FD_MEM_DRAW && type != H5FD_MEM_GHEAP) { /* Check for any different type mappings */ if(f->shared->fs_type_map[type] != f->shared->fs_type_map[H5FD_MEM_SUPER]) { all_metadata_same = FALSE; @@ -183,9 +184,12 @@ H5MF_init_merge_flags(H5F_t *f) HDmemset(f->shared->fs_aggr_merge, 0, sizeof(f->shared->fs_aggr_merge)); /* Check if merging raw data should be allowed */ + /* (treat global heaps as raw data) */ if(H5FD_MEM_DRAW == f->shared->fs_type_map[H5FD_MEM_DRAW] || - H5FD_MEM_DEFAULT == f->shared->fs_type_map[H5FD_MEM_DRAW]) + H5FD_MEM_DEFAULT == f->shared->fs_type_map[H5FD_MEM_DRAW]) { f->shared->fs_aggr_merge[H5FD_MEM_DRAW] = H5F_FS_MERGE_RAWDATA; + f->shared->fs_aggr_merge[H5FD_MEM_GHEAP] = H5F_FS_MERGE_RAWDATA; + } /* end if */ break; case H5MF_AGGR_MERGE_DICHOTOMY: @@ -193,7 +197,9 @@ H5MF_init_merge_flags(H5F_t *f) HDmemset(f->shared->fs_aggr_merge, H5F_FS_MERGE_METADATA, sizeof(f->shared->fs_aggr_merge)); /* Allow merging raw data allocations together */ + /* (treat global heaps as raw data) */ f->shared->fs_aggr_merge[H5FD_MEM_DRAW] = H5F_FS_MERGE_RAWDATA; + f->shared->fs_aggr_merge[H5FD_MEM_GHEAP] = H5F_FS_MERGE_RAWDATA; break; case H5MF_AGGR_MERGE_TOGETHER: @@ -744,6 +750,7 @@ H5MF_try_extend(H5F_t *f, hid_t dxpl_id, H5FD_mem_t alloc_type, haddr_t addr, hsize_t size, hsize_t extra_requested) { haddr_t end; /* End of block to extend */ + H5FD_mem_t map_type; /* Mapped type */ htri_t ret_value; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -755,18 +762,21 @@ HDfprintf(stderr, "%s: Entering: alloc_type = %u, addr = %a, size = %Hu, extra_r HDassert(f); HDassert(H5F_INTENT(f) & H5F_ACC_RDWR); + /* Set mapped type, treating global heap as raw data */ + map_type = (alloc_type == H5FD_MEM_GHEAP) ? H5FD_MEM_DRAW : alloc_type; + /* Compute end of block to extend */ end = addr + size; /* Check if the block is exactly at the end of the file */ - if((ret_value = H5FD_try_extend(f->shared->lf, alloc_type, f, end, extra_requested)) < 0) + if((ret_value = H5FD_try_extend(f->shared->lf, map_type, f, end, extra_requested)) < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTEXTEND, FAIL, "error extending file") else if(ret_value == FALSE) { H5F_blk_aggr_t *aggr; /* Aggregator to use */ /* Check for test block able to extend aggregation block */ - aggr = (alloc_type == H5FD_MEM_DRAW) ? &(f->shared->sdata_aggr) : &(f->shared->meta_aggr); - if((ret_value = H5MF_aggr_try_extend(f, aggr, alloc_type, end, extra_requested)) < 0) + aggr = (map_type == H5FD_MEM_DRAW) ? &(f->shared->sdata_aggr) : &(f->shared->meta_aggr); + if((ret_value = H5MF_aggr_try_extend(f, aggr, map_type, end, extra_requested)) < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTEXTEND, FAIL, "error extending aggregation block") else if(ret_value == FALSE) { H5FD_mem_t fs_type; /* Free space type (mapped from allocation type) */ diff --git a/src/H5MFaggr.c b/src/H5MFaggr.c index 05a9241..6f68fd7 100644 --- a/src/H5MFaggr.c +++ b/src/H5MFaggr.c @@ -46,6 +46,7 @@ /******************/ /* Local Typedefs */ /******************/ +#define EXTEND_THRESHOLD .10 /********************/ @@ -108,14 +109,14 @@ HDfprintf(stderr, "%s: alloc_type = %u, size = %Hu\n", FUNC, (unsigned)alloc_typ HDassert(size > 0); /* Couldn't find anything from the free space manager, go allocate some */ - if(alloc_type != H5FD_MEM_DRAW) { + if(alloc_type != H5FD_MEM_DRAW && alloc_type != H5FD_MEM_GHEAP) { /* Handle metadata differently from "raw" data */ if(HADDR_UNDEF == (ret_value = H5MF_aggr_alloc(f, dxpl_id, &(f->shared->meta_aggr), &(f->shared->sdata_aggr), alloc_type, size))) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, HADDR_UNDEF, "can't allocate metadata") } /* end if */ else { - /* Allocate "raw" data */ - if(HADDR_UNDEF == (ret_value = H5MF_aggr_alloc(f, dxpl_id, &(f->shared->sdata_aggr), &(f->shared->meta_aggr), alloc_type, size))) + /* Allocate "raw" data: H5FD_MEM_DRAW and H5FD_MEM_GHEAP */ + if(HADDR_UNDEF == (ret_value = H5MF_aggr_alloc(f, dxpl_id, &(f->shared->sdata_aggr), &(f->shared->meta_aggr), H5FD_MEM_DRAW, size))) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, HADDR_UNDEF, "can't allocate raw data") } /* end else */ @@ -242,7 +243,7 @@ HDfprintf(stderr, "%s: aggr = {%a, %Hu, %Hu}\n", FUNC, aggr->addr, aggr->tot_siz } /* end if */ /* Allocate space from the VFD (i.e. at the end of the file) */ - if(HADDR_UNDEF == (ret_value = H5FD_alloc(f->shared->lf, dxpl_id, type, f, size, &eoa_frag_addr, &eoa_frag_size))) + if(HADDR_UNDEF == (ret_value = H5FD_alloc(f->shared->lf, dxpl_id, alloc_type, f, size, &eoa_frag_addr, &eoa_frag_size))) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, HADDR_UNDEF, "can't allocate aggregation block") } /* end else */ } /* end if */ @@ -307,12 +308,12 @@ HDfprintf(stderr, "%s: Allocating block\n", FUNC); /* Freeing any possible fragment due to file allocation */ if(eoa_frag_size) - if(H5MF_xfree(f, type, dxpl_id, eoa_frag_addr, eoa_frag_size) < 0) + if(H5MF_xfree(f, alloc_type, dxpl_id, eoa_frag_addr, eoa_frag_size) < 0) 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(H5MF_xfree(f, type, dxpl_id, aggr_frag_addr, aggr_frag_size) < 0) + 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 */ else { @@ -323,7 +324,7 @@ HDfprintf(stderr, "%s: Allocating block\n", FUNC); /* free any possible fragment */ if(aggr_frag_size) - if(H5MF_xfree(f, type, dxpl_id, aggr_frag_addr, aggr_frag_size) < 0) + 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 else */ } /* end if */ @@ -364,6 +365,16 @@ HDfprintf(stderr, "%s: ret_value = %a\n", FUNC, ret_value); * Purpose: Check if a block is inside an aggregator block and extend it * if possible. * + * Note: + * When the block to be extended adjoins the aggregator-- + * 1) When the aggregator is at end of file: + * A) If the request is below the threshold, extend the block into the aggregator + * B) If the request is above the threshold, + * a) extend the aggregator by aggr->alloc_size or the extended amount + * b) extend the block into the aggregator + * 2) When the aggregator is not at end of file: + * Extended the block into the aggregator if it has enough space to satisfy the request + * * Return: Success: TRUE(1) - Block was extended * FALSE(0) - Block could not be extended * Failure: FAIL @@ -388,26 +399,56 @@ H5MF_aggr_try_extend(H5F_t *f, H5F_blk_aggr_t *aggr, H5FD_mem_t type, /* Check if this aggregator is active */ if(f->shared->feature_flags & aggr->feature_flag) { - /* If the block being tested adjoins the beginning of the aggregator + /* + * If the block being tested adjoins the beginning of the aggregator * block, check if the aggregator can accomodate the extension. */ if(H5F_addr_eq(blk_end, aggr->addr)) { - /* If the aggregator block is at the end of the file, extend the - * file and "bubble" the aggregator up - */ - if((ret_value = H5FD_try_extend(f->shared->lf, type, f, (aggr->addr + aggr->size), extra_requested)) < 0) - HGOTO_ERROR(H5E_RESOURCE, H5E_CANTEXTEND, FAIL, "error extending file") - else if(ret_value == TRUE) { - /* Shift the aggregator block by the extra requested */ - aggr->addr += extra_requested; - - /* Add extra requested to the aggregator block's total amount allocated */ - aggr->tot_size += extra_requested; - } /* end if */ - else { - /* Check if the aggregator block has enough internal space to satisfy - * extending the block. - */ + haddr_t eoa; /* EOA for the file */ + + /* Get the EOA for the file */ + if(HADDR_UNDEF == (eoa = H5F_get_eoa(f, type))) + HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGET, FAIL, "Unable to get eoa") + + /* If the aggregator is at the end of file: */ + if(H5F_addr_eq(eoa, aggr->addr + aggr->size)) { + /* If extra_requested is below percentage threshold, extend block into the aggregator. */ + if(extra_requested <= (EXTEND_THRESHOLD * aggr->size)) { + aggr->size -= extra_requested; + aggr->addr += extra_requested; + + /* Indicate success */ + HGOTO_DONE(TRUE); + } + /* + * If extra_requested is above percentage threshold: + * 1) "bubble" up the aggregator by aggr->alloc_size or extra_requested + * 2) extend the block into the aggregator + */ + else { + hsize_t extra = (extra_requested < aggr->alloc_size) ? aggr->alloc_size : extra_requested; + + if((ret_value = H5FD_try_extend(f->shared->lf, type, f, (aggr->addr + aggr->size), extra)) < 0) + HGOTO_ERROR(H5E_RESOURCE, H5E_CANTEXTEND, FAIL, "error extending file") + else if(ret_value == TRUE) { + /* Shift the aggregator block by the extra requested */ + /* (allocates the space for the extra_requested) */ + aggr->addr += extra_requested; + + /* Add extra to the aggregator's total allocated amount */ + aggr->tot_size += extra; + + /* Account for any space added to the aggregator */ + /* (either 0 (if extra_requested > aggr->alloc_size) or + * (aggr->alloc_size - extra_requested) -QAK + */ + aggr->size += extra; + aggr->size -= extra_requested; + } /* end if */ + } /* end if */ + } /* end if */ + else { /* The aggreator is not at end of file */ + /* Check if aggregator has enough internal space to satisfy the extension. */ if(aggr->size >= extra_requested) { /* Extend block into aggregator */ aggr->size -= extra_requested; @@ -416,8 +457,8 @@ H5MF_aggr_try_extend(H5F_t *f, H5F_blk_aggr_t *aggr, H5FD_mem_t type, /* Indicate success */ HGOTO_DONE(TRUE); } /* end if */ - } /* end else */ - } /* end if */ + } /* end else */ + } /* end if */ } /* end if */ done: @@ -462,7 +503,7 @@ H5MF_aggr_can_absorb(const H5F_t *f, const H5F_blk_aggr_t *aggr, || H5F_addr_eq((aggr->addr + aggr->size), sect->sect_info.addr)) { #ifdef H5MF_AGGR_DEBUG HDfprintf(stderr, "%s: section {%a, %Hu} adjoins aggr = {%a, %Hu}\n", "H5MF_aggr_can_absorb", sect->sect_info.addr, sect->sect_info.size, aggr->addr, aggr->size); -#endif /* H5MF_AGGR_DBEUG */ +#endif /* H5MF_AGGR_DEBUG */ /* Check if aggregator would get too large and should be absorbed into section */ if((aggr->size + sect->sect_info.size) >= aggr->alloc_size) *shrink = H5MF_SHRINK_SECT_ABSORB_AGGR; @@ -510,9 +551,9 @@ H5MF_aggr_absorb(const H5F_t UNUSED *f, H5F_blk_aggr_t *aggr, H5MF_free_section_ if((aggr->size + sect->sect_info.size) >= aggr->alloc_size && allow_sect_absorb) { /* Check if the section adjoins the beginning or end of the aggregator */ if(H5F_addr_eq((sect->sect_info.addr + sect->sect_info.size), aggr->addr)) { -#ifdef H5MF_AGGR_DBEUG +#ifdef H5MF_AGGR_DEBUG HDfprintf(stderr, "%s: aggr {%a, %Hu} adjoins front of section = {%a, %Hu}\n", "H5MF_aggr_absorb", aggr->addr, aggr->size, sect->sect_info.addr, sect->sect_info.size); -#endif /* H5MF_AGGR_DBEUG */ +#endif /* H5MF_AGGR_DEBUG */ /* Absorb aggregator onto end of section */ sect->sect_info.size += aggr->size; } /* end if */ @@ -520,9 +561,9 @@ HDfprintf(stderr, "%s: aggr {%a, %Hu} adjoins front of section = {%a, %Hu}\n", " /* Sanity check */ HDassert(H5F_addr_eq((aggr->addr + aggr->size), sect->sect_info.addr)); -#ifdef H5MF_AGGR_DBEUG +#ifdef H5MF_AGGR_DEBUG HDfprintf(stderr, "%s: aggr {%a, %Hu} adjoins end of section = {%a, %Hu}\n", "H5MF_aggr_absorb", aggr->addr, aggr->size, sect->sect_info.addr, sect->sect_info.size); -#endif /* H5MF_AGGR_DBEUG */ +#endif /* H5MF_AGGR_DEBUG */ /* Absorb aggregator onto beginning of section */ sect->sect_info.addr -= aggr->size; sect->sect_info.size += aggr->size; @@ -536,9 +577,9 @@ HDfprintf(stderr, "%s: aggr {%a, %Hu} adjoins end of section = {%a, %Hu}\n", "H5 else { /* Check if the section adjoins the beginning or end of the aggregator */ if(H5F_addr_eq((sect->sect_info.addr + sect->sect_info.size), aggr->addr)) { -#ifdef H5MF_AGGR_DBEUG +#ifdef H5MF_AGGR_DEBUG HDfprintf(stderr, "%s: section {%a, %Hu} adjoins front of aggr = {%a, %Hu}\n", "H5MF_aggr_absorb", sect->sect_info.addr, sect->sect_info.size, aggr->addr, aggr->size); -#endif /* H5MF_AGGR_DBEUG */ +#endif /* H5MF_AGGR_DEBUG */ /* Absorb section onto front of aggregator */ aggr->addr -= sect->sect_info.size; aggr->size += sect->sect_info.size; @@ -552,9 +593,9 @@ HDfprintf(stderr, "%s: section {%a, %Hu} adjoins front of aggr = {%a, %Hu}\n", " /* Sanity check */ HDassert(H5F_addr_eq((aggr->addr + aggr->size), sect->sect_info.addr)); -#ifdef H5MF_AGGR_DBEUG +#ifdef H5MF_AGGR_DEBUG HDfprintf(stderr, "%s: section {%a, %Hu} adjoins end of aggr = {%a, %Hu}\n", "H5MF_aggr_absorb", sect->sect_info.addr, sect->sect_info.size, aggr->addr, aggr->size); -#endif /* H5MF_AGGR_DBEUG */ +#endif /* H5MF_AGGR_DEBUG */ /* Absorb section onto end of aggregator */ aggr->size += sect->sect_info.size; } /* end if */ @@ -637,9 +678,9 @@ H5MF_aggr_reset(H5F_t *f, hid_t dxpl_id, H5F_blk_aggr_t *aggr) /* Retain aggregator info */ tmp_addr = aggr->addr; tmp_size = aggr->size; -#ifdef H5MF_AGGR_DBEUG +#ifdef H5MF_AGGR_DEBUG HDfprintf(stderr, "%s: tmp_addr = %a, tmp_size = %Hu\n", FUNC, tmp_addr, tmp_size); -#endif /* H5MF_AGGR_DBEUG */ +#endif /* H5MF_AGGR_DEBUG */ /* Reset aggregator block information */ aggr->tot_size = 0; diff --git a/src/H5Odtype.c b/src/H5Odtype.c index 1b602c7..6158fd9 100644 --- a/src/H5Odtype.c +++ b/src/H5Odtype.c @@ -84,7 +84,7 @@ static herr_t H5O_dtype_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, #define H5O_DTYPE_CHECK_VERSION(DT, VERS, MIN_VERS, IOF, CLASS, ERR) \ if(((VERS) < (MIN_VERS)) && !(*(IOF) & H5O_DECODEIO_NOCHANGE)) { \ (VERS) = (MIN_VERS); \ - if(H5T_upgrade_version((DT), (VERS)) < 0) \ + if(H5T__upgrade_version((DT), (VERS)) < 0) \ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't upgrade " CLASS " encoding version") \ *(IOF) |= H5O_DECODEIO_DIRTY; \ } /* end if */ @@ -325,7 +325,7 @@ H5O_dtype_decode_helper(H5F_t *f, unsigned *ioflags/*in,out*/, const uint8_t **p } /* end if */ /* Allocate space for the field's datatype */ - if(NULL == (temp_type = H5T_alloc())) + if(NULL == (temp_type = H5T__alloc())) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed") /* Decode the field's datatype information */ @@ -349,7 +349,7 @@ H5O_dtype_decode_helper(H5F_t *f, unsigned *ioflags/*in,out*/, const uint8_t **p /* Check if this member is an array field */ if(ndims > 0) { /* Create the array datatype for the field */ - if((array_dt = H5T_array_create(temp_type, ndims, dim)) == NULL) { + if((array_dt = H5T__array_create(temp_type, ndims, dim)) == NULL) { for(j = 0; j <= i; j++) H5MM_xfree(dt->shared->u.compnd.memb[j].name); H5MM_xfree(dt->shared->u.compnd.memb); @@ -409,12 +409,12 @@ H5O_dtype_decode_helper(H5F_t *f, unsigned *ioflags/*in,out*/, const uint8_t **p } /* end for */ /* Check if the compound type is packed */ - H5T_update_packed(dt); + H5T__update_packed(dt); /* Upgrade the compound if requested */ if(version < upgrade_to) { version = upgrade_to; - if(H5T_upgrade_version(dt, upgrade_to) < 0) + if(H5T__upgrade_version(dt, upgrade_to) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't upgrade compound encoding version") /* We won't mark the message dirty since there were no * errors in the file, simply type versions that we will no @@ -453,7 +453,7 @@ H5O_dtype_decode_helper(H5F_t *f, unsigned *ioflags/*in,out*/, const uint8_t **p * Enumeration datatypes... */ dt->shared->u.enumer.nmembs = dt->shared->u.enumer.nalloc = flags & 0xffff; - if(NULL == (dt->shared->parent = H5T_alloc())) + if(NULL == (dt->shared->parent = H5T__alloc())) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed") if(H5O_dtype_decode_helper(f, ioflags, pp, dt->shared->parent) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "unable to decode parent datatype") @@ -495,7 +495,7 @@ H5O_dtype_decode_helper(H5F_t *f, unsigned *ioflags/*in,out*/, const uint8_t **p } /* end if */ /* Decode base type of VL information */ - if(NULL == (dt->shared->parent = H5T_alloc())) + if(NULL == (dt->shared->parent = H5T__alloc())) HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "memory allocation failed") if(H5O_dtype_decode_helper(f, ioflags, pp, dt->shared->parent) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "unable to decode VL parent type") @@ -535,7 +535,7 @@ H5O_dtype_decode_helper(H5F_t *f, unsigned *ioflags/*in,out*/, const uint8_t **p *pp += dt->shared->u.array.ndims * 4; /* Decode base type of array */ - if(NULL == (dt->shared->parent = H5T_alloc())) + if(NULL == (dt->shared->parent = H5T__alloc())) HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "memory allocation failed") if(H5O_dtype_decode_helper(f, ioflags, pp, dt->shared->parent) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "unable to decode array parent type") @@ -1097,7 +1097,7 @@ H5O_dtype_decode(H5F_t *f, hid_t UNUSED dxpl_id, H5O_t UNUSED *open_oh, unsigned HDassert(p); /* Allocate datatype message */ - if(NULL == (dt = H5T_alloc())) + if(NULL == (dt = H5T__alloc())) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") /* Perform actual decode of message */ @@ -1358,7 +1358,7 @@ H5O_dtype_reset(void *_mesg) FUNC_ENTER_NOAPI_NOINIT_NOERR if(dt) - H5T_free(dt); + H5T__free(dt); FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5O_dtype_reset() */ diff --git a/src/H5Olayout.c b/src/H5Olayout.c index 4a4c88e..ad0a7277 100644 --- a/src/H5Olayout.c +++ b/src/H5Olayout.c @@ -617,7 +617,7 @@ H5O_layout_size(const H5F_t *f, hbool_t UNUSED disable_shared, const void *_mesg /* Compute serialized size */ /* (including possibly compact data) */ - ret_value = H5D_layout_meta_size(f, mesg, TRUE); + ret_value = H5D__layout_meta_size(f, mesg, TRUE); FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_layout_size() */ @@ -728,13 +728,13 @@ H5O_layout_delete(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, void *_mesg) case H5D_CONTIGUOUS: /* Contiguous block on disk */ /* Free the file space for the raw data */ - if(H5D_contig_delete(f, dxpl_id, &mesg->storage) < 0) + if(H5D__contig_delete(f, dxpl_id, &mesg->storage) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free raw data") break; case H5D_CHUNKED: /* Chunked blocks on disk */ /* Free the file space for the index & chunk raw data */ - if(H5D_chunk_delete(f, dxpl_id, open_oh, &mesg->storage) < 0) + if(H5D__chunk_delete(f, dxpl_id, open_oh, &mesg->storage) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free raw data") break; @@ -834,7 +834,7 @@ H5O_layout_copy_file(H5F_t *file_src, void *mesg_src, H5F_t *file_dst, case H5D_COMPACT: if(layout_src->storage.u.compact.buf) { /* copy compact raw data */ - if(H5D_compact_copy(file_src, &layout_src->storage.u.compact, file_dst, &layout_dst->storage.u.compact, udata->src_dtype, cpy_info, dxpl_id) < 0) + if(H5D__compact_copy(file_src, &layout_src->storage.u.compact, file_dst, &layout_dst->storage.u.compact, udata->src_dtype, cpy_info, dxpl_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "unable to copy chunked storage") copied = TRUE; } /* end if */ @@ -849,18 +849,18 @@ H5O_layout_copy_file(H5F_t *file_src, void *mesg_src, H5F_t *file_dst, layout_dst->storage.u.contig.size = H5S_extent_nelem(udata->src_space_extent) * H5T_get_size(udata->src_dtype); - if(H5D_contig_is_space_alloc(&layout_src->storage)) { + if(H5D__contig_is_space_alloc(&layout_src->storage)) { /* copy contiguous raw data */ - if(H5D_contig_copy(file_src, &layout_src->storage.u.contig, file_dst, &layout_dst->storage.u.contig, udata->src_dtype, cpy_info, dxpl_id) < 0) + if(H5D__contig_copy(file_src, &layout_src->storage.u.contig, file_dst, &layout_dst->storage.u.contig, udata->src_dtype, cpy_info, dxpl_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "unable to copy contiguous storage") copied = TRUE; } /* end if */ break; case H5D_CHUNKED: - if(H5D_chunk_is_space_alloc(&layout_src->storage)) { + if(H5D__chunk_is_space_alloc(&layout_src->storage)) { /* Create chunked layout */ - if(H5D_chunk_copy(file_src, &layout_src->storage.u.chunk, &layout_src->u.chunk, file_dst, &layout_dst->storage.u.chunk, udata->src_space_extent, udata->src_dtype, udata->common.src_pline, cpy_info, dxpl_id) < 0) + if(H5D__chunk_copy(file_src, &layout_src->storage.u.chunk, &layout_src->u.chunk, file_dst, &layout_dst->storage.u.chunk, udata->src_space_extent, udata->src_dtype, udata->common.src_pline, cpy_info, dxpl_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "unable to copy chunked storage") copied = TRUE; } /* end if */ diff --git a/src/H5Ostorage.c b/src/H5Ostorage.c index 8d99231..3261ab7 100644 --- a/src/H5Ostorage.c +++ b/src/H5Ostorage.c @@ -488,13 +488,13 @@ H5O_storage_delete(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, void *_mesg) case H5D_CONTIGUOUS: /* Contiguous block on disk */ /* Free the file space for the raw data */ - if(H5D_contig_delete(f, dxpl_id, mesg) < 0) + if(H5D__contig_delete(f, dxpl_id, mesg) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free raw data") break; case H5D_CHUNKED: /* Chunked blocks on disk */ /* Free the file space for the index & chunk raw data */ - if(H5D_chunk_delete(f, dxpl_id, open_oh, mesg) < 0) + if(H5D__chunk_delete(f, dxpl_id, open_oh, mesg) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free raw data") break; @@ -556,7 +556,7 @@ H5O_storage_copy_file(H5F_t *file_src, void *mesg_src, H5F_t *file_dst, HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, NULL, "unable to allocate memory for compact dataset") /* Copy compact raw data */ - if(H5D_compact_copy(file_src, &storage_src->u.compact, file_dst, &storage_dst->u.compact, udata->src_dtype, cpy_info, dxpl_id) < 0) + if(H5D__compact_copy(file_src, &storage_src->u.compact, file_dst, &storage_dst->u.compact, udata->src_dtype, cpy_info, dxpl_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "unable to copy chunked storage") storage_dst->u.compact.dirty = TRUE; @@ -564,17 +564,17 @@ H5O_storage_copy_file(H5F_t *file_src, void *mesg_src, H5F_t *file_dst, break; case H5D_CONTIGUOUS: - if(H5D_contig_is_space_alloc(storage_src)) { + if(H5D__contig_is_space_alloc(storage_src)) { /* Copy contiguous raw data */ - if(H5D_contig_copy(file_src, &storage_src->u.contig, file_dst, &storage_dst->u.contig, udata->src_dtype, cpy_info, dxpl_id) < 0) + if(H5D__contig_copy(file_src, &storage_src->u.contig, file_dst, &storage_dst->u.contig, udata->src_dtype, cpy_info, dxpl_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "unable to copy contiguous storage") } /* end if */ break; case H5D_CHUNKED: - if(H5D_chunk_is_space_alloc(storage_src)) { + if(H5D__chunk_is_space_alloc(storage_src)) { /* Create chunked layout */ - if(H5D_chunk_copy(file_src, &storage_src->u.chunk, &udata->src_layout->u.chunk, file_dst, &storage_dst->u.chunk, udata->src_space_extent, udata->src_dtype, udata->common.src_pline, cpy_info, dxpl_id) < 0) + if(H5D__chunk_copy(file_src, &storage_src->u.chunk, &udata->src_layout->u.chunk, file_dst, &storage_dst->u.chunk, udata->src_space_extent, udata->src_dtype, udata->common.src_pline, cpy_info, dxpl_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "unable to copy chunked storage") } /* end if */ break; diff --git a/src/H5Pdcpl.c b/src/H5Pdcpl.c index c39e224..5597822 100644 --- a/src/H5Pdcpl.c +++ b/src/H5Pdcpl.c @@ -1702,8 +1702,8 @@ H5P_get_fill_value(H5P_genplist_t *plist, const H5T_t *type, void *value/*out*/, else { if(NULL == (buf = H5MM_malloc(H5T_get_size(fill.type)))) HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed for type conversion") - if(H5T_path_bkg(tpath)) - bkg = value; + if(H5T_path_bkg(tpath) && NULL == (bkg = H5MM_malloc(H5T_get_size(fill.type)))) + HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed for type conversion") } /* end else */ HDmemcpy(buf, fill.buf, H5T_get_size(fill.type)); diff --git a/src/H5Pdxpl.c b/src/H5Pdxpl.c index ea292e6..bf8498e 100644 --- a/src/H5Pdxpl.c +++ b/src/H5Pdxpl.c @@ -121,7 +121,12 @@ #define H5D_XFER_XFORM_DEL H5P_dxfr_xform_del #define H5D_XFER_XFORM_COPY H5P_dxfr_xform_copy #define H5D_XFER_XFORM_CLOSE H5P_dxfr_xform_close - +/* Definitions for memory MPI type property */ +#define H5FD_MPI_XFER_MEM_MPI_TYPE_SIZE sizeof(MPI_Datatype) +#define H5FD_MPI_XFER_MEM_MPI_TYPE_DEF MPI_DATATYPE_NULL +/* Definitions for file MPI type property */ +#define H5FD_MPI_XFER_FILE_MPI_TYPE_SIZE sizeof(MPI_Datatype) +#define H5FD_MPI_XFER_FILE_MPI_TYPE_DEF MPI_DATATYPE_NULL /******************/ /* Local Typedefs */ @@ -210,6 +215,8 @@ H5P_dxfr_reg_prop(H5P_genclass_t *pclass) unsigned def_mpio_chunk_opt_ratio = H5D_XFER_MPIO_CHUNK_OPT_RATIO_DEF; H5D_mpio_actual_chunk_opt_mode_t def_mpio_actual_chunk_opt_mode = H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_DEF; H5D_mpio_actual_io_mode_t def_mpio_actual_io_mode = H5D_MPIO_ACTUAL_IO_MODE_DEF; + MPI_Datatype btype = H5FD_MPI_XFER_MEM_MPI_TYPE_DEF; /* Default value for MPI buffer type */ + MPI_Datatype ftype = H5FD_MPI_XFER_FILE_MPI_TYPE_DEF; /* Default value for MPI file type */ #endif /* H5_HAVE_PARALLEL */ H5Z_EDC_t enable_edc = H5D_XFER_EDC_DEF; /* Default value for EDC property */ H5Z_cb_t filter_cb = H5D_XFER_FILTER_CB_DEF; /* Default value for filter callback */ @@ -291,6 +298,17 @@ H5P_dxfr_reg_prop(H5P_genclass_t *pclass) /* Register the actual io mode property. */ if(H5P_register_real(pclass, H5D_MPIO_ACTUAL_IO_MODE_NAME, H5D_MPIO_ACTUAL_IO_MODE_SIZE, &def_mpio_actual_io_mode, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0) HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class") + + /* Register the MPI memory type property */ + if(H5P_register_real(pclass, H5FD_MPI_XFER_MEM_MPI_TYPE_NAME, H5FD_MPI_XFER_MEM_MPI_TYPE_SIZE, + &btype, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class") + + /* Register the MPI file type property */ + if(H5P_register_real(pclass, H5FD_MPI_XFER_FILE_MPI_TYPE_NAME, H5FD_MPI_XFER_FILE_MPI_TYPE_SIZE, + &ftype, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class") + #endif /* H5_HAVE_PARALLEL */ /* Register the EDC property */ diff --git a/src/H5Pint.c b/src/H5Pint.c index 46a06a0..dae7b08 100644 --- a/src/H5Pint.c +++ b/src/H5Pint.c @@ -38,6 +38,7 @@ #include "H5MMprivate.h" /* Memory management */ #include "H5Ppkg.h" /* Property lists */ + /****************/ /* Local Macros */ /****************/ @@ -236,6 +237,25 @@ H5FL_DEFINE_STATIC(H5P_genprop_t); /* Declare a free list to manage the H5P_genplist_t struct */ H5FL_DEFINE_STATIC(H5P_genplist_t); +/* Generic Property Class ID class */ +static const H5I_class_t H5I_GENPROPCLS_CLS[1] = {{ + H5I_GENPROP_CLS, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5P_close_class /* Callback routine for closing objects of this class */ +}}; + +/* Generic Property List ID class */ +static const H5I_class_t H5I_GENPROPLST_CLS[1] = {{ + H5I_GENPROP_LST, /* ID class value */ + 0, /* Class flags */ + 128, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + (H5I_free_t)H5P_close /* Callback routine for closing objects of this class */ +}}; + + /*-------------------------------------------------------------------------- NAME @@ -357,9 +377,9 @@ H5P_init_interface(void) /* * Initialize the Generic Property class & object groups. */ - if(H5I_register_type(H5I_GENPROP_CLS, (size_t)H5I_GENPROPCLS_HASHSIZE, 0, (H5I_free_t)H5P_close_class) < 0) + if(H5I_register_type(H5I_GENPROPCLS_CLS) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize ID group") - if(H5I_register_type(H5I_GENPROP_LST, (size_t)H5I_GENPROPOBJ_HASHSIZE, 0, (H5I_free_t)H5P_close) < 0) + if(H5I_register_type(H5I_GENPROPLST_CLS) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize ID group") /* Repeatedly pass over the list of property list classes for the library, @@ -2314,9 +2334,13 @@ H5P_insert(H5P_genplist_t *plist, const char *name, size_t size, /* Check if the property has been deleted */ if(NULL != H5SL_search(plist->del, name)) { + char *temp_name = NULL; /* Remove the property name from the deleted property skip list */ - if(NULL == H5SL_remove(plist->del, name)) + if(NULL == (temp_name = H5SL_remove(plist->del, name))) HGOTO_ERROR(H5E_PLIST,H5E_CANTDELETE,FAIL,"can't remove property from deleted skip list") + + /* free the name of the removed property */ + H5MM_xfree(temp_name); } /* end if */ else { H5P_genclass_t *tclass; /* Temporary class pointer */ diff --git a/src/H5R.c b/src/H5R.c index 65ac7da..8fac4bf 100644 --- a/src/H5R.c +++ b/src/H5R.c @@ -13,12 +13,19 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +/****************/ +/* Module Setup */ +/****************/ + #define H5R_PACKAGE /*suppress error about including H5Rpkg */ /* Interface initialization */ #define H5_INTERFACE_INIT_FUNC H5R_init_interface +/***********/ +/* Headers */ +/***********/ #include "H5private.h" /* Generic Functions */ #include "H5ACprivate.h" /* Metadata cache */ #include "H5Dprivate.h" /* Datasets */ @@ -30,18 +37,52 @@ #include "H5Rpkg.h" /* References */ #include "H5Sprivate.h" /* Dataspaces */ -/* Local macro definitions */ -/* Number of reserved IDs in ID group */ -#define H5R_RESERVED_ATOMS 0 +/****************/ +/* Local Macros */ +/****************/ + + +/******************/ +/* Local Typedefs */ +/******************/ + + +/********************/ +/* Local Prototypes */ +/********************/ -/* Static functions */ static herr_t H5R_create(void *ref, H5G_loc_t *loc, const char *name, H5R_type_t ref_type, H5S_t *space, hid_t dxpl_id); static H5S_t * H5R_get_region(H5F_t *file, hid_t dxpl_id, const void *_ref); static ssize_t H5R_get_name(H5F_t *file, hid_t lapl_id, hid_t dxpl_id, hid_t id, H5R_type_t ref_type, const void *_ref, char *name, size_t size); + +/*********************/ +/* Package Variables */ +/*********************/ + + +/*****************************/ +/* Library Private Variables */ +/*****************************/ + + +/*******************/ +/* Local Variables */ +/*******************/ + +/* Reference ID class */ +static const H5I_class_t H5I_REFERENCE_CLS[1] = {{ + H5I_REFERENCE, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 0, /* # of reserved IDs for class */ + NULL /* Callback routine for closing objects of this class */ +}}; + + /*------------------------------------------------------------------------- * Function: H5R_init @@ -89,7 +130,7 @@ H5R_init_interface(void) FUNC_ENTER_NOAPI_NOINIT /* Initialize the atom group for the file IDs */ - if(H5I_register_type(H5I_REFERENCE, (size_t)H5I_REFID_HASHSIZE, H5R_RESERVED_ATOMS, (H5I_free_t)NULL) < 0) + if(H5I_register_type(H5I_REFERENCE_CLS) < 0) HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable to initialize interface"); done: @@ -545,7 +586,7 @@ H5Rdereference2(hid_t obj_id, hid_t oapl_id, H5R_type_t ref_type, const void *_r /* Create reference */ if((ret_value = H5R_dereference(file, oapl_id, H5AC_dxpl_id, ref_type, _ref, TRUE)) < 0) - HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable dereference object") + HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable to dereference object") done: FUNC_LEAVE_API(ret_value) diff --git a/src/H5S.c b/src/H5S.c index 5d99066..7ef1da4 100644 --- a/src/H5S.c +++ b/src/H5S.c @@ -13,12 +13,19 @@ * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +/****************/ +/* Module Setup */ +/****************/ + #define H5S_PACKAGE /*suppress error about including H5Spkg */ /* Interface initialization */ #define H5_INTERFACE_INIT_FUNC H5S_init_interface +/***********/ +/* Headers */ +/***********/ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5Fprivate.h" /* Files */ @@ -28,26 +35,48 @@ #include "H5Oprivate.h" /* Object headers */ #include "H5Spkg.h" /* Dataspaces */ -/* Local macro definitions */ -/* Number of reserved IDs in ID group */ -#define H5S_RESERVED_ATOMS 2 +/****************/ +/* Local Macros */ +/****************/ /* Version of datatype encoding */ #define H5S_ENCODE_VERSION 0 -/* Local static function prototypes */ + +/******************/ +/* Local Typedefs */ +/******************/ + + +/********************/ +/* Local Prototypes */ +/********************/ static herr_t H5S_set_extent_simple (H5S_t *space, unsigned rank, const hsize_t *dims, const hsize_t *max); static htri_t H5S_is_simple(const H5S_t *sdim); static herr_t H5S_encode(H5S_t *obj, unsigned char *buf, size_t *nalloc); static H5S_t *H5S_decode(const unsigned char *buf); + +/*********************/ +/* Package Variables */ +/*********************/ + + +/*****************************/ +/* Library Private Variables */ +/*****************************/ #ifdef H5_HAVE_PARALLEL /* Global vars whose value can be set from environment variable also */ hbool_t H5S_mpi_opt_types_g = TRUE; #endif /* H5_HAVE_PARALLEL */ + +/*******************/ +/* Local Variables */ +/*******************/ + /* Declare a free list to manage the H5S_extent_t struct */ H5FL_DEFINE(H5S_extent_t); @@ -57,6 +86,16 @@ H5FL_DEFINE(H5S_t); /* Declare a free list to manage the array's of hsize_t's */ H5FL_ARR_DEFINE(hsize_t,H5S_MAX_RANK); +/* Dataspace ID class */ +static const H5I_class_t H5I_DATASPACE_CLS[1] = {{ + H5I_DATASPACE, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 2, /* # of reserved IDs for class */ + (H5I_free_t)H5S_close /* Callback routine for closing objects of this class */ +}}; + + /*-------------------------------------------------------------------------- NAME @@ -78,7 +117,7 @@ H5S_init_interface(void) FUNC_ENTER_NOAPI_NOINIT /* Initialize the atom group for the file IDs */ - if(H5I_register_type(H5I_DATASPACE, (size_t)H5I_DATASPACEID_HASHSIZE, H5S_RESERVED_ATOMS, (H5I_free_t)H5S_close) < 0) + if(H5I_register_type(H5I_DATASPACE_CLS) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINIT, FAIL, "unable to initialize interface") #ifdef H5_HAVE_PARALLEL diff --git a/src/H5Smpio.c b/src/H5Smpio.c index 7cd4c31..868a00f 100644 --- a/src/H5Smpio.c +++ b/src/H5Smpio.c @@ -583,6 +583,7 @@ H5S_obtain_datatype(const hsize_t *down, H5S_hyper_span_t *span, blocklen = tmp_blocklen; if(NULL == (tmp_inner_type = (MPI_Datatype *)H5MM_realloc(inner_type, alloc_count * sizeof(MPI_Datatype)))) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTALLOC, FAIL, "can't allocate array of inner MPI datatypes") + inner_type = tmp_inner_type; } /* end if */ /* Displacement should be in byte and should have dimension information */ diff --git a/src/H5T.c b/src/H5T.c index 5786523..cee62b9 100644 --- a/src/H5T.c +++ b/src/H5T.c @@ -51,232 +51,11 @@ #include #endif /* H5_HAVE_SYS_FPU_H */ -/* - * Predefined data types. These are initialized at runtime in H5Tinit.c and - * by H5T_init_interface() in this source file. - * - * If more of these are added, the new ones must be added to the list of - * types to reset in H5T_term_interface(). - */ -hid_t H5T_IEEE_F32BE_g = FAIL; -hid_t H5T_IEEE_F32LE_g = FAIL; -hid_t H5T_IEEE_F64BE_g = FAIL; -hid_t H5T_IEEE_F64LE_g = FAIL; - -hid_t H5T_VAX_F32_g = FAIL; -hid_t H5T_VAX_F64_g = FAIL; - -hid_t H5T_STD_I8BE_g = FAIL; -hid_t H5T_STD_I8LE_g = FAIL; -hid_t H5T_STD_I16BE_g = FAIL; -hid_t H5T_STD_I16LE_g = FAIL; -hid_t H5T_STD_I32BE_g = FAIL; -hid_t H5T_STD_I32LE_g = FAIL; -hid_t H5T_STD_I64BE_g = FAIL; -hid_t H5T_STD_I64LE_g = FAIL; -hid_t H5T_STD_U8BE_g = FAIL; -hid_t H5T_STD_U8LE_g = FAIL; -hid_t H5T_STD_U16BE_g = FAIL; -hid_t H5T_STD_U16LE_g = FAIL; -hid_t H5T_STD_U32BE_g = FAIL; -hid_t H5T_STD_U32LE_g = FAIL; -hid_t H5T_STD_U64BE_g = FAIL; -hid_t H5T_STD_U64LE_g = FAIL; -hid_t H5T_STD_B8BE_g = FAIL; -hid_t H5T_STD_B8LE_g = FAIL; -hid_t H5T_STD_B16BE_g = FAIL; -hid_t H5T_STD_B16LE_g = FAIL; -hid_t H5T_STD_B32BE_g = FAIL; -hid_t H5T_STD_B32LE_g = FAIL; -hid_t H5T_STD_B64BE_g = FAIL; -hid_t H5T_STD_B64LE_g = FAIL; -hid_t H5T_STD_REF_OBJ_g = FAIL; -hid_t H5T_STD_REF_DSETREG_g = FAIL; - -hid_t H5T_UNIX_D32BE_g = FAIL; -hid_t H5T_UNIX_D32LE_g = FAIL; -hid_t H5T_UNIX_D64BE_g = FAIL; -hid_t H5T_UNIX_D64LE_g = FAIL; - -hid_t H5T_C_S1_g = FAIL; - -hid_t H5T_FORTRAN_S1_g = FAIL; - -hid_t H5T_NATIVE_SCHAR_g = FAIL; -hid_t H5T_NATIVE_UCHAR_g = FAIL; -hid_t H5T_NATIVE_SHORT_g = FAIL; -hid_t H5T_NATIVE_USHORT_g = FAIL; -hid_t H5T_NATIVE_INT_g = FAIL; -hid_t H5T_NATIVE_UINT_g = FAIL; -hid_t H5T_NATIVE_LONG_g = FAIL; -hid_t H5T_NATIVE_ULONG_g = FAIL; -hid_t H5T_NATIVE_LLONG_g = FAIL; -hid_t H5T_NATIVE_ULLONG_g = FAIL; -hid_t H5T_NATIVE_FLOAT_g = FAIL; -hid_t H5T_NATIVE_DOUBLE_g = FAIL; -#if H5_SIZEOF_LONG_DOUBLE !=0 -hid_t H5T_NATIVE_LDOUBLE_g = FAIL; -#endif -hid_t H5T_NATIVE_B8_g = FAIL; -hid_t H5T_NATIVE_B16_g = FAIL; -hid_t H5T_NATIVE_B32_g = FAIL; -hid_t H5T_NATIVE_B64_g = FAIL; -hid_t H5T_NATIVE_OPAQUE_g = FAIL; -hid_t H5T_NATIVE_HADDR_g = FAIL; -hid_t H5T_NATIVE_HSIZE_g = FAIL; -hid_t H5T_NATIVE_HSSIZE_g = FAIL; -hid_t H5T_NATIVE_HERR_g = FAIL; -hid_t H5T_NATIVE_HBOOL_g = FAIL; - -hid_t H5T_NATIVE_INT8_g = FAIL; -hid_t H5T_NATIVE_UINT8_g = FAIL; -hid_t H5T_NATIVE_INT_LEAST8_g = FAIL; -hid_t H5T_NATIVE_UINT_LEAST8_g = FAIL; -hid_t H5T_NATIVE_INT_FAST8_g = FAIL; -hid_t H5T_NATIVE_UINT_FAST8_g = FAIL; - -hid_t H5T_NATIVE_INT16_g = FAIL; -hid_t H5T_NATIVE_UINT16_g = FAIL; -hid_t H5T_NATIVE_INT_LEAST16_g = FAIL; -hid_t H5T_NATIVE_UINT_LEAST16_g = FAIL; -hid_t H5T_NATIVE_INT_FAST16_g = FAIL; -hid_t H5T_NATIVE_UINT_FAST16_g = FAIL; - -hid_t H5T_NATIVE_INT32_g = FAIL; -hid_t H5T_NATIVE_UINT32_g = FAIL; -hid_t H5T_NATIVE_INT_LEAST32_g = FAIL; -hid_t H5T_NATIVE_UINT_LEAST32_g = FAIL; -hid_t H5T_NATIVE_INT_FAST32_g = FAIL; -hid_t H5T_NATIVE_UINT_FAST32_g = FAIL; - -hid_t H5T_NATIVE_INT64_g = FAIL; -hid_t H5T_NATIVE_UINT64_g = FAIL; -hid_t H5T_NATIVE_INT_LEAST64_g = FAIL; -hid_t H5T_NATIVE_UINT_LEAST64_g = FAIL; -hid_t H5T_NATIVE_INT_FAST64_g = FAIL; -hid_t H5T_NATIVE_UINT_FAST64_g = FAIL; - -/* - * Alignment constraints for native types. These are initialized at run time - * in H5Tinit.c. These alignments are mainly for offsets in HDF5 compound - * datatype or C structures, which are different from the alignments for memory - * address below this group of variables. - */ -size_t H5T_NATIVE_SCHAR_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_UCHAR_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_SHORT_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_USHORT_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_INT_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_LONG_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_ULONG_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_LLONG_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_ULLONG_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_FLOAT_COMP_ALIGN_g = 0; -size_t H5T_NATIVE_DOUBLE_COMP_ALIGN_g = 0; -#if H5_SIZEOF_LONG_DOUBLE !=0 -size_t H5T_NATIVE_LDOUBLE_COMP_ALIGN_g = 0; -#endif - -size_t H5T_POINTER_COMP_ALIGN_g = 0; -size_t H5T_HVL_COMP_ALIGN_g = 0; -size_t H5T_HOBJREF_COMP_ALIGN_g = 0; -size_t H5T_HDSETREGREF_COMP_ALIGN_g = 0; - -/* - * Alignment constraints for native types. These are initialized at run time - * in H5Tinit.c - */ -size_t H5T_NATIVE_SCHAR_ALIGN_g = 0; -size_t H5T_NATIVE_UCHAR_ALIGN_g = 0; -size_t H5T_NATIVE_SHORT_ALIGN_g = 0; -size_t H5T_NATIVE_USHORT_ALIGN_g = 0; -size_t H5T_NATIVE_INT_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_ALIGN_g = 0; -size_t H5T_NATIVE_LONG_ALIGN_g = 0; -size_t H5T_NATIVE_ULONG_ALIGN_g = 0; -size_t H5T_NATIVE_LLONG_ALIGN_g = 0; -size_t H5T_NATIVE_ULLONG_ALIGN_g = 0; -size_t H5T_NATIVE_FLOAT_ALIGN_g = 0; -size_t H5T_NATIVE_DOUBLE_ALIGN_g = 0; -#if H5_SIZEOF_LONG_DOUBLE !=0 -size_t H5T_NATIVE_LDOUBLE_ALIGN_g = 0; -#endif - -/* - * Alignment constraints for C9x types. These are initialized at run time in - * H5Tinit.c if the types are provided by the system. Otherwise we set their - * values to 0 here (no alignment calculated). - */ -size_t H5T_NATIVE_INT8_ALIGN_g = 0; -size_t H5T_NATIVE_UINT8_ALIGN_g = 0; -size_t H5T_NATIVE_INT_LEAST8_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_LEAST8_ALIGN_g = 0; -size_t H5T_NATIVE_INT_FAST8_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_FAST8_ALIGN_g = 0; - -size_t H5T_NATIVE_INT16_ALIGN_g = 0; -size_t H5T_NATIVE_UINT16_ALIGN_g = 0; -size_t H5T_NATIVE_INT_LEAST16_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_LEAST16_ALIGN_g = 0; -size_t H5T_NATIVE_INT_FAST16_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_FAST16_ALIGN_g = 0; - -size_t H5T_NATIVE_INT32_ALIGN_g = 0; -size_t H5T_NATIVE_UINT32_ALIGN_g = 0; -size_t H5T_NATIVE_INT_LEAST32_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_LEAST32_ALIGN_g = 0; -size_t H5T_NATIVE_INT_FAST32_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_FAST32_ALIGN_g = 0; - -size_t H5T_NATIVE_INT64_ALIGN_g = 0; -size_t H5T_NATIVE_UINT64_ALIGN_g = 0; -size_t H5T_NATIVE_INT_LEAST64_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_LEAST64_ALIGN_g = 0; -size_t H5T_NATIVE_INT_FAST64_ALIGN_g = 0; -size_t H5T_NATIVE_UINT_FAST64_ALIGN_g = 0; - -/* Useful floating-point values for conversion routines */ -/* (+/- Inf for all floating-point types) */ -float H5T_NATIVE_FLOAT_POS_INF_g = 0.0; -float H5T_NATIVE_FLOAT_NEG_INF_g = 0.0; -double H5T_NATIVE_DOUBLE_POS_INF_g = 0.0; -double H5T_NATIVE_DOUBLE_NEG_INF_g = 0.0; - - -/* - * The path database. Each path has a source and destination data type pair - * which is used as the key by which the `entries' array is sorted. - */ -static struct { - int npaths; /*number of paths defined */ - size_t apaths; /*number of paths allocated */ - H5T_path_t **path; /*sorted array of path pointers */ - int nsoft; /*number of soft conversions defined */ - size_t asoft; /*number of soft conversions allocated */ - H5T_soft_t *soft; /*unsorted array of soft conversions */ -} H5T_g; - -/* The native endianess of the platform */ -H5T_order_t H5T_native_order_g = H5T_ORDER_ERROR; -/* Declare the free list for H5T_t's and H5T_shared_t's */ -H5FL_DEFINE(H5T_t); -H5FL_DEFINE(H5T_shared_t); - -/* Declare the free list for H5T_path_t's */ -H5FL_DEFINE(H5T_path_t); - -/* Static local functions */ -static herr_t H5T_unregister(H5T_pers_t pers, const char *name, H5T_t *src, - H5T_t *dst, H5T_conv_t func, hid_t dxpl_id); -static herr_t H5T_register(H5T_pers_t pers, const char *name, H5T_t *src, - H5T_t *dst, H5T_conv_t func, hid_t dxpl_id, hbool_t api_call); -static htri_t H5T_compiler_conv(H5T_t *src, H5T_t *dst); -static herr_t H5T_encode(H5T_t *obj, unsigned char *buf, size_t *nalloc); -static H5T_t *H5T_decode(const unsigned char *buf); +/****************/ +/* Local Macros */ +/****************/ -/* Local macro definitions */ #define H5T_ENCODE_VERSION 0 /* @@ -478,7 +257,7 @@ static H5T_t *H5T_decode(const unsigned char *buf); #define H5T_INIT_TYPE_ALLOC_CREATE(BASE) { \ /* Allocate new datatype info */ \ - if(NULL == (dt = H5T_alloc())) \ + if(NULL == (dt = H5T__alloc())) \ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, FAIL, "memory allocation failed") \ } @@ -499,6 +278,264 @@ static H5T_t *H5T_decode(const unsigned char *buf); HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom") \ } + +/******************/ +/* Local Typedefs */ +/******************/ + + +/********************/ +/* Local Prototypes */ +/********************/ +static herr_t H5T_unregister(H5T_pers_t pers, const char *name, H5T_t *src, + H5T_t *dst, H5T_conv_t func, hid_t dxpl_id); +static herr_t H5T_register(H5T_pers_t pers, const char *name, H5T_t *src, + H5T_t *dst, H5T_conv_t func, hid_t dxpl_id, hbool_t api_call); +static htri_t H5T_compiler_conv(H5T_t *src, H5T_t *dst); +static herr_t H5T_encode(H5T_t *obj, unsigned char *buf, size_t *nalloc); +static H5T_t *H5T_decode(const unsigned char *buf); +static herr_t H5T_set_size(H5T_t *dt, size_t size); + + +/*****************************/ +/* Library Private Variables */ +/*****************************/ + +/* The native endianess of the platform */ +H5T_order_t H5T_native_order_g = H5T_ORDER_ERROR; + + +/*********************/ +/* Package Variables */ +/*********************/ + +/* + * Predefined data types. These are initialized at runtime in H5Tinit.c and + * by H5T_init_interface() in this source file. + * + * If more of these are added, the new ones must be added to the list of + * types to reset in H5T_term_interface(). + */ +hid_t H5T_IEEE_F32BE_g = FAIL; +hid_t H5T_IEEE_F32LE_g = FAIL; +hid_t H5T_IEEE_F64BE_g = FAIL; +hid_t H5T_IEEE_F64LE_g = FAIL; + +hid_t H5T_VAX_F32_g = FAIL; +hid_t H5T_VAX_F64_g = FAIL; + +hid_t H5T_STD_I8BE_g = FAIL; +hid_t H5T_STD_I8LE_g = FAIL; +hid_t H5T_STD_I16BE_g = FAIL; +hid_t H5T_STD_I16LE_g = FAIL; +hid_t H5T_STD_I32BE_g = FAIL; +hid_t H5T_STD_I32LE_g = FAIL; +hid_t H5T_STD_I64BE_g = FAIL; +hid_t H5T_STD_I64LE_g = FAIL; +hid_t H5T_STD_U8BE_g = FAIL; +hid_t H5T_STD_U8LE_g = FAIL; +hid_t H5T_STD_U16BE_g = FAIL; +hid_t H5T_STD_U16LE_g = FAIL; +hid_t H5T_STD_U32BE_g = FAIL; +hid_t H5T_STD_U32LE_g = FAIL; +hid_t H5T_STD_U64BE_g = FAIL; +hid_t H5T_STD_U64LE_g = FAIL; +hid_t H5T_STD_B8BE_g = FAIL; +hid_t H5T_STD_B8LE_g = FAIL; +hid_t H5T_STD_B16BE_g = FAIL; +hid_t H5T_STD_B16LE_g = FAIL; +hid_t H5T_STD_B32BE_g = FAIL; +hid_t H5T_STD_B32LE_g = FAIL; +hid_t H5T_STD_B64BE_g = FAIL; +hid_t H5T_STD_B64LE_g = FAIL; +hid_t H5T_STD_REF_OBJ_g = FAIL; +hid_t H5T_STD_REF_DSETREG_g = FAIL; + +hid_t H5T_UNIX_D32BE_g = FAIL; +hid_t H5T_UNIX_D32LE_g = FAIL; +hid_t H5T_UNIX_D64BE_g = FAIL; +hid_t H5T_UNIX_D64LE_g = FAIL; + +hid_t H5T_C_S1_g = FAIL; + +hid_t H5T_FORTRAN_S1_g = FAIL; + +hid_t H5T_NATIVE_SCHAR_g = FAIL; +hid_t H5T_NATIVE_UCHAR_g = FAIL; +hid_t H5T_NATIVE_SHORT_g = FAIL; +hid_t H5T_NATIVE_USHORT_g = FAIL; +hid_t H5T_NATIVE_INT_g = FAIL; +hid_t H5T_NATIVE_UINT_g = FAIL; +hid_t H5T_NATIVE_LONG_g = FAIL; +hid_t H5T_NATIVE_ULONG_g = FAIL; +hid_t H5T_NATIVE_LLONG_g = FAIL; +hid_t H5T_NATIVE_ULLONG_g = FAIL; +hid_t H5T_NATIVE_FLOAT_g = FAIL; +hid_t H5T_NATIVE_DOUBLE_g = FAIL; +#if H5_SIZEOF_LONG_DOUBLE !=0 +hid_t H5T_NATIVE_LDOUBLE_g = FAIL; +#endif +hid_t H5T_NATIVE_B8_g = FAIL; +hid_t H5T_NATIVE_B16_g = FAIL; +hid_t H5T_NATIVE_B32_g = FAIL; +hid_t H5T_NATIVE_B64_g = FAIL; +hid_t H5T_NATIVE_OPAQUE_g = FAIL; +hid_t H5T_NATIVE_HADDR_g = FAIL; +hid_t H5T_NATIVE_HSIZE_g = FAIL; +hid_t H5T_NATIVE_HSSIZE_g = FAIL; +hid_t H5T_NATIVE_HERR_g = FAIL; +hid_t H5T_NATIVE_HBOOL_g = FAIL; + +hid_t H5T_NATIVE_INT8_g = FAIL; +hid_t H5T_NATIVE_UINT8_g = FAIL; +hid_t H5T_NATIVE_INT_LEAST8_g = FAIL; +hid_t H5T_NATIVE_UINT_LEAST8_g = FAIL; +hid_t H5T_NATIVE_INT_FAST8_g = FAIL; +hid_t H5T_NATIVE_UINT_FAST8_g = FAIL; + +hid_t H5T_NATIVE_INT16_g = FAIL; +hid_t H5T_NATIVE_UINT16_g = FAIL; +hid_t H5T_NATIVE_INT_LEAST16_g = FAIL; +hid_t H5T_NATIVE_UINT_LEAST16_g = FAIL; +hid_t H5T_NATIVE_INT_FAST16_g = FAIL; +hid_t H5T_NATIVE_UINT_FAST16_g = FAIL; + +hid_t H5T_NATIVE_INT32_g = FAIL; +hid_t H5T_NATIVE_UINT32_g = FAIL; +hid_t H5T_NATIVE_INT_LEAST32_g = FAIL; +hid_t H5T_NATIVE_UINT_LEAST32_g = FAIL; +hid_t H5T_NATIVE_INT_FAST32_g = FAIL; +hid_t H5T_NATIVE_UINT_FAST32_g = FAIL; + +hid_t H5T_NATIVE_INT64_g = FAIL; +hid_t H5T_NATIVE_UINT64_g = FAIL; +hid_t H5T_NATIVE_INT_LEAST64_g = FAIL; +hid_t H5T_NATIVE_UINT_LEAST64_g = FAIL; +hid_t H5T_NATIVE_INT_FAST64_g = FAIL; +hid_t H5T_NATIVE_UINT_FAST64_g = FAIL; + +/* + * Alignment constraints for native types. These are initialized at run time + * in H5Tinit.c. These alignments are mainly for offsets in HDF5 compound + * datatype or C structures, which are different from the alignments for memory + * address below this group of variables. + */ +size_t H5T_NATIVE_SCHAR_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_UCHAR_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_SHORT_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_USHORT_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_INT_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_LONG_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_ULONG_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_LLONG_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_ULLONG_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_FLOAT_COMP_ALIGN_g = 0; +size_t H5T_NATIVE_DOUBLE_COMP_ALIGN_g = 0; +#if H5_SIZEOF_LONG_DOUBLE !=0 +size_t H5T_NATIVE_LDOUBLE_COMP_ALIGN_g = 0; +#endif + +size_t H5T_POINTER_COMP_ALIGN_g = 0; +size_t H5T_HVL_COMP_ALIGN_g = 0; +size_t H5T_HOBJREF_COMP_ALIGN_g = 0; +size_t H5T_HDSETREGREF_COMP_ALIGN_g = 0; + +/* + * Alignment constraints for native types. These are initialized at run time + * in H5Tinit.c + */ +size_t H5T_NATIVE_SCHAR_ALIGN_g = 0; +size_t H5T_NATIVE_UCHAR_ALIGN_g = 0; +size_t H5T_NATIVE_SHORT_ALIGN_g = 0; +size_t H5T_NATIVE_USHORT_ALIGN_g = 0; +size_t H5T_NATIVE_INT_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_ALIGN_g = 0; +size_t H5T_NATIVE_LONG_ALIGN_g = 0; +size_t H5T_NATIVE_ULONG_ALIGN_g = 0; +size_t H5T_NATIVE_LLONG_ALIGN_g = 0; +size_t H5T_NATIVE_ULLONG_ALIGN_g = 0; +size_t H5T_NATIVE_FLOAT_ALIGN_g = 0; +size_t H5T_NATIVE_DOUBLE_ALIGN_g = 0; +#if H5_SIZEOF_LONG_DOUBLE !=0 +size_t H5T_NATIVE_LDOUBLE_ALIGN_g = 0; +#endif + +/* + * Alignment constraints for C9x types. These are initialized at run time in + * H5Tinit.c if the types are provided by the system. Otherwise we set their + * values to 0 here (no alignment calculated). + */ +size_t H5T_NATIVE_INT8_ALIGN_g = 0; +size_t H5T_NATIVE_UINT8_ALIGN_g = 0; +size_t H5T_NATIVE_INT_LEAST8_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_LEAST8_ALIGN_g = 0; +size_t H5T_NATIVE_INT_FAST8_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_FAST8_ALIGN_g = 0; + +size_t H5T_NATIVE_INT16_ALIGN_g = 0; +size_t H5T_NATIVE_UINT16_ALIGN_g = 0; +size_t H5T_NATIVE_INT_LEAST16_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_LEAST16_ALIGN_g = 0; +size_t H5T_NATIVE_INT_FAST16_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_FAST16_ALIGN_g = 0; + +size_t H5T_NATIVE_INT32_ALIGN_g = 0; +size_t H5T_NATIVE_UINT32_ALIGN_g = 0; +size_t H5T_NATIVE_INT_LEAST32_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_LEAST32_ALIGN_g = 0; +size_t H5T_NATIVE_INT_FAST32_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_FAST32_ALIGN_g = 0; + +size_t H5T_NATIVE_INT64_ALIGN_g = 0; +size_t H5T_NATIVE_UINT64_ALIGN_g = 0; +size_t H5T_NATIVE_INT_LEAST64_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_LEAST64_ALIGN_g = 0; +size_t H5T_NATIVE_INT_FAST64_ALIGN_g = 0; +size_t H5T_NATIVE_UINT_FAST64_ALIGN_g = 0; + +/* Useful floating-point values for conversion routines */ +/* (+/- Inf for all floating-point types) */ +float H5T_NATIVE_FLOAT_POS_INF_g = 0.0; +float H5T_NATIVE_FLOAT_NEG_INF_g = 0.0; +double H5T_NATIVE_DOUBLE_POS_INF_g = 0.0; +double H5T_NATIVE_DOUBLE_NEG_INF_g = 0.0; + +/* Declare the free list for H5T_t's and H5T_shared_t's */ +H5FL_DEFINE(H5T_t); +H5FL_DEFINE(H5T_shared_t); + + +/*******************/ +/* Local Variables */ +/*******************/ + +/* + * The path database. Each path has a source and destination data type pair + * which is used as the key by which the `entries' array is sorted. + */ +static struct { + int npaths; /*number of paths defined */ + size_t apaths; /*number of paths allocated */ + H5T_path_t **path; /*sorted array of path pointers */ + int nsoft; /*number of soft conversions defined */ + size_t asoft; /*number of soft conversions allocated */ + H5T_soft_t *soft; /*unsorted array of soft conversions */ +} H5T_g; + +/* Declare the free list for H5T_path_t's */ +H5FL_DEFINE_STATIC(H5T_path_t); + +/* Datatype ID class */ +static const H5I_class_t H5I_DATATYPE_CLS[1] = {{ + H5I_DATATYPE, /* ID class value */ + 0, /* Class flags */ + 64, /* Minimum hash size for class */ + 8, /* # of reserved IDs for class */ + (H5I_free_t)H5T_close /* Callback routine for closing objects of this class */ +}}; + + /*------------------------------------------------------------------------- * Function: H5T_init @@ -569,9 +606,9 @@ H5T_init_inf(void) /* +Inf */ d = (uint8_t *)&H5T_NATIVE_FLOAT_POS_INF_g; - H5T_bit_set(d, dst->u.f.sign, (size_t)1, FALSE); - H5T_bit_set(d, dst->u.f.epos, dst->u.f.esize, TRUE); - H5T_bit_set(d, dst->u.f.mpos, dst->u.f.msize, FALSE); + H5T__bit_set(d, dst->u.f.sign, (size_t)1, FALSE); + H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, TRUE); + H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, FALSE); /* Swap the bytes if the machine architecture is big-endian */ if (H5T_ORDER_BE == H5T_native_order_g) { @@ -585,9 +622,9 @@ H5T_init_inf(void) /* -Inf */ d = (uint8_t *)&H5T_NATIVE_FLOAT_NEG_INF_g; - H5T_bit_set(d, dst->u.f.sign, (size_t)1, TRUE); - H5T_bit_set(d, dst->u.f.epos, dst->u.f.esize, TRUE); - H5T_bit_set(d, dst->u.f.mpos, dst->u.f.msize, FALSE); + H5T__bit_set(d, dst->u.f.sign, (size_t)1, TRUE); + H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, TRUE); + H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, FALSE); /* Swap the bytes if the machine architecture is big-endian */ if(H5T_ORDER_BE == H5T_native_order_g) { @@ -610,9 +647,9 @@ H5T_init_inf(void) /* +Inf */ d = (uint8_t *)&H5T_NATIVE_DOUBLE_POS_INF_g; - H5T_bit_set(d, dst->u.f.sign, (size_t)1, FALSE); - H5T_bit_set(d, dst->u.f.epos, dst->u.f.esize, TRUE); - H5T_bit_set(d, dst->u.f.mpos, dst->u.f.msize, FALSE); + H5T__bit_set(d, dst->u.f.sign, (size_t)1, FALSE); + H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, TRUE); + H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, FALSE); /* Swap the bytes if the machine architecture is big-endian */ if(H5T_ORDER_BE == H5T_native_order_g) { @@ -626,9 +663,9 @@ H5T_init_inf(void) /* -Inf */ d = (uint8_t *)&H5T_NATIVE_DOUBLE_NEG_INF_g; - H5T_bit_set(d, dst->u.f.sign, (size_t)1, TRUE); - H5T_bit_set(d, dst->u.f.epos, dst->u.f.esize, TRUE); - H5T_bit_set(d, dst->u.f.mpos, dst->u.f.msize, FALSE); + H5T__bit_set(d, dst->u.f.sign, (size_t)1, TRUE); + H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, TRUE); + H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, FALSE); /* Swap the bytes if the machine architecture is big-endian */ if(H5T_ORDER_BE == H5T_native_order_g) { @@ -742,7 +779,7 @@ H5T_init_interface(void) FUNC_ENTER_NOAPI_NOINIT /* Initialize the atom group for the file IDs */ - if(H5I_register_type(H5I_DATATYPE, (size_t)H5I_DATATYPEID_HASHSIZE, H5T_RESERVED_ATOMS, (H5I_free_t)H5T_close)<0) + if(H5I_register_type(H5I_DATATYPE_CLS) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to initialize interface") /* Make certain there aren't too many classes of datatypes defined */ @@ -1002,32 +1039,32 @@ H5T_init_interface(void) */ fixedpt = native_int; floatpt = native_float; - if (NULL == (compound = H5T_create(H5T_COMPOUND, (size_t)1))) + if (NULL == (compound = H5T__create(H5T_COMPOUND, (size_t)1))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype") - if (NULL == (enum_type = H5T_create(H5T_ENUM, (size_t)1))) + if (NULL == (enum_type = H5T__create(H5T_ENUM, (size_t)1))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype") - if (NULL == (vlen = H5T_vlen_create(native_int))) + if (NULL == (vlen = H5T__vlen_create(native_int))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype") - if (NULL == (array = H5T_array_create(native_int, 1, dim))) + if (NULL == (array = H5T__array_create(native_int, 1, dim))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype") status = 0; - status |= H5T_register(H5T_PERS_SOFT, "i_i", fixedpt, fixedpt, H5T_conv_i_i, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "i_f", fixedpt, floatpt, H5T_conv_i_f, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "f_f", floatpt, floatpt, H5T_conv_f_f, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "f_i", floatpt, fixedpt, H5T_conv_f_i, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "s_s", string, string, H5T_conv_s_s, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "b_b", bitfield, bitfield, H5T_conv_b_b, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "ibo", fixedpt, fixedpt, H5T_conv_order, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "ibo(opt)", fixedpt, fixedpt, H5T_conv_order_opt, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "fbo", floatpt, floatpt, H5T_conv_order, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "fbo(opt)", floatpt, floatpt, H5T_conv_order_opt, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "struct(no-opt)", compound, compound, H5T_conv_struct, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "struct(opt)", compound, compound, H5T_conv_struct_opt, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "enum", enum_type, enum_type, H5T_conv_enum, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "vlen", vlen, vlen, H5T_conv_vlen, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "array", array, array, H5T_conv_array, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_SOFT, "objref", objref, objref, H5T_conv_order_opt, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "i_i", fixedpt, fixedpt, H5T__conv_i_i, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "i_f", fixedpt, floatpt, H5T__conv_i_f, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "f_f", floatpt, floatpt, H5T__conv_f_f, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "f_i", floatpt, fixedpt, H5T__conv_f_i, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "s_s", string, string, H5T__conv_s_s, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "b_b", bitfield, bitfield, H5T__conv_b_b, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "ibo", fixedpt, fixedpt, H5T__conv_order, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "ibo(opt)", fixedpt, fixedpt, H5T__conv_order_opt, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "fbo", floatpt, floatpt, H5T__conv_order, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "fbo(opt)", floatpt, floatpt, H5T__conv_order_opt, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "struct(no-opt)", compound, compound, H5T__conv_struct, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "struct(opt)", compound, compound, H5T__conv_struct_opt, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "enum", enum_type, enum_type, H5T__conv_enum, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "vlen", vlen, vlen, H5T__conv_vlen, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "array", array, array, H5T__conv_array, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_SOFT, "objref", objref, objref, H5T__conv_order_opt, H5AC_dxpl_id, FALSE); /* * Native conversions should be listed last since we can use hardware to @@ -1039,263 +1076,263 @@ H5T_init_interface(void) /* floating point */ #if H5T_CONV_INTERNAL_FP_FP - status |= H5T_register(H5T_PERS_HARD, "flt_dbl", native_float, native_double, H5T_conv_float_double, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_flt", native_double, native_float, H5T_conv_double_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_dbl", native_float, native_double, H5T__conv_float_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_flt", native_double, native_float, H5T__conv_double_float, H5AC_dxpl_id, FALSE); #endif /*H5T_CONV_INTERNAL_FP_FP*/ #if H5T_CONV_INTERNAL_FP_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "flt_ldbl", native_float, native_ldouble, H5T_conv_float_ldouble, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_ldbl", native_double, native_ldouble, H5T_conv_double_ldouble, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ldbl_flt", native_ldouble, native_float, H5T_conv_ldouble_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ldbl_dbl", native_ldouble, native_double, H5T_conv_ldouble_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_ldbl", native_float, native_ldouble, H5T__conv_float_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_ldbl", native_double, native_ldouble, H5T__conv_double_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_flt", native_ldouble, native_float, H5T__conv_ldouble_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_dbl", native_ldouble, native_double, H5T__conv_ldouble_double, H5AC_dxpl_id, FALSE); #endif /*H5T_CONV_INTERNAL_FP_LDOUBLE*/ /* from long long */ - status |= H5T_register(H5T_PERS_HARD, "llong_ullong", native_llong, native_ullong, H5T_conv_llong_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_llong", native_ullong, native_llong, H5T_conv_ullong_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "llong_long", native_llong, native_long, H5T_conv_llong_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "llong_ulong", native_llong, native_ulong, H5T_conv_llong_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_long", native_ullong, native_long, H5T_conv_ullong_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_ulong", native_ullong, native_ulong, H5T_conv_ullong_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "llong_short", native_llong, native_short, H5T_conv_llong_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "llong_ushort", native_llong, native_ushort, H5T_conv_llong_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_short", native_ullong, native_short, H5T_conv_ullong_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_ushort", native_ullong, native_ushort, H5T_conv_ullong_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "llong_int", native_llong, native_int, H5T_conv_llong_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "llong_uint", native_llong, native_uint, H5T_conv_llong_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_int", native_ullong, native_int, H5T_conv_ullong_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_uint", native_ullong, native_uint, H5T_conv_ullong_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "llong_schar", native_llong, native_schar, H5T_conv_llong_schar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "llong_uchar", native_llong, native_uchar, H5T_conv_llong_uchar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_schar", native_ullong, native_schar, H5T_conv_ullong_schar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_uchar", native_ullong, native_uchar, H5T_conv_ullong_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_ullong", native_llong, native_ullong, H5T__conv_llong_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_llong", native_ullong, native_llong, H5T__conv_ullong_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_long", native_llong, native_long, H5T__conv_llong_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_ulong", native_llong, native_ulong, H5T__conv_llong_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_long", native_ullong, native_long, H5T__conv_ullong_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_ulong", native_ullong, native_ulong, H5T__conv_ullong_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_short", native_llong, native_short, H5T__conv_llong_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_ushort", native_llong, native_ushort, H5T__conv_llong_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_short", native_ullong, native_short, H5T__conv_ullong_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_ushort", native_ullong, native_ushort, H5T__conv_ullong_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_int", native_llong, native_int, H5T__conv_llong_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_uint", native_llong, native_uint, H5T__conv_llong_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_int", native_ullong, native_int, H5T__conv_ullong_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_uint", native_ullong, native_uint, H5T__conv_ullong_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_schar", native_llong, native_schar, H5T__conv_llong_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_uchar", native_llong, native_uchar, H5T__conv_llong_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_schar", native_ullong, native_schar, H5T__conv_ullong_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_uchar", native_ullong, native_uchar, H5T__conv_ullong_uchar, H5AC_dxpl_id, FALSE); /* From long */ - status |= H5T_register(H5T_PERS_HARD, "long_llong", native_long, native_llong, H5T_conv_long_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "long_ullong", native_long, native_ullong, H5T_conv_long_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ulong_llong", native_ulong, native_llong, H5T_conv_ulong_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ulong_ullong", native_ulong, native_ullong, H5T_conv_ulong_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "long_ulong", native_long, native_ulong, H5T_conv_long_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ulong_long", native_ulong, native_long, H5T_conv_ulong_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "long_short", native_long, native_short, H5T_conv_long_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "long_ushort", native_long, native_ushort, H5T_conv_long_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ulong_short", native_ulong, native_short, H5T_conv_ulong_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ulong_ushort", native_ulong, native_ushort, H5T_conv_ulong_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "long_int", native_long, native_int, H5T_conv_long_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "long_uint", native_long, native_uint, H5T_conv_long_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ulong_int", native_ulong, native_int, H5T_conv_ulong_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ulong_uint", native_ulong, native_uint, H5T_conv_ulong_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "long_schar", native_long, native_schar, H5T_conv_long_schar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "long_uchar", native_long, native_uchar, H5T_conv_long_uchar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ulong_schar", native_ulong, native_schar, H5T_conv_ulong_schar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ulong_uchar", native_ulong, native_uchar, H5T_conv_ulong_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_llong", native_long, native_llong, H5T__conv_long_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_ullong", native_long, native_ullong, H5T__conv_long_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_llong", native_ulong, native_llong, H5T__conv_ulong_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_ullong", native_ulong, native_ullong, H5T__conv_ulong_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_ulong", native_long, native_ulong, H5T__conv_long_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_long", native_ulong, native_long, H5T__conv_ulong_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_short", native_long, native_short, H5T__conv_long_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_ushort", native_long, native_ushort, H5T__conv_long_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_short", native_ulong, native_short, H5T__conv_ulong_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_ushort", native_ulong, native_ushort, H5T__conv_ulong_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_int", native_long, native_int, H5T__conv_long_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_uint", native_long, native_uint, H5T__conv_long_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_int", native_ulong, native_int, H5T__conv_ulong_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_uint", native_ulong, native_uint, H5T__conv_ulong_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_schar", native_long, native_schar, H5T__conv_long_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_uchar", native_long, native_uchar, H5T__conv_long_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_schar", native_ulong, native_schar, H5T__conv_ulong_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_uchar", native_ulong, native_uchar, H5T__conv_ulong_uchar, H5AC_dxpl_id, FALSE); /* From short */ - status |= H5T_register(H5T_PERS_HARD, "short_llong", native_short, native_llong, H5T_conv_short_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "short_ullong", native_short, native_ullong, H5T_conv_short_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_llong", native_ushort, native_llong, H5T_conv_ushort_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_ullong", native_ushort, native_ullong, H5T_conv_ushort_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "short_long", native_short, native_long, H5T_conv_short_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "short_ulong", native_short, native_ulong, H5T_conv_short_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_long", native_ushort, native_long, H5T_conv_ushort_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_ulong", native_ushort, native_ulong, H5T_conv_ushort_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "short_ushort", native_short, native_ushort, H5T_conv_short_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_short", native_ushort, native_short, H5T_conv_ushort_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "short_int", native_short, native_int, H5T_conv_short_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "short_uint", native_short, native_uint, H5T_conv_short_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_int", native_ushort, native_int, H5T_conv_ushort_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_uint", native_ushort, native_uint, H5T_conv_ushort_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "short_schar", native_short, native_schar, H5T_conv_short_schar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "short_uchar", native_short, native_uchar, H5T_conv_short_uchar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_schar", native_ushort, native_schar, H5T_conv_ushort_schar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_uchar", native_ushort, native_uchar, H5T_conv_ushort_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_llong", native_short, native_llong, H5T__conv_short_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_ullong", native_short, native_ullong, H5T__conv_short_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_llong", native_ushort, native_llong, H5T__conv_ushort_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_ullong", native_ushort, native_ullong, H5T__conv_ushort_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_long", native_short, native_long, H5T__conv_short_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_ulong", native_short, native_ulong, H5T__conv_short_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_long", native_ushort, native_long, H5T__conv_ushort_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_ulong", native_ushort, native_ulong, H5T__conv_ushort_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_ushort", native_short, native_ushort, H5T__conv_short_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_short", native_ushort, native_short, H5T__conv_ushort_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_int", native_short, native_int, H5T__conv_short_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_uint", native_short, native_uint, H5T__conv_short_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_int", native_ushort, native_int, H5T__conv_ushort_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_uint", native_ushort, native_uint, H5T__conv_ushort_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_schar", native_short, native_schar, H5T__conv_short_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_uchar", native_short, native_uchar, H5T__conv_short_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_schar", native_ushort, native_schar, H5T__conv_ushort_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_uchar", native_ushort, native_uchar, H5T__conv_ushort_uchar, H5AC_dxpl_id, FALSE); /* From int */ - status |= H5T_register(H5T_PERS_HARD, "int_llong", native_int, native_llong, H5T_conv_int_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "int_ullong", native_int, native_ullong, H5T_conv_int_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_llong", native_uint, native_llong, H5T_conv_uint_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_ullong", native_uint, native_ullong, H5T_conv_uint_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "int_long", native_int, native_long, H5T_conv_int_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "int_ulong", native_int, native_ulong, H5T_conv_int_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_long", native_uint, native_long, H5T_conv_uint_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_ulong", native_uint, native_ulong, H5T_conv_uint_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "int_short", native_int, native_short, H5T_conv_int_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "int_ushort", native_int, native_ushort, H5T_conv_int_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_short", native_uint, native_short, H5T_conv_uint_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_ushort", native_uint, native_ushort, H5T_conv_uint_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "int_uint", native_int, native_uint, H5T_conv_int_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_int", native_uint, native_int, H5T_conv_uint_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "int_schar", native_int, native_schar, H5T_conv_int_schar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "int_uchar", native_int, native_uchar, H5T_conv_int_uchar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_schar", native_uint, native_schar, H5T_conv_uint_schar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_uchar", native_uint, native_uchar, H5T_conv_uint_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_llong", native_int, native_llong, H5T__conv_int_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_ullong", native_int, native_ullong, H5T__conv_int_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_llong", native_uint, native_llong, H5T__conv_uint_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_ullong", native_uint, native_ullong, H5T__conv_uint_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_long", native_int, native_long, H5T__conv_int_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_ulong", native_int, native_ulong, H5T__conv_int_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_long", native_uint, native_long, H5T__conv_uint_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_ulong", native_uint, native_ulong, H5T__conv_uint_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_short", native_int, native_short, H5T__conv_int_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_ushort", native_int, native_ushort, H5T__conv_int_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_short", native_uint, native_short, H5T__conv_uint_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_ushort", native_uint, native_ushort, H5T__conv_uint_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_uint", native_int, native_uint, H5T__conv_int_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_int", native_uint, native_int, H5T__conv_uint_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_schar", native_int, native_schar, H5T__conv_int_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_uchar", native_int, native_uchar, H5T__conv_int_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_schar", native_uint, native_schar, H5T__conv_uint_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_uchar", native_uint, native_uchar, H5T__conv_uint_uchar, H5AC_dxpl_id, FALSE); /* From char */ - status |= H5T_register(H5T_PERS_HARD, "schar_llong", native_schar, native_llong, H5T_conv_schar_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "schar_ullong", native_schar, native_ullong, H5T_conv_schar_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_llong", native_uchar, native_llong, H5T_conv_uchar_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_ullong", native_uchar, native_ullong, H5T_conv_uchar_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "schar_long", native_schar, native_long, H5T_conv_schar_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "schar_ulong", native_schar, native_ulong, H5T_conv_schar_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_long", native_uchar, native_long, H5T_conv_uchar_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_ulong", native_uchar, native_ulong, H5T_conv_uchar_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "schar_short", native_schar, native_short, H5T_conv_schar_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "schar_ushort", native_schar, native_ushort, H5T_conv_schar_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_short", native_uchar, native_short, H5T_conv_uchar_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_ushort", native_uchar, native_ushort, H5T_conv_uchar_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "schar_int", native_schar, native_int, H5T_conv_schar_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "schar_uint", native_schar, native_uint, H5T_conv_schar_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_int", native_uchar, native_int, H5T_conv_uchar_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_uint", native_uchar, native_uint, H5T_conv_uchar_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "schar_uchar", native_schar, native_uchar, H5T_conv_schar_uchar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_schar", native_uchar, native_schar, H5T_conv_uchar_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_llong", native_schar, native_llong, H5T__conv_schar_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_ullong", native_schar, native_ullong, H5T__conv_schar_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_llong", native_uchar, native_llong, H5T__conv_uchar_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_ullong", native_uchar, native_ullong, H5T__conv_uchar_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_long", native_schar, native_long, H5T__conv_schar_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_ulong", native_schar, native_ulong, H5T__conv_schar_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_long", native_uchar, native_long, H5T__conv_uchar_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_ulong", native_uchar, native_ulong, H5T__conv_uchar_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_short", native_schar, native_short, H5T__conv_schar_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_ushort", native_schar, native_ushort, H5T__conv_schar_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_short", native_uchar, native_short, H5T__conv_uchar_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_ushort", native_uchar, native_ushort, H5T__conv_uchar_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_int", native_schar, native_int, H5T__conv_schar_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_uint", native_schar, native_uint, H5T__conv_schar_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_int", native_uchar, native_int, H5T__conv_uchar_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_uint", native_uchar, native_uint, H5T__conv_uchar_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_uchar", native_schar, native_uchar, H5T__conv_schar_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_schar", native_uchar, native_schar, H5T__conv_uchar_schar, H5AC_dxpl_id, FALSE); /* From char to floats */ - status |= H5T_register(H5T_PERS_HARD, "schar_flt", native_schar, native_float, H5T_conv_schar_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "schar_dbl", native_schar, native_double, H5T_conv_schar_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_flt", native_schar, native_float, H5T__conv_schar_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_dbl", native_schar, native_double, H5T__conv_schar_double, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "schar_ldbl", native_schar, native_ldouble, H5T_conv_schar_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "schar_ldbl", native_schar, native_ldouble, H5T__conv_schar_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */ /* From unsigned char to floats */ - status |= H5T_register(H5T_PERS_HARD, "uchar_flt", native_uchar, native_float, H5T_conv_uchar_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uchar_dbl", native_uchar, native_double, H5T_conv_uchar_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_flt", native_uchar, native_float, H5T__conv_uchar_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_dbl", native_uchar, native_double, H5T__conv_uchar_double, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "uchar_ldbl", native_uchar, native_ldouble, H5T_conv_uchar_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uchar_ldbl", native_uchar, native_ldouble, H5T__conv_uchar_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */ /* From short to floats */ - status |= H5T_register(H5T_PERS_HARD, "short_flt", native_short, native_float, H5T_conv_short_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "short_dbl", native_short, native_double, H5T_conv_short_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_flt", native_short, native_float, H5T__conv_short_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_dbl", native_short, native_double, H5T__conv_short_double, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "short_ldbl", native_short, native_ldouble, H5T_conv_short_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "short_ldbl", native_short, native_ldouble, H5T__conv_short_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */ /* From unsigned short to floats */ - status |= H5T_register(H5T_PERS_HARD, "ushort_flt", native_ushort, native_float, H5T_conv_ushort_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ushort_dbl", native_ushort, native_double, H5T_conv_ushort_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_flt", native_ushort, native_float, H5T__conv_ushort_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_dbl", native_ushort, native_double, H5T__conv_ushort_double, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "ushort_ldbl", native_ushort, native_ldouble, H5T_conv_ushort_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ushort_ldbl", native_ushort, native_ldouble, H5T__conv_ushort_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */ /* From int to floats */ - status |= H5T_register(H5T_PERS_HARD, "int_flt", native_int, native_float, H5T_conv_int_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "int_dbl", native_int, native_double, H5T_conv_int_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_flt", native_int, native_float, H5T__conv_int_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_dbl", native_int, native_double, H5T__conv_int_double, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "int_ldbl", native_int, native_ldouble, H5T_conv_int_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "int_ldbl", native_int, native_ldouble, H5T__conv_int_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */ /* From unsigned int to floats */ - status |= H5T_register(H5T_PERS_HARD, "uint_flt", native_uint, native_float, H5T_conv_uint_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "uint_dbl", native_uint, native_double, H5T_conv_uint_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_flt", native_uint, native_float, H5T__conv_uint_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_dbl", native_uint, native_double, H5T__conv_uint_double, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "uint_ldbl", native_uint, native_ldouble, H5T_conv_uint_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "uint_ldbl", native_uint, native_ldouble, H5T__conv_uint_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */ /* From long to floats */ - status |= H5T_register(H5T_PERS_HARD, "long_flt", native_long, native_float, H5T_conv_long_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "long_dbl", native_long, native_double, H5T_conv_long_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_flt", native_long, native_float, H5T__conv_long_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_dbl", native_long, native_double, H5T__conv_long_double, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "long_ldbl", native_long, native_ldouble, H5T_conv_long_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "long_ldbl", native_long, native_ldouble, H5T__conv_long_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_INTEGER_LDOUBLE */ /* From unsigned long to floats */ #if H5T_CONV_INTERNAL_ULONG_FLT - status |= H5T_register(H5T_PERS_HARD, "ulong_flt", native_ulong, native_float, H5T_conv_ulong_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_flt", native_ulong, native_float, H5T__conv_ulong_float, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_ULONG_FLT */ #if H5T_CONV_INTERNAL_ULONG_DBL - status |= H5T_register(H5T_PERS_HARD, "ulong_dbl", native_ulong, native_double, H5T_conv_ulong_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_dbl", native_ulong, native_double, H5T__conv_ulong_double, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_ULONG_DBL */ #if H5T_CONV_INTERNAL_ULONG_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "ulong_ldbl", native_ulong, native_ldouble, H5T_conv_ulong_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ulong_ldbl", native_ulong, native_ldouble, H5T__conv_ulong_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_ULONG_LDOUBLE */ /* From long long to floats */ - status |= H5T_register(H5T_PERS_HARD, "llong_flt", native_llong, native_float, H5T_conv_llong_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "llong_dbl", native_llong, native_double, H5T_conv_llong_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_flt", native_llong, native_float, H5T__conv_llong_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_dbl", native_llong, native_double, H5T__conv_llong_double, H5AC_dxpl_id, FALSE); #ifdef H5T_CONV_INTERNAL_LLONG_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "llong_ldbl", native_llong, native_ldouble, H5T_conv_llong_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "llong_ldbl", native_llong, native_ldouble, H5T__conv_llong_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LLONG_LDOUBLE */ /* From unsigned long long to floats */ #if H5T_CONV_INTERNAL_ULLONG_FP - status |= H5T_register(H5T_PERS_HARD, "ullong_flt", native_ullong, native_float, H5T_conv_ullong_float, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "ullong_dbl", native_ullong, native_double, H5T_conv_ullong_double, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_flt", native_ullong, native_float, H5T__conv_ullong_float, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_dbl", native_ullong, native_double, H5T__conv_ullong_double, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_ULLONG_FP */ #ifdef H5T_CONV_INTERNAL_ULLONG_LDOUBLE - status |= H5T_register(H5T_PERS_HARD, "ullong_ldbl", native_ullong, native_ldouble, H5T_conv_ullong_ldouble, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ullong_ldbl", native_ullong, native_ldouble, H5T__conv_ullong_ldouble, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_ULLONG_LDOUBLE */ /* From floats to char */ - status |= H5T_register(H5T_PERS_HARD, "flt_schar", native_float, native_schar, H5T_conv_float_schar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_schar", native_double, native_schar, H5T_conv_double_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_schar", native_float, native_schar, H5T__conv_float_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_schar", native_double, native_schar, H5T__conv_double_schar, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER - status |= H5T_register(H5T_PERS_HARD, "ldbl_schar", native_ldouble, native_schar, H5T_conv_ldouble_schar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_schar", native_ldouble, native_schar, H5T__conv_ldouble_schar, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */ /* From floats to unsigned char */ - status |= H5T_register(H5T_PERS_HARD, "flt_uchar", native_float, native_uchar, H5T_conv_float_uchar, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_uchar", native_double, native_uchar, H5T_conv_double_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_uchar", native_float, native_uchar, H5T__conv_float_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_uchar", native_double, native_uchar, H5T__conv_double_uchar, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER - status |= H5T_register(H5T_PERS_HARD, "ldbl_uchar", native_ldouble, native_uchar, H5T_conv_ldouble_uchar, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_uchar", native_ldouble, native_uchar, H5T__conv_ldouble_uchar, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */ /* From floats to short */ - status |= H5T_register(H5T_PERS_HARD, "flt_short", native_float, native_short, H5T_conv_float_short, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_short", native_double, native_short, H5T_conv_double_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_short", native_float, native_short, H5T__conv_float_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_short", native_double, native_short, H5T__conv_double_short, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER - status |= H5T_register(H5T_PERS_HARD, "ldbl_short", native_ldouble, native_short, H5T_conv_ldouble_short, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_short", native_ldouble, native_short, H5T__conv_ldouble_short, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */ /* From floats to unsigned short */ - status |= H5T_register(H5T_PERS_HARD, "flt_ushort", native_float, native_ushort, H5T_conv_float_ushort, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_ushort", native_double, native_ushort, H5T_conv_double_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_ushort", native_float, native_ushort, H5T__conv_float_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_ushort", native_double, native_ushort, H5T__conv_double_ushort, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER - status |= H5T_register(H5T_PERS_HARD, "ldbl_ushort", native_ldouble, native_ushort, H5T_conv_ldouble_ushort, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_ushort", native_ldouble, native_ushort, H5T__conv_ldouble_ushort, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */ /* From floats to int */ - status |= H5T_register(H5T_PERS_HARD, "flt_int", native_float, native_int, H5T_conv_float_int, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_int", native_double, native_int, H5T_conv_double_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_int", native_float, native_int, H5T__conv_float_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_int", native_double, native_int, H5T__conv_double_int, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER - status |= H5T_register(H5T_PERS_HARD, "ldbl_int", native_ldouble, native_int, H5T_conv_ldouble_int, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_int", native_ldouble, native_int, H5T__conv_ldouble_int, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */ /* From floats to unsigned int */ - status |= H5T_register(H5T_PERS_HARD, "flt_uint", native_float, native_uint, H5T_conv_float_uint, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_uint", native_double, native_uint, H5T_conv_double_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_uint", native_float, native_uint, H5T__conv_float_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_uint", native_double, native_uint, H5T__conv_double_uint, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_LDOUBLE_UINT - status |= H5T_register(H5T_PERS_HARD, "ldbl_uint", native_ldouble, native_uint, H5T_conv_ldouble_uint, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_uint", native_ldouble, native_uint, H5T__conv_ldouble_uint, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_UINT */ - status |= H5T_register(H5T_PERS_HARD, "flt_long", native_float, native_long, H5T_conv_float_long, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_long", native_double, native_long, H5T_conv_double_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_long", native_float, native_long, H5T__conv_float_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_long", native_double, native_long, H5T__conv_double_long, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER - status |= H5T_register(H5T_PERS_HARD, "ldbl_long", native_ldouble, native_long, H5T_conv_ldouble_long, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_long", native_ldouble, native_long, H5T__conv_ldouble_long, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */ /* From floats to unsigned long */ - status |= H5T_register(H5T_PERS_HARD, "flt_ulong", native_float, native_ulong, H5T_conv_float_ulong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_ulong", native_double, native_ulong, H5T_conv_double_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_ulong", native_float, native_ulong, H5T__conv_float_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_ulong", native_double, native_ulong, H5T__conv_double_ulong, H5AC_dxpl_id, FALSE); #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER - status |= H5T_register(H5T_PERS_HARD, "ldbl_ulong", native_ldouble, native_ulong, H5T_conv_ldouble_ulong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_ulong", native_ldouble, native_ulong, H5T__conv_ldouble_ulong, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_INTEGER */ /* From floats to long long */ #if H5T_CONV_INTERNAL_FP_LLONG - status |= H5T_register(H5T_PERS_HARD, "flt_llong", native_float, native_llong, H5T_conv_float_llong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_llong", native_double, native_llong, H5T_conv_double_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_llong", native_float, native_llong, H5T__conv_float_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_llong", native_double, native_llong, H5T__conv_double_llong, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_FP_LLONG */ #ifdef H5T_CONV_INTERNAL_LDOUBLE_LLONG - status |= H5T_register(H5T_PERS_HARD, "ldbl_llong", native_ldouble, native_llong, H5T_conv_ldouble_llong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_llong", native_ldouble, native_llong, H5T__conv_ldouble_llong, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_LLONG */ /* From floats to unsigned long long */ #if H5T_CONV_INTERNAL_FP_ULLONG - status |= H5T_register(H5T_PERS_HARD, "flt_ullong", native_float, native_ullong, H5T_conv_float_ullong, H5AC_dxpl_id, FALSE); - status |= H5T_register(H5T_PERS_HARD, "dbl_ullong", native_double, native_ullong, H5T_conv_double_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "flt_ullong", native_float, native_ullong, H5T__conv_float_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "dbl_ullong", native_double, native_ullong, H5T__conv_double_ullong, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_FP_ULLONG */ #if H5T_CONV_INTERNAL_LDOUBLE_ULLONG - status |= H5T_register(H5T_PERS_HARD, "ldbl_ullong", native_ldouble, native_ullong, H5T_conv_ldouble_ullong, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "ldbl_ullong", native_ldouble, native_ullong, H5T__conv_ldouble_ullong, H5AC_dxpl_id, FALSE); #endif /* H5T_CONV_INTERNAL_LDOUBLE_ULLONG */ /* @@ -1303,7 +1340,7 @@ H5T_init_interface(void) * data types we use are not important as long as the source and * destination are equal. */ - status |= H5T_register(H5T_PERS_HARD, "no-op", native_int, native_int, H5T_conv_noop, H5AC_dxpl_id, FALSE); + status |= H5T_register(H5T_PERS_HARD, "no-op", native_int, native_int, H5T__conv_noop, H5AC_dxpl_id, FALSE); /* Initialize the +/- Infinity values for floating-point types */ status |= H5T_init_inf(); @@ -1416,7 +1453,7 @@ H5T_term_interface(void) path = H5T_g.path[i]; HDassert(path); if(path->func) { - H5T_print_stats(path, &nprint/*in,out*/); + H5T__print_stats(path, &nprint/*in,out*/); path->cdata.command = H5T_CONV_FREE; if((path->func)(FAIL, FAIL, &(path->cdata), (size_t)0, (size_t)0, (size_t)0, NULL, NULL,H5AC_dxpl_id) < 0) { @@ -1594,7 +1631,7 @@ H5Tcreate(H5T_class_t type, size_t size) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "size must be positive") /* create the type */ - if(NULL == (dt = H5T_create(type, size))) + if(NULL == (dt = H5T__create(type, size))) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to create type") /* Get an ID for the datatype */ @@ -2371,7 +2408,7 @@ H5T_register(H5T_pers_t pers, const char *name, H5T_t *src, H5T_t *dst, new_path = NULL; /*so we don't free it on error*/ /* Free old path */ - H5T_print_stats(old_path, &nprint); + H5T__print_stats(old_path, &nprint); old_path->cdata.command = H5T_CONV_FREE; if ((old_path->func)(tmp_sid, tmp_did, &(old_path->cdata), (size_t)0, (size_t)0, (size_t)0, NULL, NULL, dxpl_id)<0) { @@ -2543,7 +2580,7 @@ H5T_unregister(H5T_pers_t pers, const char *name, H5T_t *src, H5T_t *dst, --H5T_g.npaths; /* Shut down path */ - H5T_print_stats(path, &nprint); + H5T__print_stats(path, &nprint); path->cdata.command = H5T_CONV_FREE; if((path->func)(FAIL, FAIL, &(path->cdata), (size_t)0, (size_t)0, (size_t)0, NULL, NULL, dxpl_id) < 0) { @@ -2955,7 +2992,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_create + * Function: H5T__create * * Purpose: Creates a new data type and initializes it to reasonable * values. The new data type is SIZE bytes and an instance of @@ -2975,12 +3012,12 @@ done: *------------------------------------------------------------------------- */ H5T_t * -H5T_create(H5T_class_t type, size_t size) +H5T__create(H5T_class_t type, size_t size) { H5T_t *dt = NULL; H5T_t *ret_value = NULL; - FUNC_ENTER_NOAPI(NULL) + FUNC_ENTER_PACKAGE switch(type) { case H5T_INTEGER: @@ -3008,7 +3045,7 @@ H5T_create(H5T_class_t type, size_t size) case H5T_OPAQUE: case H5T_COMPOUND: - if(NULL == (dt = H5T_alloc())) + if(NULL == (dt = H5T__alloc())) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") dt->shared->type = type; @@ -3039,7 +3076,7 @@ H5T_create(H5T_class_t type, size_t size) subtype = H5T_NATIVE_LLONG_g; else HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "no applicable native integer type") - if(NULL == (dt = H5T_alloc())) + if(NULL == (dt = H5T__alloc())) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") dt->shared->type = type; if(NULL == (sub_t_obj = (H5T_t *)H5I_object(subtype))) @@ -3078,7 +3115,7 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_create() */ +} /* end H5T__create() */ /*------------------------------------------------------------------------- @@ -3420,7 +3457,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_alloc + * Function: H5T__alloc * * Purpose: Allocates a new H5T_t structure, initializing it correctly. * @@ -3432,12 +3469,12 @@ done: *------------------------------------------------------------------------- */ H5T_t * -H5T_alloc(void) +H5T__alloc(void) { H5T_t *dt = NULL; /* Pointer to datatype allocated */ H5T_t *ret_value; /* Return value */ - FUNC_ENTER_NOAPI(NULL) + FUNC_ENTER_PACKAGE /* Allocate & initialize datatype wrapper info */ if(NULL == (dt = H5FL_CALLOC(H5T_t))) @@ -3463,11 +3500,11 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_alloc() */ +} /* end H5T__alloc() */ /*------------------------------------------------------------------------- - * Function: H5T_free + * Function: H5T__free * * Purpose: Frees all memory associated with a datatype, but does not * free the H5T_t or H5T_shared_t structures (which should @@ -3481,12 +3518,12 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_free(H5T_t *dt) +H5T__free(H5T_t *dt) { unsigned i; herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE HDassert(dt && dt->shared); @@ -3550,7 +3587,7 @@ H5T_free(H5T_t *dt) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_free() */ +} /* end H5T__free() */ /*------------------------------------------------------------------------- @@ -3575,7 +3612,7 @@ done: * Added "ID to name" support * * Quincey Koziol, 2003-01-06 - * Moved "guts" of function to H5T_free() + * Moved "guts" of function to H5T__free() * *------------------------------------------------------------------------- */ @@ -3592,7 +3629,7 @@ H5T_close(H5T_t *dt) dt->shared->fo_count--; if(dt->shared->state != H5T_STATE_OPEN || dt->shared->fo_count == 0) { - if(H5T_free(dt) < 0) + if(H5T__free(dt) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "unable to free datatype"); dt->shared = H5FL_FREE(H5T_shared_t, dt->shared); @@ -3621,7 +3658,7 @@ H5T_close(H5T_t *dt) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "problem attempting to free location") } /* end if */ - /* Free the group hier. path since we're not calling H5T_free*/ + /* Free the group hier. path since we're not calling H5T__free*/ H5G_name_free(&(dt->path)); } /* end else */ @@ -3663,13 +3700,13 @@ done: * *------------------------------------------------------------------------- */ -herr_t +static herr_t H5T_set_size(H5T_t *dt, size_t size) { size_t prec, offset; herr_t ret_value=SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_NOAPI_NOINIT /* Check args */ assert(dt); @@ -3731,7 +3768,7 @@ H5T_set_size(H5T_t *dt, size_t size) } } - max_size = H5T_get_member_size(dt, max_index); + max_size = H5T__get_member_size(dt, max_index); if(size<(max_offset+max_size)) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "size shrinking will cut off last member "); @@ -3821,7 +3858,7 @@ H5T_set_size(H5T_t *dt, size_t size) /* Check if the new compound type is packed */ if(dt->shared->type == H5T_COMPOUND) - H5T_update_packed(dt); + H5T__update_packed(dt); } done: @@ -4348,9 +4385,9 @@ H5T_path_find(const H5T_t *src, const H5T_t *dst, const char *name, if(NULL == (H5T_g.path[0] = H5FL_CALLOC(H5T_path_t))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for no-op conversion path") HDstrcpy(H5T_g.path[0]->name, "no-op"); - H5T_g.path[0]->func = H5T_conv_noop; + H5T_g.path[0]->func = H5T__conv_noop; H5T_g.path[0]->cdata.command = H5T_CONV_INIT; - if(H5T_conv_noop(FAIL, FAIL, &(H5T_g.path[0]->cdata), (size_t)0, (size_t)0, (size_t)0, NULL, NULL, dxpl_id) < 0) { + if(H5T__conv_noop(FAIL, FAIL, &(H5T_g.path[0]->cdata), (size_t)0, (size_t)0, (size_t)0, NULL, NULL, dxpl_id) < 0) { #ifdef H5T_DEBUG if(H5DEBUG(T)) fprintf(H5DEBUG(T), "H5T: unable to initialize no-op conversion function (ignored)\n"); @@ -4506,7 +4543,7 @@ H5T_path_find(const H5T_t *src, const H5T_t *dst, const char *name, /* Replace an existing table entry or add a new entry */ if(table && path != table) { HDassert(table == H5T_g.path[md]); - H5T_print_stats(table, &nprint/*in,out*/); + H5T__print_stats(table, &nprint/*in,out*/); table->cdata.command = H5T_CONV_FREE; if((table->func)(FAIL, FAIL, &(table->cdata), (size_t)0, (size_t)0, (size_t)0, NULL, NULL, dxpl_id) < 0) { #ifdef H5T_DEBUG @@ -4635,7 +4672,7 @@ H5T_path_compound_subset(const H5T_path_t *p) HDassert(p); if(p->are_compounds) - ret_value = H5T_conv_struct_subset(&(p->cdata)); + ret_value = H5T__conv_struct_subset(&(p->cdata)); FUNC_LEAVE_NOAPI(ret_value) } /* end H5T_path_compound_subset */ @@ -5075,7 +5112,7 @@ H5T_set_loc(H5T_t *dt, H5F_t *f, H5T_loc_t loc) case H5T_COMPOUND: /* Check each field and recurse on VL, compound and array type */ /* Sort the fields based on offsets */ - H5T_sort_value(dt,NULL); + H5T__sort_value(dt, NULL); for (i=0,accum_change=0; ishared->u.compnd.nmembs; i++) { H5T_t *memb_type; /* Member's datatype pointer */ @@ -5124,7 +5161,7 @@ H5T_set_loc(H5T_t *dt, H5F_t *f, H5T_loc_t loc) } /* end if */ /* Mark this VL sequence */ - if((changed=H5T_vlen_set_loc(dt,f,loc))<0) + if((changed = H5T__vlen_set_loc(dt, f, loc)) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "Unable to set VL location"); if(changed>0) ret_value=changed; @@ -5196,7 +5233,7 @@ done: /*------------------------------------------------------------------------- * Function: H5T_upgrade_version_cb * - * Purpose: H5T_visit callback to Upgrade the version of a datatype + * Purpose: H5T__visit callback to Upgrade the version of a datatype * (if there's any benefit to doing so) * * Note: The behavior below is tightly coupled with the "better" @@ -5243,7 +5280,7 @@ H5T_upgrade_version_cb(H5T_t *dt, void *op_value) /*------------------------------------------------------------------------- - * Function: H5T_upgrade_version + * Function: H5T__upgrade_version * * Purpose: Upgrade the version of a datatype (if there's any benefit to * doing so) and recursively apply to compound members and/or @@ -5257,22 +5294,22 @@ H5T_upgrade_version_cb(H5T_t *dt, void *op_value) *------------------------------------------------------------------------- */ herr_t -H5T_upgrade_version(H5T_t *dt, unsigned new_version) +H5T__upgrade_version(H5T_t *dt, unsigned new_version) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(dt); /* Iterate over entire datatype, upgrading the version of components, if it's useful */ - if(H5T_visit(dt, (H5T_VISIT_SIMPLE | H5T_VISIT_COMPLEX_LAST), H5T_upgrade_version_cb, &new_version) < 0) + if(H5T__visit(dt, (H5T_VISIT_SIMPLE | H5T_VISIT_COMPLEX_LAST), H5T_upgrade_version_cb, &new_version) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_BADITER, FAIL, "iteration to upgrade datatype encoding version failed") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_upgrade_version() */ +} /* end H5T__upgrade_version() */ /*------------------------------------------------------------------------- @@ -5298,7 +5335,7 @@ H5T_set_latest_version(H5T_t *dt) HDassert(dt); /* Upgrade the format version for the datatype to the latest */ - if(H5T_upgrade_version(dt, H5O_DTYPE_VERSION_LATEST) < 0) + if(H5T__upgrade_version(dt, H5O_DTYPE_VERSION_LATEST) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't upgrade datatype encoding") done: diff --git a/src/H5Tarray.c b/src/H5Tarray.c index 714ecc9..e9c8fe7 100644 --- a/src/H5Tarray.c +++ b/src/H5Tarray.c @@ -142,7 +142,7 @@ H5Tarray_create2(hid_t base_id, unsigned ndims, const hsize_t dim[/* ndims */]) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an valid base datatype") /* Create the array datatype */ - if(NULL == (dt = H5T_array_create(base, ndims, dim))) + if(NULL == (dt = H5T__array_create(base, ndims, dim))) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to create datatype") /* Atomize the type */ @@ -160,7 +160,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_array_create + * Function: H5T__array_create * * Purpose: Internal routine to create a new array data type based on the * specified BASE_TYPE. The type is an array with NDIMS dimensionality @@ -177,19 +177,19 @@ done: *------------------------------------------------------------------------- */ H5T_t * -H5T_array_create(H5T_t *base, unsigned ndims, const hsize_t dim[/* ndims */]) +H5T__array_create(H5T_t *base, unsigned ndims, const hsize_t dim[/* ndims */]) { H5T_t *ret_value; /* new array data type */ unsigned u; /* local index variable */ - FUNC_ENTER_NOAPI(NULL) + FUNC_ENTER_PACKAGE HDassert(base); HDassert(ndims <= H5S_MAX_RANK); HDassert(dim); /* Build new type */ - if(NULL == (ret_value = H5T_alloc())) + if(NULL == (ret_value = H5T__alloc())) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") ret_value->shared->type = H5T_ARRAY; @@ -217,7 +217,7 @@ H5T_array_create(H5T_t *base, unsigned ndims, const hsize_t dim[/* ndims */]) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_array_create */ +} /* end H5T__array_create */ /*------------------------------------------------------------------------- @@ -249,7 +249,7 @@ H5Tget_array_ndims(hid_t type_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an array datatype") /* Retrieve the number of dimensions */ - ret_value = H5T_get_array_ndims(dt); + ret_value = H5T__get_array_ndims(dt); done: FUNC_LEAVE_API(ret_value) @@ -257,9 +257,9 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_get_array_ndims + * Function: H5T__get_array_ndims * - * Purpose: Private function for H5T_get_array_ndims. Query the number + * Purpose: Private function for H5T__get_array_ndims. Query the number * of dimensions for an array datatype. * * Return: Success: Number of dimensions of the array datatype @@ -271,16 +271,16 @@ done: *------------------------------------------------------------------------- */ int -H5T_get_array_ndims(const H5T_t *dt) +H5T__get_array_ndims(const H5T_t *dt) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR HDassert(dt); HDassert(dt->shared->type == H5T_ARRAY); /* Retrieve the number of dimensions */ FUNC_LEAVE_NOAPI(dt->shared->u.array.ndims) -} /* end H5T_get_array_ndims */ +} /* end H5T__get_array_ndims */ /*------------------------------------------------------------------------- @@ -312,7 +312,7 @@ H5Tget_array_dims2(hid_t type_id, hsize_t dims[]) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an array datatype") /* Retrieve the sizes of the dimensions */ - if((ret_value = H5T_get_array_dims(dt, dims)) < 0) + if((ret_value = H5T__get_array_dims(dt, dims)) < 0) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "unable to get dimension sizes") done: FUNC_LEAVE_API(ret_value) @@ -320,9 +320,9 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_get_array_dims + * Function: H5T__get_array_dims * - * Purpose: Private function for H5T_get_array_dims. Query the sizes + * Purpose: Private function for H5T__get_array_dims. Query the sizes * of dimensions for an array datatype. * * Return: Success: Number of dimensions of the array type @@ -334,12 +334,12 @@ done: *------------------------------------------------------------------------- */ int -H5T_get_array_dims(const H5T_t *dt, hsize_t dims[]) +H5T__get_array_dims(const H5T_t *dt, hsize_t dims[]) { unsigned u; /* Local index variable */ int ret_value; /* return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE HDassert(dt); HDassert(dt->shared->type == H5T_ARRAY); @@ -354,7 +354,7 @@ H5T_get_array_dims(const H5T_t *dt, hsize_t dims[]) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_get_array_dims */ +} /* end H5T__get_array_dims */ #ifndef H5_NO_DEPRECATED_SYMBOLS @@ -401,7 +401,7 @@ H5Tarray_create1(hid_t base_id, int ndims, const hsize_t dim[/* ndims */], HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an valid base datatype") /* Create the array datatype */ - if(NULL == (dt = H5T_array_create(base, (unsigned)ndims, dim))) + if(NULL == (dt = H5T__array_create(base, (unsigned)ndims, dim))) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to create datatype") /* Atomize the type */ @@ -447,7 +447,7 @@ H5Tget_array_dims1(hid_t type_id, hsize_t dims[], int UNUSED perm[]) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an array datatype") /* Retrieve the sizes of the dimensions */ - if((ret_value = H5T_get_array_dims(dt, dims)) < 0) + if((ret_value = H5T__get_array_dims(dt, dims)) < 0) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "unable to get dimension sizes") done: diff --git a/src/H5Tbit.c b/src/H5Tbit.c index f85ff14..79cf3a6 100644 --- a/src/H5Tbit.c +++ b/src/H5Tbit.c @@ -31,7 +31,7 @@ /*------------------------------------------------------------------------- - * Function: H5T_bit_copy + * Function: H5T__bit_copy * * Purpose: Copies bits from one vector to another. * @@ -43,13 +43,15 @@ *------------------------------------------------------------------------- */ void -H5T_bit_copy(uint8_t *dst, size_t dst_offset, const uint8_t *src, +H5T__bit_copy(uint8_t *dst, size_t dst_offset, const uint8_t *src, size_t src_offset, size_t size) { size_t shift; size_t mask_lo, mask_hi; size_t s_idx, d_idx; + FUNC_ENTER_PACKAGE_NOERR + /* * Normalize the offset to be a byte number and a bit offset within that * byte. @@ -155,11 +157,13 @@ H5T_bit_copy(uint8_t *dst, size_t dst_offset, const uint8_t *src, size -= nbits; } /* end while */ -} /* end H5T_bit_copy() */ + + FUNC_LEAVE_NOAPI_VOID +} /* end H5T__bit_copy() */ /*------------------------------------------------------------------------- - * Function: H5T_bit_shift + * Function: H5T__bit_shift * * Purpose: Simulation of hardware shifting. Shifts a bit vector * in a way similar to shifting a variable value, like @@ -179,13 +183,13 @@ H5T_bit_copy(uint8_t *dst, size_t dst_offset, const uint8_t *src, *------------------------------------------------------------------------- */ herr_t -H5T_bit_shift(uint8_t *buf, ssize_t shift_dist, size_t offset, size_t size) +H5T__bit_shift(uint8_t *buf, ssize_t shift_dist, size_t offset, size_t size) { uint8_t tmp_buf[512]; /* Temporary buffer */ H5WB_t *wb = NULL; /* Wrapped buffer for temporary buffer */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(buf); @@ -195,7 +199,7 @@ H5T_bit_shift(uint8_t *buf, ssize_t shift_dist, size_t offset, size_t size) size_t abs_shift_dist = (size_t)ABS(shift_dist); if(abs_shift_dist >= size) - H5T_bit_set(buf, offset, size, 0); + H5T__bit_set(buf, offset, size, 0); else { size_t buf_size = (size / 8) + 1; /* Size of shift buffer needed */ uint8_t *shift_buf; /* Pointer to shift buffer */ @@ -211,18 +215,18 @@ H5T_bit_shift(uint8_t *buf, ssize_t shift_dist, size_t offset, size_t size) /* Shift vector by making copies */ if(shift_dist > 0) { /* left shift */ /* Copy part to be shifted to a temporary buffer */ - H5T_bit_copy(shift_buf, (size_t)0, buf, offset, size - abs_shift_dist); + H5T__bit_copy(shift_buf, (size_t)0, buf, offset, size - abs_shift_dist); /* Copy it back to the original buffer */ - H5T_bit_copy(buf, offset + abs_shift_dist, shift_buf, (size_t)0, size - abs_shift_dist); + H5T__bit_copy(buf, offset + abs_shift_dist, shift_buf, (size_t)0, size - abs_shift_dist); /* Zero-set the left part*/ - H5T_bit_set(buf, offset, abs_shift_dist, 0); + H5T__bit_set(buf, offset, abs_shift_dist, 0); } /* end if */ else { /* right shift */ - H5T_bit_copy(shift_buf, (size_t)0, buf, offset + abs_shift_dist, size - abs_shift_dist); - H5T_bit_copy(buf, offset, shift_buf, (size_t)0, size - abs_shift_dist); - H5T_bit_set(buf, offset + size - abs_shift_dist, abs_shift_dist, 0); + H5T__bit_copy(shift_buf, (size_t)0, buf, offset + abs_shift_dist, size - abs_shift_dist); + H5T__bit_copy(buf, offset, shift_buf, (size_t)0, size - abs_shift_dist); + H5T__bit_set(buf, offset + size - abs_shift_dist, abs_shift_dist, 0); } /* end else */ } /* end else */ } /* end if */ @@ -233,11 +237,11 @@ done: HDONE_ERROR(H5E_DATATYPE, H5E_CLOSEERROR, FAIL, "can't close wrapped buffer") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_bit_shift() */ +} /* end H5T__bit_shift() */ /*------------------------------------------------------------------------- - * Function: H5T_bit_get_d + * Function: H5T__bit_get_d * * Purpose: Return a small bit sequence as a number. Bit vector starts * at OFFSET and is SIZE bits long. @@ -253,17 +257,17 @@ done: *------------------------------------------------------------------------- */ uint64_t -H5T_bit_get_d(uint8_t *buf, size_t offset, size_t size) +H5T__bit_get_d(uint8_t *buf, size_t offset, size_t size) { uint64_t val = 0; size_t i, hs; uint64_t ret_value; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR HDassert(8 * sizeof(val) >= size); - H5T_bit_copy((uint8_t*)&val, (size_t)0, buf, offset, size); + H5T__bit_copy((uint8_t*)&val, (size_t)0, buf, offset, size); switch(H5T_native_order_g) { case H5T_ORDER_LE: break; @@ -290,11 +294,11 @@ H5T_bit_get_d(uint8_t *buf, size_t offset, size_t size) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_bit_get_d() */ +} /* end H5T__bit_get_d() */ /*------------------------------------------------------------------------- - * Function: H5T_bit_set_d + * Function: H5T__bit_set_d * * Purpose: Sets part of a bit vector to the specified unsigned value. * @@ -306,10 +310,12 @@ done: *------------------------------------------------------------------------- */ void -H5T_bit_set_d(uint8_t *buf, size_t offset, size_t size, uint64_t val) +H5T__bit_set_d(uint8_t *buf, size_t offset, size_t size, uint64_t val) { size_t i, hs; + FUNC_ENTER_PACKAGE_NOERR + HDassert(8 * sizeof(val) >= size); switch(H5T_native_order_g) { @@ -332,12 +338,14 @@ H5T_bit_set_d(uint8_t *buf, size_t offset, size_t size, uint64_t val) HDabort(); } /* end switch */ - H5T_bit_copy(buf, offset, (uint8_t*)&val, (size_t)0, size); -} /* end H5T_bit_set_d() */ + H5T__bit_copy(buf, offset, (uint8_t*)&val, (size_t)0, size); + + FUNC_LEAVE_NOAPI_VOID +} /* end H5T__bit_set_d() */ /*------------------------------------------------------------------------- - * Function: H5T_bit_set + * Function: H5T__bit_set * * Purpose: Sets or clears bits in a contiguous region of a vector * beginning at bit OFFSET and continuing for SIZE bits. @@ -352,10 +360,12 @@ H5T_bit_set_d(uint8_t *buf, size_t offset, size_t size, uint64_t val) *------------------------------------------------------------------------- */ void -H5T_bit_set(uint8_t *buf, size_t offset, size_t size, hbool_t value) +H5T__bit_set(uint8_t *buf, size_t offset, size_t size, hbool_t value) { int idx; + FUNC_ENTER_PACKAGE_NOERR + /* Normalize */ idx = (int)offset / 8; offset %= 8; @@ -385,11 +395,13 @@ H5T_bit_set(uint8_t *buf, size_t offset, size_t size, hbool_t value) else buf[idx] &= (uint8_t)(~(((unsigned)1 << size) - 1)); } /* end if */ -} /* end H5T_bit_set() */ + + FUNC_LEAVE_NOAPI_VOID +} /* end H5T__bit_set() */ /*------------------------------------------------------------------------- - * Function: H5T_bit_find + * Function: H5T__bit_find * * Purpose: Finds the first bit with the specified VALUE within a region * of a bit vector. The region begins at OFFSET and continues @@ -409,7 +421,7 @@ H5T_bit_set(uint8_t *buf, size_t offset, size_t size, hbool_t value) *------------------------------------------------------------------------- */ ssize_t -H5T_bit_find(uint8_t *buf, size_t offset, size_t size, H5T_sdir_t direction, +H5T__bit_find(uint8_t *buf, size_t offset, size_t size, H5T_sdir_t direction, hbool_t value) { ssize_t base = (ssize_t)offset; @@ -417,8 +429,8 @@ H5T_bit_find(uint8_t *buf, size_t offset, size_t size, H5T_sdir_t direction, size_t iu; ssize_t ret_value = (-1); /* Return value */ - /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + /* Use FUNC_ENTER_PACKAGE_NOERR here to avoid performance issues */ + FUNC_ENTER_PACKAGE_NOERR /* Some functions call this with value=TRUE */ HDassert(TRUE == 1); @@ -496,11 +508,11 @@ H5T_bit_find(uint8_t *buf, size_t offset, size_t size, H5T_sdir_t direction, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_bit_find() */ +} /* end H5T__bit_find() */ /*------------------------------------------------------------------------- - * Function: H5T_bit_inc + * Function: H5T__bit_inc * * Purpose: Increment part of a bit field by adding 1. The bit field * starts with bit position START and is SIZE bits long. @@ -516,14 +528,14 @@ done: *------------------------------------------------------------------------- */ htri_t -H5T_bit_inc(uint8_t *buf, size_t start, size_t size) +H5T__bit_inc(uint8_t *buf, size_t start, size_t size) { size_t idx = start / 8; unsigned carry = 1; unsigned acc, mask; - /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + /* Use FUNC_ENTER_PACKAGE_NOERR here to avoid performance issues */ + FUNC_ENTER_PACKAGE_NOERR HDassert(buf); @@ -566,11 +578,11 @@ H5T_bit_inc(uint8_t *buf, size_t start, size_t size) } /* end if */ FUNC_LEAVE_NOAPI(carry ? TRUE : FALSE) -} /* end H5T_bit_inc() */ +} /* end H5T__bit_inc() */ /*------------------------------------------------------------------------- - * Function: H5T_bit_dec + * Function: H5T__bit_dec * * Purpose: decrement part of a bit field by substracting 1. The bit * field starts with bit position START and is SIZE bits long. @@ -586,15 +598,15 @@ H5T_bit_inc(uint8_t *buf, size_t start, size_t size) *------------------------------------------------------------------------- */ htri_t -H5T_bit_dec(uint8_t *buf, size_t start, size_t size) +H5T__bit_dec(uint8_t *buf, size_t start, size_t size) { size_t idx = start / 8; size_t pos = start % 8; uint8_t tmp; unsigned borrow = 0; - /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + /* Use FUNC_ENTER_PACKAGE_NOERR here to avoid performance issues */ + FUNC_ENTER_PACKAGE_NOERR HDassert(buf); HDassert(size); @@ -645,11 +657,11 @@ H5T_bit_dec(uint8_t *buf, size_t start, size_t size) } /* end else */ FUNC_LEAVE_NOAPI(borrow ? TRUE : FALSE) -} /* end H5T_bit_dec() */ +} /* end H5T__bit_dec() */ /*------------------------------------------------------------------------- - * Function: H5T_bit_neg + * Function: H5T__bit_neg * * Purpose: negate part of a bit sequence. The bit * field starts with bit position START and is SIZE bits long. @@ -662,14 +674,14 @@ H5T_bit_dec(uint8_t *buf, size_t start, size_t size) *------------------------------------------------------------------------- */ void -H5T_bit_neg(uint8_t *buf, size_t start, size_t size) +H5T__bit_neg(uint8_t *buf, size_t start, size_t size) { size_t idx = start / 8; size_t pos = start % 8; uint8_t tmp[1]; - /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + /* Use FUNC_ENTER_PACKAGE_NOERR here to avoid performance issues */ + FUNC_ENTER_PACKAGE_NOERR HDassert(buf); HDassert(size); @@ -679,7 +691,7 @@ H5T_bit_neg(uint8_t *buf, size_t start, size_t size) /* Simply copy the negated bit field back to the original byte */ if((size + start - 1) / 8 > idx) { /*bit sequence doesn't end in the same byte as starts*/ - H5T_bit_copy(&(buf[idx]), pos, tmp, pos, (8-pos)); + H5T__bit_copy(&(buf[idx]), pos, tmp, pos, (8-pos)); idx++; size -= (8 - pos); @@ -694,12 +706,12 @@ H5T_bit_neg(uint8_t *buf, size_t start, size_t size) if(size > 0) { /* Similar to the first byte case, where sequence ends in the same byte as starts */ tmp[0] = (uint8_t)~buf[idx]; - H5T_bit_copy(&(buf[idx]), (size_t)0, tmp, (size_t)0, size); + H5T__bit_copy(&(buf[idx]), (size_t)0, tmp, (size_t)0, size); } /* end if */ } /* end if */ else /* bit sequence ends in the same byte as starts */ - H5T_bit_copy(&(buf[idx]), pos, tmp, pos, size); + H5T__bit_copy(&(buf[idx]), pos, tmp, pos, size); FUNC_LEAVE_NOAPI_VOID -} /* end H5T_bit_neg() */ +} /* end H5T__bit_neg() */ diff --git a/src/H5Tcommit.c b/src/H5Tcommit.c index a49d66e..bfae624 100644 --- a/src/H5Tcommit.c +++ b/src/H5Tcommit.c @@ -186,7 +186,7 @@ H5T__commit_named(const H5G_loc_t *loc, const char *name, H5T_t *dt, { H5O_obj_create_t ocrt_info; /* Information for object creation */ H5T_obj_create_t tcrt_info; /* Information for named datatype creation */ - H5T_state_t old_state = H5T_STATE_TRANSIENT; /* The state of the datatype before H5T_commit. */ + H5T_state_t old_state = H5T_STATE_TRANSIENT; /* The state of the datatype before H5T__commit. */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_PACKAGE @@ -299,7 +299,7 @@ H5Tcommit_anon(hid_t loc_id, hid_t type_id, hid_t tcpl_id, hid_t tapl_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not datatype access property list") /* Commit the type */ - if(H5T_commit(loc.oloc->file, type, tcpl_id, H5AC_dxpl_id) < 0) + if(H5T__commit(loc.oloc->file, type, tcpl_id, H5AC_dxpl_id) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to commit datatype") /* Release the datatype's object header */ @@ -321,7 +321,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_commit + * Function: H5T__commit * * Purpose: Commit a type, giving it a name and causing it to become * immutable. @@ -334,7 +334,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_commit(H5F_t *file, H5T_t *type, hid_t tcpl_id, hid_t dxpl_id) +H5T__commit(H5F_t *file, H5T_t *type, hid_t tcpl_id, hid_t dxpl_id) { H5O_loc_t temp_oloc; /* Temporary object header location */ H5G_name_t temp_path; /* Temporary path */ @@ -342,7 +342,7 @@ H5T_commit(H5F_t *file, H5T_t *type, hid_t tcpl_id, hid_t dxpl_id) size_t dtype_size; /* Size of the datatype message */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE HDassert(file); HDassert(type); @@ -439,7 +439,7 @@ done: } /* end if */ FUNC_LEAVE_NOAPI(ret_value) -} /* H5T_commit() */ +} /* H5T__commit() */ /*------------------------------------------------------------------------- diff --git a/src/H5Tcompound.c b/src/H5Tcompound.c index e7142e5..b377b29 100644 --- a/src/H5Tcompound.c +++ b/src/H5Tcompound.c @@ -56,6 +56,7 @@ /* Local Prototypes */ /********************/ static herr_t H5T_pack(const H5T_t *dt); +static htri_t H5T_is_packed(const H5T_t *dt); /*********************/ @@ -298,7 +299,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_get_member_size + * Function: H5T__get_member_size * * Purpose: Returns the size of the specified member. * @@ -311,16 +312,15 @@ done: *------------------------------------------------------------------------- */ size_t -H5T_get_member_size(const H5T_t *dt, unsigned membno) +H5T__get_member_size(const H5T_t *dt, unsigned membno) { - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR HDassert(dt); HDassert(membno < dt->shared->u.compnd.nmembs); - FUNC_LEAVE_NOAPI(dt->shared->u.compnd.memb[membno].type->shared->size) -} /* end H5T_get_member_size() */ +} /* end H5T__get_member_size() */ /*------------------------------------------------------------------------- @@ -370,7 +370,7 @@ H5Tinsert(hid_t parent_id, const char *name, size_t offset, hid_t member_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype") /* Insert */ - if(H5T_insert(parent, name, offset, member) < 0) + if(H5T__insert(parent, name, offset, member) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINSERT, FAIL, "unable to insert member") done: @@ -416,7 +416,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_insert + * Function: H5T__insert * * Purpose: Adds a new MEMBER to the compound datatype PARENT. The new * member will have a NAME that is unique within PARENT and an @@ -431,14 +431,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_insert(H5T_t *parent, const char *name, size_t offset, const H5T_t *member) +H5T__insert(H5T_t *parent, const char *name, size_t offset, const H5T_t *member) { unsigned idx; /* Index of member to insert */ size_t total_size; unsigned i; /* Local index variable */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* check args */ HDassert(parent && H5T_COMPOUND == parent->shared->type); @@ -492,7 +492,7 @@ H5T_insert(H5T_t *parent, const char *name, size_t offset, const H5T_t *member) HDassert(!(parent->shared->u.compnd.packed)); /* Determine if the compound datatype becomes packed */ - H5T_update_packed(parent); + H5T__update_packed(parent); /* Set the "force conversion" flag if the field's datatype indicates */ if(member->shared->force_conv == TRUE) @@ -504,12 +504,12 @@ H5T_insert(H5T_t *parent, const char *name, size_t offset, const H5T_t *member) /* (can't use a partial datatype and later versions of the format are * more efficient, so might as well upgrade all members also... -QAK) */ - if(H5T_upgrade_version(parent, member->shared->version) < 0) + if(H5T__upgrade_version(parent, member->shared->version) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't upgrade member encoding version") done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_insert() */ +} /* end H5T__insert() */ /*------------------------------------------------------------------------- @@ -567,7 +567,7 @@ H5T_pack(const H5T_t *dt) } /* end for */ /* Remove padding between members */ - if(H5T_sort_value(dt, NULL) < 0) + if(H5T__sort_value(dt, NULL) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTCOMPARE, FAIL, "value sort failed") for(i = 0, offset = 0; i < dt->shared->u.compnd.nmembs; i++) { dt->shared->u.compnd.memb[i].offset = offset; @@ -602,7 +602,7 @@ done: * *------------------------------------------------------------------------- */ -htri_t +static htri_t H5T_is_packed(const H5T_t *dt) { htri_t ret_value = TRUE; /* Return value */ @@ -625,7 +625,7 @@ H5T_is_packed(const H5T_t *dt) /*------------------------------------------------------------------------- - * Function: H5T_update_packed + * Function: H5T__update_packed * * Purpose: Checks whether a datatype which is compound became packed * after recent changes. This function does not assume that @@ -642,11 +642,11 @@ H5T_is_packed(const H5T_t *dt) *------------------------------------------------------------------------- */ void -H5T_update_packed(const H5T_t *dt) +H5T__update_packed(const H5T_t *dt) { unsigned i; /* Index */ - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR HDassert(dt); HDassert(dt->shared->type == H5T_COMPOUND); @@ -667,5 +667,5 @@ H5T_update_packed(const H5T_t *dt) dt->shared->u.compnd.packed = FALSE; FUNC_LEAVE_NOAPI_VOID -} /* end H5T_update_packed() */ +} /* end H5T__update_packed() */ diff --git a/src/H5Tconv.c b/src/H5Tconv.c index 6795ef1..983922f 100644 --- a/src/H5Tconv.c +++ b/src/H5Tconv.c @@ -605,7 +605,7 @@ { \ herr_t ret_value=SUCCEED; /* Return value */ \ \ - FUNC_ENTER_NOAPI(FAIL) \ + FUNC_ENTER_PACKAGE \ \ { \ size_t elmtno; /*element number */ \ @@ -890,7 +890,7 @@ done: \ /* Local Typedefs */ /******************/ -/* Conversion data for H5T_conv_struct() */ +/* Conversion data for H5T__conv_struct() */ typedef struct H5T_conv_struct_t { int *src2dst; /*mapping from src to dst member num */ hid_t *src_memb_id; /*source member type ID's */ @@ -900,7 +900,7 @@ typedef struct H5T_conv_struct_t { unsigned src_nmembs; /*needed by free function */ } H5T_conv_struct_t; -/* Conversion data for H5T_conv_enum() */ +/* Conversion data for H5T__conv_enum() */ typedef struct H5T_enum_struct_t { int base; /*lowest `in' value */ int length; /*num elements in arrays */ @@ -972,7 +972,7 @@ H5T_init_conv_interface(void) /*------------------------------------------------------------------------- - * Function: H5T_conv_noop + * Function: H5T__conv_noop * * Purpose: The no-op conversion. The library knows about this * conversion without it being registered. @@ -985,14 +985,14 @@ H5T_init_conv_interface(void) *------------------------------------------------------------------------- */ herr_t -H5T_conv_noop(hid_t UNUSED src_id, hid_t UNUSED dst_id, H5T_cdata_t *cdata, +H5T__conv_noop(hid_t UNUSED src_id, hid_t UNUSED dst_id, H5T_cdata_t *cdata, size_t UNUSED nelmts, size_t UNUSED buf_stride, size_t UNUSED bkg_stride, void UNUSED *buf, void UNUSED *background, hid_t UNUSED dxpl_id) { herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -1012,14 +1012,14 @@ H5T_conv_noop(hid_t UNUSED src_id, hid_t UNUSED dst_id, H5T_cdata_t *cdata, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_noop() */ +} /* end H5T__conv_noop() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_order_opt + * Function: H5T__conv_order_opt * * Purpose: Convert one type to another when byte order is the only - * difference. This is the optimized version of H5T_conv_order() + * difference. This is the optimized version of H5T__conv_order() * for a handful of different sizes. * * Note: This is a soft conversion function. @@ -1034,7 +1034,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_order_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_order_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *_buf, void UNUSED *background, hid_t UNUSED dxpl_id) @@ -1045,7 +1045,7 @@ H5T_conv_order_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t i; herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -1415,11 +1415,11 @@ H5T_conv_order_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_order_opt() */ +} /* end H5T__conv_order_opt() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_order + * Function: H5T__conv_order * * Purpose: Convert one type to another when byte order is the only * difference. @@ -1442,7 +1442,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_order(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_order(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *_buf, void UNUSED *background, hid_t UNUSED dxpl_id) { @@ -1453,7 +1453,7 @@ H5T_conv_order(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t j, md; herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -1515,11 +1515,11 @@ H5T_conv_order(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_order() */ +} /* end H5T__conv_order() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_b_b + * Function: H5T__conv_b_b * * Purpose: Convert from one bitfield to any other bitfield. * @@ -1537,7 +1537,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *_buf, void UNUSED *background, hid_t dxpl_id) { @@ -1558,7 +1558,7 @@ H5T_conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, hbool_t reverse; /*if reverse the order of destination */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -1676,7 +1676,7 @@ H5T_conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } /* end if */ if(except_ret == H5T_CONV_UNHANDLED) { - H5T_bit_copy(d, dst->shared->u.atomic.offset, + H5T__bit_copy(d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, dst->shared->u.atomic.prec); } else if(except_ret == H5T_CONV_ABORT) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception") @@ -1684,10 +1684,10 @@ H5T_conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, /*Don't reverse because user handles it*/ reverse = FALSE; } else { - H5T_bit_copy(d, dst->shared->u.atomic.offset, + H5T__bit_copy(d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, src->shared->u.atomic.prec); - H5T_bit_set(d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, + H5T__bit_set(d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, dst->shared->u.atomic.prec-src->shared->u.atomic.prec, FALSE); } @@ -1696,11 +1696,11 @@ H5T_conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, */ switch(dst->shared->u.atomic.lsb_pad) { case H5T_PAD_ZERO: - H5T_bit_set(d, (size_t)0, dst->shared->u.atomic.offset, FALSE); + H5T__bit_set(d, (size_t)0, dst->shared->u.atomic.offset, FALSE); break; case H5T_PAD_ONE: - H5T_bit_set(d, (size_t)0, dst->shared->u.atomic.offset, TRUE); + H5T__bit_set(d, (size_t)0, dst->shared->u.atomic.offset, TRUE); break; default: @@ -1709,11 +1709,11 @@ H5T_conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, msb_pad_offset = dst->shared->u.atomic.offset + dst->shared->u.atomic.prec; switch(dst->shared->u.atomic.msb_pad) { case H5T_PAD_ZERO: - H5T_bit_set(d, msb_pad_offset, 8 * dst->shared->size - msb_pad_offset, FALSE); + H5T__bit_set(d, msb_pad_offset, 8 * dst->shared->size - msb_pad_offset, FALSE); break; case H5T_PAD_ONE: - H5T_bit_set(d, msb_pad_offset, 8 * dst->shared->size - msb_pad_offset, TRUE); + H5T__bit_set(d, msb_pad_offset, 8 * dst->shared->size - msb_pad_offset, TRUE); break; default: HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unsupported MSB padding") @@ -1758,7 +1758,7 @@ done: if(src_rev) H5MM_free(src_rev); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_b_b() */ +} /* end H5T__conv_b_b() */ /*------------------------------------------------------------------------- @@ -1887,8 +1887,8 @@ H5T_conv_struct_init(H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata, hid_t dxpl_id) /* * Insure that members are sorted. */ - H5T_sort_value(src, NULL); - H5T_sort_value(dst, NULL); + H5T__sort_value(src, NULL); + H5T__sort_value(dst, NULL); /* * Build a mapping from source member number to destination member @@ -1924,8 +1924,8 @@ H5T_conv_struct_init(H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata, hid_t dxpl_id) else { /* Restore sorted conditions for the datatypes */ /* (Required for the src2dst array to be valid) */ - H5T_sort_value(src, NULL); - H5T_sort_value(dst, NULL); + H5T__sort_value(src, NULL); + H5T__sort_value(dst, NULL); } /* end else */ /* @@ -1999,7 +1999,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_conv_struct_subset + * Function: H5T__conv_struct_subset * * Purpose: A quick way to return a field in a struct private in this * file. The flag SMEMBS_SUBSET indicates whether the source @@ -2023,11 +2023,11 @@ done: *------------------------------------------------------------------------- */ H5T_subset_info_t * -H5T_conv_struct_subset(const H5T_cdata_t *cdata) +H5T__conv_struct_subset(const H5T_cdata_t *cdata) { H5T_conv_struct_t *priv; - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR HDassert(cdata); HDassert(cdata->priv); @@ -2035,11 +2035,11 @@ H5T_conv_struct_subset(const H5T_cdata_t *cdata) priv = (H5T_conv_struct_t *)(cdata->priv); FUNC_LEAVE_NOAPI((H5T_subset_info_t *) &priv->subset_info) -} /* end H5T_conv_struct_subset() */ +} /* end H5T__conv_struct_subset() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_struct + * Function: H5T__conv_struct * * Purpose: Converts between compound datatypes. This is a soft * conversion function. The algorithm is basically: @@ -2079,7 +2079,7 @@ H5T_conv_struct_subset(const H5T_cdata_t *cdata) *------------------------------------------------------------------------- */ herr_t -H5T_conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *_bkg, hid_t dxpl_id) { uint8_t *buf = (uint8_t *)_buf; /*cast for pointer arithmetic */ @@ -2098,7 +2098,7 @@ H5T_conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, H5T_conv_struct_t *priv = (H5T_conv_struct_t *)(cdata->priv); herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -2141,8 +2141,8 @@ H5T_conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, /* * Insure that members are sorted. */ - H5T_sort_value(src, NULL); - H5T_sort_value(dst, NULL); + H5T__sort_value(src, NULL); + H5T__sort_value(dst, NULL); src2dst = priv->src2dst; /* @@ -2254,14 +2254,14 @@ H5T_conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_struct() */ +} /* end H5T__conv_struct() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_struct_opt + * Function: H5T__conv_struct_opt * * Purpose: Converts between compound datatypes in a manner more - * efficient than the general-purpose H5T_conv_struct() + * efficient than the general-purpose H5T__conv_struct() * function. This function isn't applicable if the destination * is larger than the source type. This is a soft conversion * function. The algorithm is basically: @@ -2326,7 +2326,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_struct_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_struct_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *_bkg, hid_t dxpl_id) { @@ -2348,7 +2348,7 @@ H5T_conv_struct_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, int i; /*counters */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -2431,8 +2431,8 @@ H5T_conv_struct_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /* * Insure that members are sorted. */ - H5T_sort_value(src, NULL); - H5T_sort_value(dst, NULL); + H5T__sort_value(src, NULL); + H5T__sort_value(dst, NULL); /* * Calculate strides. If BUF_STRIDE is non-zero then convert one @@ -2550,13 +2550,13 @@ H5T_conv_struct_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_struct_opt() */ +} /* end H5T__conv_struct_opt() */ /*------------------------------------------------------------------------- * Function: H5T_conv_enum_init * - * Purpose: Initialize information for H5T_conv_enum(). + * Purpose: Initialize information for H5T__conv_enum(). * * Return: Success: Non-negative * @@ -2593,8 +2593,8 @@ H5T_conv_enum_init(H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata) * symbol names and build a map from source member index to destination * member index. */ - H5T_sort_name(src, NULL); - H5T_sort_name(dst, NULL); + H5T__sort_name(src, NULL); + H5T__sort_name(dst, NULL); if(NULL == (priv->src2dst = (int *)H5MM_malloc(src->shared->u.enumer.nmembs * sizeof(int)))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed") for(i = 0, j = 0; @@ -2686,7 +2686,7 @@ H5T_conv_enum_init(H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata) } /* Sort source type by value and adjust src2dst[] appropriately */ - H5T_sort_value(src, priv->src2dst); + H5T__sort_value(src, priv->src2dst); done: if (ret_value<0 && priv) { @@ -2699,7 +2699,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_conv_enum + * Function: H5T__conv_enum * * Purpose: Converts one type of enumerated data to another. * @@ -2712,7 +2712,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *_buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -2729,7 +2729,7 @@ H5T_conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t i; /*counters */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -2777,9 +2777,9 @@ H5T_conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, * sort keys are used here during conversion. See H5T_conv_enum_init(). But * we actually don't care about the source type's order when doing the O(1) * conversion algorithm, which is turned on by non-zero priv->length */ - H5T_sort_name(dst, NULL); + H5T__sort_name(dst, NULL); if(!priv->length) - H5T_sort_value(src, NULL); + H5T__sort_value(src, NULL); /* * Direction of conversion. @@ -2885,11 +2885,11 @@ H5T_conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_enum() */ +} /* end H5T__conv_enum() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_vlen + * Function: H5T__conv_vlen * * Purpose: Converts between VL datatypes in memory and on disk. * This is a soft conversion function. The algorithm is @@ -2929,7 +2929,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dxpl_id) { H5T_vlen_alloc_info_t _vl_alloc_info; /* VL allocation info buffer */ @@ -2959,7 +2959,7 @@ H5T_conv_vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t elmtno; /*element number counter */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -3232,11 +3232,11 @@ done: tmp_buf = H5FL_BLK_FREE(vlen_seq, tmp_buf); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_vlen() */ +} /* end H5T__conv_vlen() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_array + * Function: H5T__conv_array * * Purpose: Converts between array datatypes in memory and on disk. * This is a soft conversion function. @@ -3251,7 +3251,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void UNUSED *_bkg, hid_t dxpl_id) { @@ -3267,7 +3267,7 @@ H5T_conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, void *bkg_buf = NULL; /*temporary background buffer */ herr_t ret_value=SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch (cdata->command) { case H5T_CONV_INIT: @@ -3378,11 +3378,11 @@ done: bkg_buf = H5FL_BLK_FREE(array_seq, bkg_buf); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_array() */ +} /* end H5T__conv_array() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_i_i + * Function: H5T__conv_i_i * * Purpose: Convert one integer type to another. This is the catch-all * function for integer conversions and is probably not @@ -3410,7 +3410,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t dxpl_id) { @@ -3432,7 +3432,7 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, hbool_t reverse; /*if reverse the order of destination */ herr_t ret_value=SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -3532,7 +3532,7 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, * What is the bit number for the msb bit of S which is set? The * bit number is relative to the significant part of the number. */ - sfirst = H5T_bit_find (s, src->shared->u.atomic.offset, src->shared->u.atomic.prec, + sfirst = H5T__bit_find (s, src->shared->u.atomic.offset, src->shared->u.atomic.prec, H5T_BIT_MSB, TRUE); first = (size_t)sfirst; @@ -3545,7 +3545,7 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, * The source has no bits set and must therefore be zero. * Set the destination to zero. */ - H5T_bit_set (d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec, FALSE); + H5T__bit_set (d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec, FALSE); } else if (H5T_SGN_NONE==src->shared->u.atomic.u.i.sign && H5T_SGN_NONE==dst->shared->u.atomic.u.i.sign) { @@ -3556,9 +3556,9 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, * destination will be set to the maximum possible value. */ if (src->shared->u.atomic.prec <= dst->shared->u.atomic.prec) { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, src->shared->u.atomic.prec); - H5T_bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, + H5T__bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, dst->shared->u.atomic.prec-src->shared->u.atomic.prec, FALSE); } else if (first>=dst->shared->u.atomic.prec) { /*overflow*/ @@ -3569,14 +3569,14 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } if(except_ret == H5T_CONV_UNHANDLED) { - H5T_bit_set (d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec, TRUE); + H5T__bit_set (d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec, TRUE); } else if(except_ret == H5T_CONV_ABORT) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception") else if(except_ret == H5T_CONV_HANDLED) /*Don't reverse because user handles it already*/ reverse = FALSE; } else { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, dst->shared->u.atomic.prec); } @@ -3598,16 +3598,16 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } if(except_ret == H5T_CONV_UNHANDLED) { - H5T_bit_set (d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec, FALSE); + H5T__bit_set (d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec, FALSE); } else if(except_ret == H5T_CONV_ABORT) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception") else if(except_ret == H5T_CONV_HANDLED) /*Don't reverse because user handles it already*/ reverse = FALSE; } else if (src->shared->u.atomic.prec < dst->shared->u.atomic.prec) { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, src->shared->u.atomic.prec-1); - H5T_bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec-1, + H5T__bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec-1, (dst->shared->u.atomic.prec-src->shared->u.atomic.prec)+1, FALSE); } else if (first>=dst->shared->u.atomic.prec) { /*overflow - source is positive*/ @@ -3618,14 +3618,14 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } if(except_ret == H5T_CONV_UNHANDLED) - H5T_bit_set (d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec, TRUE); + H5T__bit_set (d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec, TRUE); else if(except_ret == H5T_CONV_ABORT) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception") else if(except_ret == H5T_CONV_HANDLED) /*Don't reverse because user handles it already*/ reverse = FALSE; } else { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, dst->shared->u.atomic.prec); } @@ -3645,20 +3645,20 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } if(except_ret == H5T_CONV_UNHANDLED) { - H5T_bit_set(d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec-1, TRUE); - H5T_bit_set(d, (dst->shared->u.atomic.offset + dst->shared->u.atomic.prec-1), (size_t)1, FALSE); + H5T__bit_set(d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec-1, TRUE); + H5T__bit_set(d, (dst->shared->u.atomic.offset + dst->shared->u.atomic.prec-1), (size_t)1, FALSE); } else if(except_ret == H5T_CONV_ABORT) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception") else if(except_ret == H5T_CONV_HANDLED) /*Don't reverse because user handles it already*/ reverse = FALSE; } else if (src->shared->u.atomic.precshared->u.atomic.prec) { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, src->shared->u.atomic.prec); - H5T_bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, + H5T__bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, dst->shared->u.atomic.prec-src->shared->u.atomic.prec, FALSE); } else { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, dst->shared->u.atomic.prec); } } else if (first+1 == src->shared->u.atomic.prec) { @@ -3669,7 +3669,7 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, * destination is set to a negative number with the largest * possible magnitude. */ - ssize_t sfz = H5T_bit_find (s, src->shared->u.atomic.offset, + ssize_t sfz = H5T__bit_find (s, src->shared->u.atomic.offset, src->shared->u.atomic.prec-1, H5T_BIT_MSB, FALSE); size_t fz = (size_t)sfz; @@ -3682,18 +3682,18 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } if(except_ret == H5T_CONV_UNHANDLED) { - H5T_bit_set(d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec-1, FALSE); - H5T_bit_set(d, (dst->shared->u.atomic.offset + dst->shared->u.atomic.prec-1), (size_t)1, TRUE); + H5T__bit_set(d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec-1, FALSE); + H5T__bit_set(d, (dst->shared->u.atomic.offset + dst->shared->u.atomic.prec-1), (size_t)1, TRUE); } else if(except_ret == H5T_CONV_ABORT) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception") else if(except_ret == H5T_CONV_HANDLED) /*Don't reverse because user handles it already*/ reverse = FALSE; } else if (src->shared->u.atomic.precshared->u.atomic.prec) { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, src->shared->u.atomic.prec); - H5T_bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, dst->shared->u.atomic.prec-src->shared->u.atomic.prec, TRUE); + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, src->shared->u.atomic.prec); + H5T__bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, dst->shared->u.atomic.prec-src->shared->u.atomic.prec, TRUE); } else { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, dst->shared->u.atomic.prec); + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, dst->shared->u.atomic.prec); } } else { @@ -3712,20 +3712,20 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } if(except_ret == H5T_CONV_UNHANDLED) { - H5T_bit_set(d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec-1, TRUE); - H5T_bit_set(d, (dst->shared->u.atomic.offset + dst->shared->u.atomic.prec-1), (size_t)1, FALSE); + H5T__bit_set(d, dst->shared->u.atomic.offset, dst->shared->u.atomic.prec-1, TRUE); + H5T__bit_set(d, (dst->shared->u.atomic.offset + dst->shared->u.atomic.prec-1), (size_t)1, FALSE); } else if(except_ret == H5T_CONV_ABORT) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception") else if(except_ret == H5T_CONV_HANDLED) /*Don't reverse because user handles it already*/ reverse = FALSE; } else if (src->shared->u.atomic.precshared->u.atomic.prec) { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, src->shared->u.atomic.prec); - H5T_bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, + H5T__bit_set (d, dst->shared->u.atomic.offset+src->shared->u.atomic.prec, dst->shared->u.atomic.prec-src->shared->u.atomic.prec, FALSE); } else { - H5T_bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, + H5T__bit_copy (d, dst->shared->u.atomic.offset, s, src->shared->u.atomic.offset, dst->shared->u.atomic.prec); } } @@ -3735,11 +3735,11 @@ H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, */ if (dst->shared->u.atomic.offset>0) { assert(H5T_PAD_ZERO==dst->shared->u.atomic.lsb_pad || H5T_PAD_ONE==dst->shared->u.atomic.lsb_pad); - H5T_bit_set(d, (size_t)0, dst->shared->u.atomic.offset, (hbool_t)(H5T_PAD_ONE==dst->shared->u.atomic.lsb_pad)); + H5T__bit_set(d, (size_t)0, dst->shared->u.atomic.offset, (hbool_t)(H5T_PAD_ONE==dst->shared->u.atomic.lsb_pad)); } if (dst->shared->u.atomic.offset+dst->shared->u.atomic.prec!=8*dst->shared->size) { assert (H5T_PAD_ZERO==dst->shared->u.atomic.msb_pad || H5T_PAD_ONE==dst->shared->u.atomic.msb_pad); - H5T_bit_set (d, dst->shared->u.atomic.offset+dst->shared->u.atomic.prec, + H5T__bit_set (d, dst->shared->u.atomic.offset+dst->shared->u.atomic.prec, 8*dst->shared->size - (dst->shared->u.atomic.offset+ dst->shared->u.atomic.prec), (hbool_t)(H5T_PAD_ONE==dst->shared->u.atomic.msb_pad)); } @@ -3782,11 +3782,11 @@ done: if(src_rev) H5MM_free(src_rev); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_i_i() */ +} /* end H5T__conv_i_i() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_f_f + * Function: H5T__conv_f_f * * Purpose: Convert one floating point type to another. This is a catch * all for floating point conversions and is probably not @@ -3817,7 +3817,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t dxpl_id) { @@ -3854,7 +3854,7 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, hbool_t reverse; /*if reverse the order of destination */ herr_t ret_value = SUCCEED; /*return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -3978,21 +3978,21 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, /* * Find the sign bit value of the source. */ - sign = H5T_bit_get_d(s, src.u.f.sign, (size_t)1); + sign = H5T__bit_get_d(s, src.u.f.sign, (size_t)1); /* * Check for special cases: +0, -0, +Inf, -Inf, NaN */ - if (H5T_bit_find (s, src.u.f.mpos, src.u.f.msize, + if (H5T__bit_find (s, src.u.f.mpos, src.u.f.msize, H5T_BIT_LSB, TRUE)<0) { - if (H5T_bit_find (s, src.u.f.epos, src.u.f.esize, + if (H5T__bit_find (s, src.u.f.epos, src.u.f.esize, H5T_BIT_LSB, TRUE)<0) { /* +0 or -0 */ - H5T_bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); - H5T_bit_set (d, dst.u.f.epos, dst.u.f.esize, FALSE); - H5T_bit_set (d, dst.u.f.mpos, dst.u.f.msize, FALSE); + H5T__bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); + H5T__bit_set (d, dst.u.f.epos, dst.u.f.esize, FALSE); + H5T__bit_set (d, dst.u.f.mpos, dst.u.f.msize, FALSE); goto padding; - } else if (H5T_bit_find (s, src.u.f.epos, src.u.f.esize, + } else if (H5T__bit_find (s, src.u.f.epos, src.u.f.esize, H5T_BIT_LSB, FALSE)<0) { /* +Inf or -Inf */ if(cb_struct.func) { /*If user's exception handler is present, use it*/ @@ -4007,14 +4007,14 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } if(except_ret == H5T_CONV_UNHANDLED) { - H5T_bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); - H5T_bit_set (d, dst.u.f.epos, dst.u.f.esize, TRUE); - H5T_bit_set (d, dst.u.f.mpos, dst.u.f.msize, FALSE); + H5T__bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); + H5T__bit_set (d, dst.u.f.epos, dst.u.f.esize, TRUE); + H5T__bit_set (d, dst.u.f.mpos, dst.u.f.msize, FALSE); /*If the destination no implied mantissa bit, we'll need to set *the 1st bit of mantissa to 1. The Intel-Linux long double is *this case.*/ if (H5T_NORM_NONE==dst.u.f.norm) - H5T_bit_set (d, dst.u.f.mpos+dst.u.f.msize-1, (size_t)1, TRUE); + H5T__bit_set (d, dst.u.f.mpos+dst.u.f.msize-1, (size_t)1, TRUE); } else if(except_ret == H5T_CONV_HANDLED) { /*No need to reverse the order of destination because user handles it*/ reverse = FALSE; @@ -4024,8 +4024,8 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, goto padding; } - } else if (H5T_NORM_NONE==src.u.f.norm && H5T_bit_find (s, src.u.f.mpos, src.u.f.msize-1, - H5T_BIT_LSB, TRUE)<0 && H5T_bit_find (s, src.u.f.epos, src.u.f.esize, + } else if (H5T_NORM_NONE==src.u.f.norm && H5T__bit_find (s, src.u.f.mpos, src.u.f.msize-1, + H5T_BIT_LSB, TRUE)<0 && H5T__bit_find (s, src.u.f.epos, src.u.f.esize, H5T_BIT_LSB, FALSE)<0) { /*This is a special case for the source of no implied mantissa bit. *If the exponent bits are all 1s and only the 1st bit of mantissa @@ -4043,14 +4043,14 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } if(except_ret == H5T_CONV_UNHANDLED) { - H5T_bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); - H5T_bit_set (d, dst.u.f.epos, dst.u.f.esize, TRUE); - H5T_bit_set (d, dst.u.f.mpos, dst.u.f.msize, FALSE); + H5T__bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); + H5T__bit_set (d, dst.u.f.epos, dst.u.f.esize, TRUE); + H5T__bit_set (d, dst.u.f.mpos, dst.u.f.msize, FALSE); /*If the destination no implied mantissa bit, we'll need to set *the 1st bit of mantissa to 1. The Intel-Linux long double is *this case.*/ if (H5T_NORM_NONE==dst.u.f.norm) - H5T_bit_set (d, dst.u.f.mpos+dst.u.f.msize-1, (size_t)1, TRUE); + H5T__bit_set (d, dst.u.f.mpos+dst.u.f.msize-1, (size_t)1, TRUE); } else if(except_ret == H5T_CONV_HANDLED) { /*No need to reverse the order of destination because user handles it*/ reverse = FALSE; @@ -4062,7 +4062,7 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, #ifdef H5_VMS } /*Temporary solution to handle VAX special values*/ #else /*H5_VMS*/ - } else if (H5T_bit_find (s, src.u.f.epos, src.u.f.esize, + } else if (H5T__bit_find (s, src.u.f.epos, src.u.f.esize, H5T_BIT_LSB, FALSE)<0) { /* NaN */ if(cb_struct.func) { /*If user's exception handler is present, use it*/ @@ -4075,9 +4075,9 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if(except_ret == H5T_CONV_UNHANDLED) { /* There are many NaN values, so we just set all bits of * the significand. */ - H5T_bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); - H5T_bit_set (d, dst.u.f.epos, dst.u.f.esize, TRUE); - H5T_bit_set(d, dst.u.f.mpos, dst.u.f.msize, TRUE); + H5T__bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); + H5T__bit_set (d, dst.u.f.epos, dst.u.f.esize, TRUE); + H5T__bit_set(d, dst.u.f.mpos, dst.u.f.msize, TRUE); } else if(except_ret == H5T_CONV_HANDLED) { /*No need to reverse the order of destination because user handles it*/ reverse = FALSE; @@ -4094,7 +4094,7 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, * the source bit field where it's located. Don't worry about * the exponent bias yet. */ - expo = H5T_bit_get_d(s, src.u.f.epos, src.u.f.esize); + expo = H5T__bit_get_d(s, src.u.f.epos, src.u.f.esize); if(expo==0) denormalized=TRUE; @@ -4107,12 +4107,12 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, mpos = src.u.f.mpos; mrsh = 0; if (0==expo || H5T_NORM_NONE==src.u.f.norm) { - if ((bitno=H5T_bit_find(s, src.u.f.mpos, src.u.f.msize, + if ((bitno=H5T__bit_find(s, src.u.f.mpos, src.u.f.msize, H5T_BIT_MSB, TRUE))>0) { msize = bitno; } else if (0==bitno) { msize = 1; - H5T_bit_set(s, src.u.f.mpos, (size_t)1, FALSE); + H5T__bit_set(s, src.u.f.mpos, (size_t)1, FALSE); } } else if (H5T_NORM_IMPLIED==src.u.f.norm) { msize = src.u.f.msize; @@ -4125,7 +4125,7 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, * The sign for the destination is the same as the sign for the * source in all cases. */ - H5T_bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); + H5T__bit_copy (d, dst.u.f.sign, s, src.u.f.sign, (size_t)1); /* * Calculate the true source exponent by adjusting according to @@ -4158,7 +4158,7 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if (expo < -(hssize_t)(dst.u.f.msize)) { /* The exponent is way too small. Result is zero. */ expo = 0; - H5T_bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); + H5T__bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); msize = 0; } else if (expo<=0) { /* @@ -4188,7 +4188,7 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if(except_ret == H5T_CONV_UNHANDLED) { expo = expo_max; - H5T_bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); + H5T__bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); msize = 0; } else if(except_ret == H5T_CONV_ABORT) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception") @@ -4209,17 +4209,17 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, bitno = (ssize_t)(mrsh+msize - dst.u.f.msize); assert(bitno>=0 && (size_t)bitno<=msize); /*If the 1st bit being cut off is set and source isn't denormalized.*/ - if(H5T_bit_get_d(s, (mpos + bitno) - 1, (size_t)1) && !denormalized) { + if(H5T__bit_get_d(s, (mpos + bitno) - 1, (size_t)1) && !denormalized) { /*Don't do rounding if exponent is 111...110 and mantissa is 111...11. *To do rounding and increment exponent in this case will create an infinity value.*/ - if((H5T_bit_find(s, mpos+bitno, msize-bitno, H5T_BIT_LSB, FALSE)>=0 || expo=0 || expodst.u.f.msize+1) { - H5T_bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); + H5T__bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); } else if (mrsh==dst.u.f.msize+1) { - H5T_bit_set(d, dst.u.f.mpos+1, dst.u.f.msize-1, FALSE); - H5T_bit_set(d, dst.u.f.mpos, (size_t)1, TRUE); + H5T__bit_set(d, dst.u.f.mpos+1, dst.u.f.msize-1, FALSE); + H5T__bit_set(d, dst.u.f.mpos, (size_t)1, TRUE); } else if (mrsh==dst.u.f.msize) { - H5T_bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); - H5T_bit_set_d(d, dst.u.f.mpos, MIN(2, dst.u.f.msize), (hsize_t)implied); + H5T__bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); + H5T__bit_set_d(d, dst.u.f.mpos, MIN(2, dst.u.f.msize), (hsize_t)implied); } else { if (mrsh>0) { - H5T_bit_set(d, dst.u.f.mpos+dst.u.f.msize-mrsh, mrsh, + H5T__bit_set(d, dst.u.f.mpos+dst.u.f.msize-mrsh, mrsh, FALSE); - H5T_bit_set_d(d, dst.u.f.mpos+dst.u.f.msize-mrsh, (size_t)2, + H5T__bit_set_d(d, dst.u.f.mpos+dst.u.f.msize-mrsh, (size_t)2, (hsize_t)implied); } if (mrsh+msize>=dst.u.f.msize) { - H5T_bit_copy(d, dst.u.f.mpos, + H5T__bit_copy(d, dst.u.f.mpos, s, (mpos+msize+mrsh-dst.u.f.msize), dst.u.f.msize-mrsh); } else { - H5T_bit_copy(d, dst.u.f.mpos+dst.u.f.msize-(mrsh+msize), + H5T__bit_copy(d, dst.u.f.mpos+dst.u.f.msize-(mrsh+msize), s, mpos, msize); - H5T_bit_set(d, dst.u.f.mpos, dst.u.f.msize-(mrsh+msize), + H5T__bit_set(d, dst.u.f.mpos, dst.u.f.msize-(mrsh+msize), FALSE); } } @@ -4275,7 +4275,7 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if(except_ret == H5T_CONV_UNHANDLED) { expo = expo_max; - H5T_bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); + H5T__bit_set(d, dst.u.f.mpos, dst.u.f.msize, FALSE); } else if(except_ret == H5T_CONV_ABORT) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception") else if(except_ret == H5T_CONV_HANDLED) { @@ -4288,7 +4288,7 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, carry = 0; H5_CHECK_OVERFLOW(expo,hssize_t,hsize_t); - H5T_bit_set_d(d, dst.u.f.epos, dst.u.f.esize, (hsize_t)expo); + H5T__bit_set_d(d, dst.u.f.epos, dst.u.f.esize, (hsize_t)expo); padding: @@ -4297,11 +4297,11 @@ H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, */ if (dst.offset>0) { assert (H5T_PAD_ZERO==dst.lsb_pad || H5T_PAD_ONE==dst.lsb_pad); - H5T_bit_set (d, (size_t)0, dst.offset, (hbool_t)(H5T_PAD_ONE==dst.lsb_pad)); + H5T__bit_set (d, (size_t)0, dst.offset, (hbool_t)(H5T_PAD_ONE==dst.lsb_pad)); } if (dst.offset+dst.prec!=8*dst_p->shared->size) { assert (H5T_PAD_ZERO==dst.msb_pad || H5T_PAD_ONE==dst.msb_pad); - H5T_bit_set (d, dst.offset+dst.prec, 8*dst_p->shared->size - (dst.offset+dst.prec), + H5T__bit_set (d, dst.offset+dst.prec, 8*dst_p->shared->size - (dst.offset+dst.prec), (hbool_t)(H5T_PAD_ONE==dst.msb_pad)); } @@ -4359,11 +4359,11 @@ done: H5MM_free(src_rev); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_f_f() */ +} /* end H5T__conv_f_f() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_s_s + * Function: H5T__conv_s_s * * Purpose: Convert one fixed-length string type to another. * @@ -4385,7 +4385,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_s_s(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_s_s(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -4399,7 +4399,7 @@ H5T_conv_s_s(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, uint8_t *dbuf=NULL; /*temp buf for overlap convers. */ herr_t ret_value=SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -4592,11 +4592,11 @@ done: H5MM_xfree(dbuf); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_s_s() */ +} /* end H5T__conv_s_s() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_uchar + * Function: H5T__conv_schar_uchar * * Purpose: Converts `signed char' to `unsigned char' * @@ -4612,7 +4612,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -4622,7 +4622,7 @@ H5T_conv_schar_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_schar + * Function: H5T__conv_uchar_schar * * Purpose: Converts `unsigned char' to `signed char' * @@ -4638,7 +4638,7 @@ H5T_conv_schar_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -4648,7 +4648,7 @@ H5T_conv_uchar_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_short + * Function: H5T__conv_schar_short * * Purpose: Converts `signed char' to `short' * @@ -4664,7 +4664,7 @@ H5T_conv_uchar_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -4674,7 +4674,7 @@ H5T_conv_schar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_ushort + * Function: H5T__conv_schar_ushort * * Purpose: Converts `signed char' to `unsigned short' * @@ -4690,7 +4690,7 @@ H5T_conv_schar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -4700,7 +4700,7 @@ H5T_conv_schar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_short + * Function: H5T__conv_uchar_short * * Purpose: Converts `unsigned char' to `short' * @@ -4716,7 +4716,7 @@ H5T_conv_schar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -4726,7 +4726,7 @@ H5T_conv_uchar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_ushort + * Function: H5T__conv_uchar_ushort * * Purpose: Converts `unsigned char' to `unsigned short' * @@ -4742,7 +4742,7 @@ H5T_conv_uchar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -4752,7 +4752,7 @@ H5T_conv_uchar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_int + * Function: H5T__conv_schar_int * * Purpose: Converts `signed char' to `int' * @@ -4768,7 +4768,7 @@ H5T_conv_uchar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -4777,7 +4777,7 @@ H5T_conv_schar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_uint + * Function: H5T__conv_schar_uint * * Purpose: Converts `signed char' to `unsigned int' * @@ -4793,7 +4793,7 @@ H5T_conv_schar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -4802,7 +4802,7 @@ H5T_conv_schar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_int + * Function: H5T__conv_uchar_int * * Purpose: Converts `unsigned char' to `int' * @@ -4818,7 +4818,7 @@ H5T_conv_schar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -4827,7 +4827,7 @@ H5T_conv_uchar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_uint + * Function: H5T__conv_uchar_uint * * Purpose: Converts `unsigned char' to `unsigned int' * @@ -4843,7 +4843,7 @@ H5T_conv_uchar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -4852,7 +4852,7 @@ H5T_conv_uchar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_long + * Function: H5T__conv_schar_long * * Purpose: Converts `signed char' to `long' * @@ -4868,7 +4868,7 @@ H5T_conv_uchar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -4877,7 +4877,7 @@ H5T_conv_schar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_ulong + * Function: H5T__conv_schar_ulong * * Purpose: Converts `signed char' to `unsigned long' * @@ -4893,7 +4893,7 @@ H5T_conv_schar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -4903,7 +4903,7 @@ H5T_conv_schar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_long + * Function: H5T__conv_uchar_long * * Purpose: Converts `unsigned char' to `long' * @@ -4919,7 +4919,7 @@ H5T_conv_schar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -4928,7 +4928,7 @@ H5T_conv_uchar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_ulong + * Function: H5T__conv_uchar_ulong * * Purpose: Converts `unsigned char' to `unsigned long' * @@ -4944,7 +4944,7 @@ H5T_conv_uchar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -4954,7 +4954,7 @@ H5T_conv_uchar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_llong + * Function: H5T__conv_schar_llong * * Purpose: Converts `signed char' to `long long' * @@ -4970,7 +4970,7 @@ H5T_conv_uchar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -4980,7 +4980,7 @@ H5T_conv_schar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_ullong + * Function: H5T__conv_schar_ullong * * Purpose: Converts `signed char' to `unsigned long long' * @@ -4996,7 +4996,7 @@ H5T_conv_schar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5006,7 +5006,7 @@ H5T_conv_schar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_llong + * Function: H5T__conv_uchar_llong * * Purpose: Converts `unsigned char' to `long long' * @@ -5022,7 +5022,7 @@ H5T_conv_schar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5032,7 +5032,7 @@ H5T_conv_uchar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_ullong + * Function: H5T__conv_uchar_ullong * * Purpose: Converts `unsigned char' to `unsigned long long' * @@ -5048,7 +5048,7 @@ H5T_conv_uchar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5058,7 +5058,7 @@ H5T_conv_uchar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_schar + * Function: H5T__conv_short_schar * * Purpose: Converts `short' to `signed char' * @@ -5074,7 +5074,7 @@ H5T_conv_uchar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5084,7 +5084,7 @@ H5T_conv_short_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_uchar + * Function: H5T__conv_short_uchar * * Purpose: Converts `short' to `unsigned char' * @@ -5100,7 +5100,7 @@ H5T_conv_short_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5110,7 +5110,7 @@ H5T_conv_short_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_schar + * Function: H5T__conv_ushort_schar * * Purpose: Converts `unsigned short' to `signed char' * @@ -5126,7 +5126,7 @@ H5T_conv_short_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5136,7 +5136,7 @@ H5T_conv_ushort_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_uchar + * Function: H5T__conv_ushort_uchar * * Purpose: Converts `unsigned short' to `unsigned char' * @@ -5152,7 +5152,7 @@ H5T_conv_ushort_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5162,7 +5162,7 @@ H5T_conv_ushort_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_ushort + * Function: H5T__conv_short_ushort * * Purpose: Converts `short' to `unsigned short' * @@ -5178,7 +5178,7 @@ H5T_conv_ushort_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5188,7 +5188,7 @@ H5T_conv_short_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_short + * Function: H5T__conv_ushort_short * * Purpose: Converts `unsigned short' to `short' * @@ -5204,7 +5204,7 @@ H5T_conv_short_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5214,7 +5214,7 @@ H5T_conv_ushort_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_int + * Function: H5T__conv_short_int * * Purpose: Converts `short' to `int' * @@ -5230,7 +5230,7 @@ H5T_conv_ushort_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5240,7 +5240,7 @@ H5T_conv_short_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_uint + * Function: H5T__conv_short_uint * * Purpose: Converts `short' to `unsigned int' * @@ -5256,7 +5256,7 @@ H5T_conv_short_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5266,7 +5266,7 @@ H5T_conv_short_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_int + * Function: H5T__conv_ushort_int * * Purpose: Converts `unsigned short' to `int' * @@ -5282,7 +5282,7 @@ H5T_conv_short_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5292,7 +5292,7 @@ H5T_conv_ushort_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_uint + * Function: H5T__conv_ushort_uint * * Purpose: Converts `unsigned short' to `unsigned int' * @@ -5308,7 +5308,7 @@ H5T_conv_ushort_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5318,7 +5318,7 @@ H5T_conv_ushort_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_long + * Function: H5T__conv_short_long * * Purpose: Converts `short' to `long' * @@ -5334,7 +5334,7 @@ H5T_conv_ushort_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5344,7 +5344,7 @@ H5T_conv_short_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_ulong + * Function: H5T__conv_short_ulong * * Purpose: Converts `short' to `unsigned long' * @@ -5360,7 +5360,7 @@ H5T_conv_short_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5370,7 +5370,7 @@ H5T_conv_short_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_long + * Function: H5T__conv_ushort_long * * Purpose: Converts `unsigned short' to `long' * @@ -5386,7 +5386,7 @@ H5T_conv_short_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5396,7 +5396,7 @@ H5T_conv_ushort_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_ulong + * Function: H5T__conv_ushort_ulong * * Purpose: Converts `unsigned short' to `unsigned long' * @@ -5412,7 +5412,7 @@ H5T_conv_ushort_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5422,7 +5422,7 @@ H5T_conv_ushort_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_llong + * Function: H5T__conv_short_llong * * Purpose: Converts `short' to `long long' * @@ -5438,7 +5438,7 @@ H5T_conv_ushort_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5448,7 +5448,7 @@ H5T_conv_short_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_ullong + * Function: H5T__conv_short_ullong * * Purpose: Converts `short' to `unsigned long long' * @@ -5464,7 +5464,7 @@ H5T_conv_short_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5474,7 +5474,7 @@ H5T_conv_short_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_llong + * Function: H5T__conv_ushort_llong * * Purpose: Converts `unsigned short' to `long long' * @@ -5490,7 +5490,7 @@ H5T_conv_short_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5500,7 +5500,7 @@ H5T_conv_ushort_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_ullong + * Function: H5T__conv_ushort_ullong * * Purpose: Converts `unsigned short' to `unsigned long long' * @@ -5516,7 +5516,7 @@ H5T_conv_ushort_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5526,7 +5526,7 @@ H5T_conv_ushort_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_schar + * Function: H5T__conv_int_schar * * Purpose: Converts `int' to `signed char' * @@ -5542,7 +5542,7 @@ H5T_conv_ushort_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5552,7 +5552,7 @@ H5T_conv_int_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_uchar + * Function: H5T__conv_int_uchar * * Purpose: Converts `int' to `unsigned char' * @@ -5568,7 +5568,7 @@ H5T_conv_int_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5578,7 +5578,7 @@ H5T_conv_int_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_schar + * Function: H5T__conv_uint_schar * * Purpose: Converts `unsigned int' to `signed char' * @@ -5594,7 +5594,7 @@ H5T_conv_int_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5604,7 +5604,7 @@ H5T_conv_uint_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_uchar + * Function: H5T__conv_uint_uchar * * Purpose: Converts `unsigned int' to `unsigned char' * @@ -5620,7 +5620,7 @@ H5T_conv_uint_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5630,7 +5630,7 @@ H5T_conv_uint_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_short + * Function: H5T__conv_int_short * * Purpose: Converts `int' to `short' * @@ -5646,7 +5646,7 @@ H5T_conv_uint_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5656,7 +5656,7 @@ H5T_conv_int_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_ushort + * Function: H5T__conv_int_ushort * * Purpose: Converts `int' to `unsigned short' * @@ -5672,7 +5672,7 @@ H5T_conv_int_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5682,7 +5682,7 @@ H5T_conv_int_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_short + * Function: H5T__conv_uint_short * * Purpose: Converts `unsigned int' to `short' * @@ -5698,7 +5698,7 @@ H5T_conv_int_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5708,7 +5708,7 @@ H5T_conv_uint_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_ushort + * Function: H5T__conv_uint_ushort * * Purpose: Converts `unsigned int' to `unsigned short' * @@ -5724,7 +5724,7 @@ H5T_conv_uint_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5734,7 +5734,7 @@ H5T_conv_uint_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_uint + * Function: H5T__conv_int_uint * * Purpose: Converts `int' to `unsigned int' * @@ -5750,7 +5750,7 @@ H5T_conv_uint_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -5759,7 +5759,7 @@ H5T_conv_int_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_int + * Function: H5T__conv_uint_int * * Purpose: Converts `unsigned int' to `int' * @@ -5775,7 +5775,7 @@ H5T_conv_int_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -5784,7 +5784,7 @@ H5T_conv_uint_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_long + * Function: H5T__conv_int_long * * Purpose: Converts `int' to `long' * @@ -5800,7 +5800,7 @@ H5T_conv_uint_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -5809,7 +5809,7 @@ H5T_conv_int_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_ulong + * Function: H5T__conv_int_ulong * * Purpose: Converts `int' to `unsigned long' * @@ -5825,7 +5825,7 @@ H5T_conv_int_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -5834,7 +5834,7 @@ H5T_conv_int_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_long + * Function: H5T__conv_uint_long * * Purpose: Converts `unsigned int' to `long' * @@ -5850,7 +5850,7 @@ H5T_conv_int_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -5859,7 +5859,7 @@ H5T_conv_uint_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_ulong + * Function: H5T__conv_uint_ulong * * Purpose: Converts `unsigned int' to `unsigned long' * @@ -5875,7 +5875,7 @@ H5T_conv_uint_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -5884,7 +5884,7 @@ H5T_conv_uint_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_llong + * Function: H5T__conv_int_llong * * Purpose: Converts `int' to `long long' * @@ -5900,7 +5900,7 @@ H5T_conv_uint_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -5909,7 +5909,7 @@ H5T_conv_int_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_ullong + * Function: H5T__conv_int_ullong * * Purpose: Converts `int' to `unsigned long long' * @@ -5925,7 +5925,7 @@ H5T_conv_int_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -5934,7 +5934,7 @@ H5T_conv_int_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_llong + * Function: H5T__conv_uint_llong * * Purpose: Converts `unsigned int' to `long long' * @@ -5950,7 +5950,7 @@ H5T_conv_int_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -5959,7 +5959,7 @@ H5T_conv_uint_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_ullong + * Function: H5T__conv_uint_ullong * * Purpose: Converts `unsigned int' to `unsigned long long' * @@ -5975,7 +5975,7 @@ H5T_conv_uint_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -5985,7 +5985,7 @@ H5T_conv_uint_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_schar + * Function: H5T__conv_long_schar * * Purpose: Converts `long' to `signed char' * @@ -6001,7 +6001,7 @@ H5T_conv_uint_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6010,7 +6010,7 @@ H5T_conv_long_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_uchar + * Function: H5T__conv_long_uchar * * Purpose: Converts `long' to `unsigned char' * @@ -6026,7 +6026,7 @@ H5T_conv_long_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6035,7 +6035,7 @@ H5T_conv_long_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_schar + * Function: H5T__conv_ulong_schar * * Purpose: Converts `unsigned long' to `signed char' * @@ -6051,7 +6051,7 @@ H5T_conv_long_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ulong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6061,7 +6061,7 @@ H5T_conv_ulong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_uchar + * Function: H5T__conv_ulong_uchar * * Purpose: Converts `unsigned long' to `unsigned char' * @@ -6077,7 +6077,7 @@ H5T_conv_ulong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ulong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6087,7 +6087,7 @@ H5T_conv_ulong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_short + * Function: H5T__conv_long_short * * Purpose: Converts `long' to `short' * @@ -6103,7 +6103,7 @@ H5T_conv_ulong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6112,7 +6112,7 @@ H5T_conv_long_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_ushort + * Function: H5T__conv_long_ushort * * Purpose: Converts `long' to `unsigned short' * @@ -6128,7 +6128,7 @@ H5T_conv_long_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6138,7 +6138,7 @@ H5T_conv_long_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_short + * Function: H5T__conv_ulong_short * * Purpose: Converts `unsigned long' to `short' * @@ -6154,7 +6154,7 @@ H5T_conv_long_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ulong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6163,7 +6163,7 @@ H5T_conv_ulong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_ushort + * Function: H5T__conv_ulong_ushort * * Purpose: Converts `unsigned long' to `unsigned short' * @@ -6179,7 +6179,7 @@ H5T_conv_ulong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ulong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6189,7 +6189,7 @@ H5T_conv_ulong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_int + * Function: H5T__conv_long_int * * Purpose: Converts `long' to `int' * @@ -6205,7 +6205,7 @@ H5T_conv_ulong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6214,7 +6214,7 @@ H5T_conv_long_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_uint + * Function: H5T__conv_long_uint * * Purpose: Converts `long' to `unsigned int' * @@ -6230,7 +6230,7 @@ H5T_conv_long_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6239,7 +6239,7 @@ H5T_conv_long_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_int + * Function: H5T__conv_ulong_int * * Purpose: Converts `unsigned long' to `int' * @@ -6255,7 +6255,7 @@ H5T_conv_long_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ulong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6264,7 +6264,7 @@ H5T_conv_ulong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_uint + * Function: H5T__conv_ulong_uint * * Purpose: Converts `unsigned long' to `unsigned int' * @@ -6280,7 +6280,7 @@ H5T_conv_ulong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ulong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6289,7 +6289,7 @@ H5T_conv_ulong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_ulong + * Function: H5T__conv_long_ulong * * Purpose: Converts `long' to `unsigned long' * @@ -6305,7 +6305,7 @@ H5T_conv_ulong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6314,7 +6314,7 @@ H5T_conv_long_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_long + * Function: H5T__conv_ulong_long * * Purpose: Converts `unsigned long' to `long' * @@ -6330,7 +6330,7 @@ H5T_conv_long_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ulong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6339,7 +6339,7 @@ H5T_conv_ulong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_llong + * Function: H5T__conv_long_llong * * Purpose: Converts `long' to `long long' * @@ -6355,7 +6355,7 @@ H5T_conv_ulong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6364,7 +6364,7 @@ H5T_conv_long_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_ullong + * Function: H5T__conv_long_ullong * * Purpose: Converts `long' to `unsigned long long' * @@ -6380,7 +6380,7 @@ H5T_conv_long_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6390,7 +6390,7 @@ H5T_conv_long_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_llong + * Function: H5T__conv_ulong_llong * * Purpose: Converts `unsigned long' to `long long' * @@ -6406,7 +6406,7 @@ H5T_conv_long_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ulong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6416,7 +6416,7 @@ H5T_conv_ulong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_ullong + * Function: H5T__conv_ulong_ullong * * Purpose: Converts `unsigned long' to `unsigned long long' * @@ -6432,7 +6432,7 @@ H5T_conv_ulong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ulong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6442,7 +6442,7 @@ H5T_conv_ulong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_schar + * Function: H5T__conv_llong_schar * * Purpose: Converts `long long' to `signed char' * @@ -6458,7 +6458,7 @@ H5T_conv_ulong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6468,7 +6468,7 @@ H5T_conv_llong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_uchar + * Function: H5T__conv_llong_uchar * * Purpose: Converts `long long' to `unsigned char' * @@ -6484,7 +6484,7 @@ H5T_conv_llong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6494,7 +6494,7 @@ H5T_conv_llong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_schar + * Function: H5T__conv_ullong_schar * * Purpose: Converts `unsigned long long' to `signed char' * @@ -6510,7 +6510,7 @@ H5T_conv_llong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ullong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6520,7 +6520,7 @@ H5T_conv_ullong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_uchar + * Function: H5T__conv_ullong_uchar * * Purpose: Converts `unsigned long long' to `unsigned char' * @@ -6536,7 +6536,7 @@ H5T_conv_ullong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ullong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6546,7 +6546,7 @@ H5T_conv_ullong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_short + * Function: H5T__conv_llong_short * * Purpose: Converts `long long' to `short' * @@ -6562,7 +6562,7 @@ H5T_conv_ullong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6572,7 +6572,7 @@ H5T_conv_llong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_ushort + * Function: H5T__conv_llong_ushort * * Purpose: Converts `long long' to `unsigned short' * @@ -6588,7 +6588,7 @@ H5T_conv_llong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6598,7 +6598,7 @@ H5T_conv_llong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_short + * Function: H5T__conv_ullong_short * * Purpose: Converts `unsigned long long' to `short' * @@ -6614,7 +6614,7 @@ H5T_conv_llong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ullong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6624,7 +6624,7 @@ H5T_conv_ullong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_ushort + * Function: H5T__conv_ullong_ushort * * Purpose: Converts `unsigned long long' to `unsigned short' * @@ -6640,7 +6640,7 @@ H5T_conv_ullong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ullong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6650,7 +6650,7 @@ H5T_conv_ullong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_int + * Function: H5T__conv_llong_int * * Purpose: Converts `long long' to `int' * @@ -6666,7 +6666,7 @@ H5T_conv_ullong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6675,7 +6675,7 @@ H5T_conv_llong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_uint + * Function: H5T__conv_llong_uint * * Purpose: Converts `long long' to `unsigned int' * @@ -6691,7 +6691,7 @@ H5T_conv_llong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6700,7 +6700,7 @@ H5T_conv_llong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_int + * Function: H5T__conv_ullong_int * * Purpose: Converts `unsigned long long' to `int' * @@ -6716,7 +6716,7 @@ H5T_conv_llong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ullong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6725,7 +6725,7 @@ H5T_conv_ullong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_uint + * Function: H5T__conv_ullong_uint * * Purpose: Converts `unsigned long long' to `unsigned int' * @@ -6741,7 +6741,7 @@ H5T_conv_ullong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ullong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6751,7 +6751,7 @@ H5T_conv_ullong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_long + * Function: H5T__conv_llong_long * * Purpose: Converts `long long' to `long' * @@ -6767,7 +6767,7 @@ H5T_conv_ullong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) { @@ -6776,7 +6776,7 @@ H5T_conv_llong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_ulong + * Function: H5T__conv_llong_ulong * * Purpose: Converts `long long' to `unsigned long' * @@ -6792,7 +6792,7 @@ H5T_conv_llong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6802,7 +6802,7 @@ H5T_conv_llong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_long + * Function: H5T__conv_ullong_long * * Purpose: Converts `unsigned long long' to `long' * @@ -6818,7 +6818,7 @@ H5T_conv_llong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ullong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6828,7 +6828,7 @@ H5T_conv_ullong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_ulong + * Function: H5T__conv_ullong_ulong * * Purpose: Converts `unsigned long long' to `unsigned long' * @@ -6844,7 +6844,7 @@ H5T_conv_ullong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ullong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6854,7 +6854,7 @@ H5T_conv_ullong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_ullong + * Function: H5T__conv_llong_ullong * * Purpose: Converts `long long' to `unsigned long long' * @@ -6870,7 +6870,7 @@ H5T_conv_ullong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6880,7 +6880,7 @@ H5T_conv_llong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_llong + * Function: H5T__conv_ullong_llong * * Purpose: Converts `unsigned long long' to `long long' * @@ -6896,7 +6896,7 @@ H5T_conv_llong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ullong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6906,7 +6906,7 @@ H5T_conv_ullong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_double + * Function: H5T__conv_float_double * * Purpose: Convert native `float' to native `double' using hardware. * This is a fast special case. @@ -6926,7 +6926,7 @@ H5T_conv_ullong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_FP herr_t -H5T_conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6937,7 +6937,7 @@ H5T_conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_ldouble + * Function: H5T__conv_float_ldouble * * Purpose: Convert native `float' to native `long double' using hardware. * This is a fast special case. @@ -6953,7 +6953,7 @@ H5T_conv_float_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_LDOUBLE herr_t -H5T_conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6964,7 +6964,7 @@ H5T_conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_float + * Function: H5T__conv_double_float * * Purpose: Convert native `double' to native `float' using hardware. * This is a fast special case. @@ -6987,7 +6987,7 @@ H5T_conv_float_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_FP herr_t -H5T_conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -6998,7 +6998,7 @@ H5T_conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_ldouble + * Function: H5T__conv_double_ldouble * * Purpose: Convert native `double' to native `long double' using hardware. * This is a fast special case. @@ -7014,7 +7014,7 @@ H5T_conv_double_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_LDOUBLE herr_t -H5T_conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7025,7 +7025,7 @@ H5T_conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_float + * Function: H5T__conv_ldouble_float * * Purpose: Convert native `long double' to native `float' using hardware. * This is a fast special case. @@ -7041,7 +7041,7 @@ H5T_conv_double_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_LDOUBLE herr_t -H5T_conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7052,7 +7052,7 @@ H5T_conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_double + * Function: H5T__conv_ldouble_double * * Purpose: Convert native `long double' to native `double' using hardware. * This is a fast special case. @@ -7068,7 +7068,7 @@ H5T_conv_ldouble_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_LDOUBLE herr_t -H5T_conv_ldouble_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7079,7 +7079,7 @@ H5T_conv_ldouble_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_float + * Function: H5T__conv_schar_float * * Purpose: Convert native signed char to native float using hardware. * This is a fast special case. @@ -7094,7 +7094,7 @@ H5T_conv_ldouble_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7104,7 +7104,7 @@ H5T_conv_schar_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_double + * Function: H5T__conv_schar_double * * Purpose: Convert native signed char to native double using hardware. * This is a fast special case. @@ -7119,7 +7119,7 @@ H5T_conv_schar_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_schar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7129,7 +7129,7 @@ H5T_conv_schar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_schar_ldouble + * Function: H5T__conv_schar_ldouble * * Purpose: Convert native signed char to native long double using * hardware. This is a fast special case. @@ -7145,7 +7145,7 @@ H5T_conv_schar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE herr_t -H5T_conv_schar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_schar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7156,7 +7156,7 @@ H5T_conv_schar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_float + * Function: H5T__conv_uchar_float * * Purpose: Convert native unsigned char to native float using hardware. * This is a fast special case. @@ -7171,7 +7171,7 @@ H5T_conv_schar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7181,7 +7181,7 @@ H5T_conv_uchar_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_double + * Function: H5T__conv_uchar_double * * Purpose: Convert native unsigned char to native double using hardware. * This is a fast special case. @@ -7196,7 +7196,7 @@ H5T_conv_uchar_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uchar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7206,7 +7206,7 @@ H5T_conv_uchar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uchar_ldouble + * Function: H5T__conv_uchar_ldouble * * Purpose: Convert native unsigned char to native long double using * hardware. This is a fast special case. @@ -7222,7 +7222,7 @@ H5T_conv_uchar_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE herr_t -H5T_conv_uchar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uchar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7233,7 +7233,7 @@ H5T_conv_uchar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_float + * Function: H5T__conv_short_float * * Purpose: Convert native short to native float using hardware. * This is a fast special case. @@ -7248,7 +7248,7 @@ H5T_conv_uchar_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7258,7 +7258,7 @@ H5T_conv_short_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_double + * Function: H5T__conv_short_double * * Purpose: Convert native short to native double using hardware. * This is a fast special case. @@ -7273,7 +7273,7 @@ H5T_conv_short_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_short_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7283,7 +7283,7 @@ H5T_conv_short_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_short_ldouble + * Function: H5T__conv_short_ldouble * * Purpose: Convert native short to native long double using hardware. * This is a fast special case. @@ -7299,7 +7299,7 @@ H5T_conv_short_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE herr_t -H5T_conv_short_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_short_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7310,7 +7310,7 @@ H5T_conv_short_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_float + * Function: H5T__conv_ushort_float * * Purpose: Convert native unsigned short to native float using hardware. * This is a fast special case. @@ -7325,7 +7325,7 @@ H5T_conv_short_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7335,7 +7335,7 @@ H5T_conv_ushort_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_double + * Function: H5T__conv_ushort_double * * Purpose: Convert native unsigned short to native double using hardware. * This is a fast special case. @@ -7350,7 +7350,7 @@ H5T_conv_ushort_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_ushort_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7360,7 +7360,7 @@ H5T_conv_ushort_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ushort_ldouble + * Function: H5T__conv_ushort_ldouble * * Purpose: Convert native unsigned short to native long double using * hardware. This is a fast special case. @@ -7376,7 +7376,7 @@ H5T_conv_ushort_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE herr_t -H5T_conv_ushort_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ushort_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7387,7 +7387,7 @@ H5T_conv_ushort_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_float + * Function: H5T__conv_int_float * * Purpose: Convert native integer to native float using hardware. * This is a fast special case. @@ -7402,7 +7402,7 @@ H5T_conv_ushort_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7412,7 +7412,7 @@ H5T_conv_int_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_double + * Function: H5T__conv_int_double * * Purpose: Convert native integer to native double using hardware. * This is a fast special case. @@ -7427,7 +7427,7 @@ H5T_conv_int_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_int_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7437,7 +7437,7 @@ H5T_conv_int_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_int_ldouble + * Function: H5T__conv_int_ldouble * * Purpose: Convert native integer to native long double using hardware. * This is a fast special case. @@ -7453,7 +7453,7 @@ H5T_conv_int_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE herr_t -H5T_conv_int_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_int_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7464,7 +7464,7 @@ H5T_conv_int_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_float + * Function: H5T__conv_uint_float * * Purpose: Convert native unsigned integer to native float using * hardware. This is a fast special case. @@ -7479,7 +7479,7 @@ H5T_conv_int_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7489,7 +7489,7 @@ H5T_conv_uint_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_double + * Function: H5T__conv_uint_double * * Purpose: Convert native unsigned integer to native double using * hardware. This is a fast special case. @@ -7504,7 +7504,7 @@ H5T_conv_uint_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_uint_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7514,7 +7514,7 @@ H5T_conv_uint_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_uint_ldouble + * Function: H5T__conv_uint_ldouble * * Purpose: Convert native unsigned integer to native long double using * hardware. This is a fast special case. @@ -7530,7 +7530,7 @@ H5T_conv_uint_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE herr_t -H5T_conv_uint_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_uint_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7541,7 +7541,7 @@ H5T_conv_uint_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_float + * Function: H5T__conv_long_float * * Purpose: Convert native long to native float using hardware. * This is a fast special case. @@ -7556,7 +7556,7 @@ H5T_conv_uint_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7566,7 +7566,7 @@ H5T_conv_long_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_double + * Function: H5T__conv_long_double * * Purpose: Convert native long to native double using hardware. * This is a fast special case. @@ -7581,7 +7581,7 @@ H5T_conv_long_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_long_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7591,7 +7591,7 @@ H5T_conv_long_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_long_ldouble + * Function: H5T__conv_long_ldouble * * Purpose: Convert native long to native long double using hardware. * This is a fast special case. @@ -7607,7 +7607,7 @@ H5T_conv_long_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_INTEGER_LDOUBLE herr_t -H5T_conv_long_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_long_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7618,7 +7618,7 @@ H5T_conv_long_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_float + * Function: H5T__conv_ulong_float * * Purpose: Convert native unsigned long to native float using hardware. * This is a fast special case. @@ -7634,7 +7634,7 @@ H5T_conv_long_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_ULONG_FLT herr_t -H5T_conv_ulong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7645,7 +7645,7 @@ H5T_conv_ulong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_double + * Function: H5T__conv_ulong_double * * Purpose: Convert native unsigned long to native double using hardware. * This is a fast special case. @@ -7661,7 +7661,7 @@ H5T_conv_ulong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_ULONG_DBL herr_t -H5T_conv_ulong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7672,7 +7672,7 @@ H5T_conv_ulong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ulong_ldouble + * Function: H5T__conv_ulong_ldouble * * Purpose: Convert native unsigned long to native long double using * hardware. This is a fast special case. @@ -7688,7 +7688,7 @@ H5T_conv_ulong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_ULONG_LDOUBLE herr_t -H5T_conv_ulong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ulong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7699,7 +7699,7 @@ H5T_conv_ulong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_float + * Function: H5T__conv_llong_float * * Purpose: Convert native long long to native float using hardware. * This is a fast special case. @@ -7714,7 +7714,7 @@ H5T_conv_ulong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7724,7 +7724,7 @@ H5T_conv_llong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_double + * Function: H5T__conv_llong_double * * Purpose: Convert native long long to native double using hardware. * This is a fast special case. @@ -7739,7 +7739,7 @@ H5T_conv_llong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_llong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7749,7 +7749,7 @@ H5T_conv_llong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_llong_ldouble + * Function: H5T__conv_llong_ldouble * * Purpose: Convert native long long to native long double using * hardware. This is a fast special case. @@ -7765,7 +7765,7 @@ H5T_conv_llong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LLONG_LDOUBLE herr_t -H5T_conv_llong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_llong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7776,7 +7776,7 @@ H5T_conv_llong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_float + * Function: H5T__conv_ullong_float * * Purpose: Convert native unsigned long long to native float using * hardware. This is a fast special case. @@ -7792,7 +7792,7 @@ H5T_conv_llong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_ULLONG_FP herr_t -H5T_conv_ullong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7803,7 +7803,7 @@ H5T_conv_ullong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_double + * Function: H5T__conv_ullong_double * * Purpose: Convert native unsigned long long to native double using * hardware. This is a fast special case. @@ -7819,7 +7819,7 @@ H5T_conv_ullong_float (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_ULLONG_FP herr_t -H5T_conv_ullong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7830,7 +7830,7 @@ H5T_conv_ullong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ullong_ldouble + * Function: H5T__conv_ullong_ldouble * * Purpose: Convert native unsigned long long to native long double using * hardware. This is a fast special case. @@ -7846,7 +7846,7 @@ H5T_conv_ullong_double (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_ULLONG_LDOUBLE herr_t -H5T_conv_ullong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ullong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7857,7 +7857,7 @@ H5T_conv_ullong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_schar + * Function: H5T__conv_float_schar * * Purpose: Convert native float to native signed char using * hardware. This is a fast special case. @@ -7872,7 +7872,7 @@ H5T_conv_ullong_ldouble (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_float_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7882,7 +7882,7 @@ H5T_conv_float_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_uchar + * Function: H5T__conv_float_uchar * * Purpose: Convert native float to native unsigned char using * hardware. This is a fast special case. @@ -7897,7 +7897,7 @@ H5T_conv_float_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_float_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7907,7 +7907,7 @@ H5T_conv_float_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_schar + * Function: H5T__conv_double_schar * * Purpose: Convert native double to native signed char using * hardware. This is a fast special case. @@ -7922,7 +7922,7 @@ H5T_conv_float_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_double_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7932,7 +7932,7 @@ H5T_conv_double_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_uchar + * Function: H5T__conv_double_uchar * * Purpose: Convert native double to native unsigned char using * hardware. This is a fast special case. @@ -7947,7 +7947,7 @@ H5T_conv_double_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_double_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7957,7 +7957,7 @@ H5T_conv_double_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_schar + * Function: H5T__conv_ldouble_schar * * Purpose: Convert native long double to native signed char using * hardware. This is a fast special case. @@ -7973,7 +7973,7 @@ H5T_conv_double_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER herr_t -H5T_conv_ldouble_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -7984,7 +7984,7 @@ H5T_conv_ldouble_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_uchar + * Function: H5T__conv_ldouble_uchar * * Purpose: Convert native long double to native unsigned char using * hardware. This is a fast special case. @@ -8000,7 +8000,7 @@ H5T_conv_ldouble_schar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER herr_t -H5T_conv_ldouble_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8011,7 +8011,7 @@ H5T_conv_ldouble_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_short + * Function: H5T__conv_float_short * * Purpose: Convert native float to native short using * hardware. This is a fast special case. @@ -8026,7 +8026,7 @@ H5T_conv_ldouble_uchar (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_float_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8036,7 +8036,7 @@ H5T_conv_float_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_ushort + * Function: H5T__conv_float_ushort * * Purpose: Convert native float to native unsigned short using * hardware. This is a fast special case. @@ -8051,7 +8051,7 @@ H5T_conv_float_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_float_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8061,7 +8061,7 @@ H5T_conv_float_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_short + * Function: H5T__conv_double_short * * Purpose: Convert native double to native short using * hardware. This is a fast special case. @@ -8076,7 +8076,7 @@ H5T_conv_float_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_double_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8086,7 +8086,7 @@ H5T_conv_double_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_ushort + * Function: H5T__conv_double_ushort * * Purpose: Convert native double to native unsigned short using * hardware. This is a fast special case. @@ -8101,7 +8101,7 @@ H5T_conv_double_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_double_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8111,7 +8111,7 @@ H5T_conv_double_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_short + * Function: H5T__conv_ldouble_short * * Purpose: Convert native long double to native short using * hardware. This is a fast special case. @@ -8127,7 +8127,7 @@ H5T_conv_double_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER herr_t -H5T_conv_ldouble_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8138,7 +8138,7 @@ H5T_conv_ldouble_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_ushort + * Function: H5T__conv_ldouble_ushort * * Purpose: Convert native long double to native unsigned short using * hardware. This is a fast special case. @@ -8154,7 +8154,7 @@ H5T_conv_ldouble_short (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER herr_t -H5T_conv_ldouble_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8165,7 +8165,7 @@ H5T_conv_ldouble_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_int + * Function: H5T__conv_float_int * * Purpose: Convert native float to native int using * hardware. This is a fast special case. @@ -8180,7 +8180,7 @@ H5T_conv_ldouble_ushort (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_float_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8190,7 +8190,7 @@ H5T_conv_float_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_uint + * Function: H5T__conv_float_uint * * Purpose: Convert native float to native unsigned int using * hardware. This is a fast special case. @@ -8205,7 +8205,7 @@ H5T_conv_float_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_float_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8215,7 +8215,7 @@ H5T_conv_float_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_int + * Function: H5T__conv_double_int * * Purpose: Convert native double to native int using * hardware. This is a fast special case. @@ -8230,7 +8230,7 @@ H5T_conv_float_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_double_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8240,7 +8240,7 @@ H5T_conv_double_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_uint + * Function: H5T__conv_double_uint * * Purpose: Convert native double to native unsigned int using * hardware. This is a fast special case. @@ -8255,7 +8255,7 @@ H5T_conv_double_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_double_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8265,7 +8265,7 @@ H5T_conv_double_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_int + * Function: H5T__conv_ldouble_int * * Purpose: Convert native long double to native int using * hardware. This is a fast special case. @@ -8281,7 +8281,7 @@ H5T_conv_double_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER herr_t -H5T_conv_ldouble_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8292,7 +8292,7 @@ H5T_conv_ldouble_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_uint + * Function: H5T__conv_ldouble_uint * * Purpose: Convert native long double to native unsigned int using * hardware. This is a fast special case. @@ -8308,7 +8308,7 @@ H5T_conv_ldouble_int (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_UINT herr_t -H5T_conv_ldouble_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8319,7 +8319,7 @@ H5T_conv_ldouble_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_long + * Function: H5T__conv_float_long * * Purpose: Convert native float to native long using * hardware. This is a fast special case. @@ -8334,7 +8334,7 @@ H5T_conv_ldouble_uint (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_float_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8344,7 +8344,7 @@ H5T_conv_float_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_ulong + * Function: H5T__conv_float_ulong * * Purpose: Convert native float to native unsigned long using * hardware. This is a fast special case. @@ -8359,7 +8359,7 @@ H5T_conv_float_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_float_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8369,7 +8369,7 @@ H5T_conv_float_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_long + * Function: H5T__conv_double_long * * Purpose: Convert native double to native long using * hardware. This is a fast special case. @@ -8384,7 +8384,7 @@ H5T_conv_float_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_double_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8394,7 +8394,7 @@ H5T_conv_double_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_ulong + * Function: H5T__conv_double_ulong * * Purpose: Convert native double to native unsigned long using * hardware. This is a fast special case. @@ -8409,7 +8409,7 @@ H5T_conv_double_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_double_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8419,7 +8419,7 @@ H5T_conv_double_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_long + * Function: H5T__conv_ldouble_long * * Purpose: Convert native long double to native long using * hardware. This is a fast special case. @@ -8435,7 +8435,7 @@ H5T_conv_double_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER herr_t -H5T_conv_ldouble_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8446,7 +8446,7 @@ H5T_conv_ldouble_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_ulong + * Function: H5T__conv_ldouble_ulong * * Purpose: Convert native long double to native unsigned long using * hardware. This is a fast special case. @@ -8462,7 +8462,7 @@ H5T_conv_ldouble_long (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_INTEGER herr_t -H5T_conv_ldouble_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8473,7 +8473,7 @@ H5T_conv_ldouble_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_llong + * Function: H5T__conv_float_llong * * Purpose: Convert native float to native long long using * hardware. This is a fast special case. @@ -8489,7 +8489,7 @@ H5T_conv_ldouble_ulong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_LLONG herr_t -H5T_conv_float_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8500,7 +8500,7 @@ H5T_conv_float_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_float_ullong + * Function: H5T__conv_float_ullong * * Purpose: Convert native float to native unsigned long long using * hardware. This is a fast special case. @@ -8516,7 +8516,7 @@ H5T_conv_float_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_ULLONG herr_t -H5T_conv_float_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_float_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8527,7 +8527,7 @@ H5T_conv_float_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_llong + * Function: H5T__conv_double_llong * * Purpose: Convert native double to native long long using * hardware. This is a fast special case. @@ -8543,7 +8543,7 @@ H5T_conv_float_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_LLONG herr_t -H5T_conv_double_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8554,7 +8554,7 @@ H5T_conv_double_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_double_ullong + * Function: H5T__conv_double_ullong * * Purpose: Convert native double to native unsigned long long using * hardware. This is a fast special case. @@ -8570,7 +8570,7 @@ H5T_conv_double_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_FP_ULLONG herr_t -H5T_conv_double_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_double_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t dxpl_id) @@ -8581,7 +8581,7 @@ H5T_conv_double_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_llong + * Function: H5T__conv_ldouble_llong * * Purpose: Convert native long double to native long long using * hardware. This is a fast special case. @@ -8597,7 +8597,7 @@ H5T_conv_double_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_LLONG herr_t -H5T_conv_ldouble_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t UNUSED dxpl_id) @@ -8608,7 +8608,7 @@ H5T_conv_ldouble_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_ldouble_ullong + * Function: H5T__conv_ldouble_ullong * * Purpose: Convert native long double to native unsigned long long using * hardware. This is a fast special case. @@ -8624,7 +8624,7 @@ H5T_conv_ldouble_llong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, */ #if H5T_CONV_INTERNAL_LDOUBLE_ULLONG herr_t -H5T_conv_ldouble_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5T__conv_ldouble_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t dxpl_id) @@ -8635,7 +8635,7 @@ H5T_conv_ldouble_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, /*------------------------------------------------------------------------- - * Function: H5T_conv_f_i + * Function: H5T__conv_f_i * * Purpose: Convert one floating-point type to an integer. This is * the catch-all function for float-integer conversions and @@ -8659,7 +8659,7 @@ H5T_conv_ldouble_ullong (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, *------------------------------------------------------------------------- */ herr_t -H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t dxpl_id) { @@ -8693,7 +8693,7 @@ H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, H5T_conv_ret_t except_ret; /*return of callback function */ herr_t ret_value=SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -8818,24 +8818,24 @@ H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } /*zero-set all destination bits*/ - H5T_bit_set (d, dst.offset, dst.prec, FALSE); + H5T__bit_set (d, dst.offset, dst.prec, FALSE); /* * Find the sign bit value of the source. */ - sign = H5T_bit_get_d(s, src.u.f.sign, (size_t)1); + sign = H5T__bit_get_d(s, src.u.f.sign, (size_t)1); /* * Check for special cases: +0, -0, +Inf, -Inf, NaN */ - if (H5T_bit_find (s, src.u.f.mpos, src.u.f.msize, + if (H5T__bit_find (s, src.u.f.mpos, src.u.f.msize, H5T_BIT_LSB, TRUE)<0) { - if (H5T_bit_find (s, src.u.f.epos, src.u.f.esize, + if (H5T__bit_find (s, src.u.f.epos, src.u.f.esize, H5T_BIT_LSB, TRUE)<0) { /* +0 or -0 */ /* Set all bits to zero */ goto padding; - } else if (H5T_bit_find (s, src.u.f.epos, src.u.f.esize, + } else if (H5T__bit_find (s, src.u.f.epos, src.u.f.esize, H5T_BIT_LSB, FALSE)<0) { /* +Infinity or -Infinity */ if(sign) { /* -Infinity */ @@ -8848,7 +8848,7 @@ H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if(except_ret == H5T_CONV_UNHANDLED) { if (H5T_SGN_2==dst.u.i.sign) - H5T_bit_set (d, dst.prec-1, (size_t)1, TRUE); + H5T__bit_set (d, dst.prec-1, (size_t)1, TRUE); } else if(except_ret == H5T_CONV_HANDLED) { /*No need to reverse the order of destination because user handles it*/ reverse = FALSE; @@ -8865,9 +8865,9 @@ H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if(except_ret == H5T_CONV_UNHANDLED) { if (H5T_SGN_NONE==dst.u.i.sign) - H5T_bit_set (d, dst.offset, dst.prec, TRUE); + H5T__bit_set (d, dst.offset, dst.prec, TRUE); else if (H5T_SGN_2==dst.u.i.sign) - H5T_bit_set (d, dst.offset, dst.prec-1, TRUE); + H5T__bit_set (d, dst.offset, dst.prec-1, TRUE); } else if(except_ret == H5T_CONV_HANDLED) { /*No need to reverse the order of destination because user handles it*/ reverse = FALSE; @@ -8877,8 +8877,8 @@ H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } goto padding; } - } else if (H5T_NORM_NONE==src.u.f.norm && H5T_bit_find (s, src.u.f.mpos, src.u.f.msize-1, - H5T_BIT_LSB, TRUE)<0 && H5T_bit_find (s, src.u.f.epos, src.u.f.esize, + } else if (H5T_NORM_NONE==src.u.f.norm && H5T__bit_find (s, src.u.f.mpos, src.u.f.msize-1, + H5T_BIT_LSB, TRUE)<0 && H5T__bit_find (s, src.u.f.epos, src.u.f.esize, H5T_BIT_LSB, FALSE)<0) { /*This is a special case for the source of no implied mantissa bit. *If the exponent bits are all 1s and only the 1st bit of mantissa @@ -8894,7 +8894,7 @@ H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if(except_ret == H5T_CONV_UNHANDLED) { if (H5T_SGN_2==dst.u.i.sign) - H5T_bit_set (d, dst.prec-1, (size_t)1, TRUE); + H5T__bit_set (d, dst.prec-1, (size_t)1, TRUE); } else if(except_ret == H5T_CONV_HANDLED) { /*No need to reverse the order of destination because user handles it*/ reverse = FALSE; @@ -8911,9 +8911,9 @@ H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if(except_ret == H5T_CONV_UNHANDLED) { if (H5T_SGN_NONE==dst.u.i.sign) - H5T_bit_set (d, dst.offset, dst.prec, TRUE); + H5T__bit_set (d, dst.offset, dst.prec, TRUE); else if (H5T_SGN_2==dst.u.i.sign) - H5T_bit_set (d, dst.offset, dst.prec-1, TRUE); + H5T__bit_set (d, dst.offset, dst.prec-1, TRUE); } else if(except_ret == H5T_CONV_HANDLED) { /*No need to reverse the order of destination because user handles it*/ reverse = FALSE; @@ -8922,7 +8922,7 @@ H5T_conv_f_i(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; - } else if (H5T_bit_find (s, src.u.f.epos, src.u.f.esize, + } else if (H5T__bit_find (s, src.u.f.epos, src.u.f.esize, H5T_BIT_LSB, FALSE)<0) { /* NaN */ if(cb_struct.func) { /*If user's exception handler is present, use it*/ @@ -8950,7 +8950,7 @@ H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, * the source bit field where it's located. Not expecting * exponent to be greater than the maximal value of hssize_t. */ - expo = H5T_bit_get_d(s, src.u.f.epos, src.u.f.esize); + expo = H5T__bit_get_d(s, src.u.f.epos, src.u.f.esize); /* * Calculate the true source exponent by adjusting according to @@ -8975,14 +8975,14 @@ H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, * V V V V * buf[0] buf[1] buf[2] buf[3] */ - H5T_bit_copy(int_buf, (size_t)0, s, src.u.f.mpos, src.u.f.msize); + H5T__bit_copy(int_buf, (size_t)0, s, src.u.f.mpos, src.u.f.msize); /* * Restore the implicit bit for mantissa if it's implied. * Equivalent to mantissa |= (hsize_t)1<0) { assert (H5T_PAD_ZERO==dst.lsb_pad || H5T_PAD_ONE==dst.lsb_pad); - H5T_bit_set(d, (size_t)0, dst.offset, (hbool_t)(H5T_PAD_ONE==dst.lsb_pad)); + H5T__bit_set(d, (size_t)0, dst.offset, (hbool_t)(H5T_PAD_ONE==dst.lsb_pad)); } if (dst.offset+dst.prec!=8*dst_p->shared->size) { assert (H5T_PAD_ZERO==dst.msb_pad || H5T_PAD_ONE==dst.msb_pad); - H5T_bit_set(d, dst.offset+dst.prec, + H5T__bit_set(d, dst.offset+dst.prec, 8*dst_p->shared->size - (dst.offset+ dst.prec), (hbool_t)(H5T_PAD_ONE==dst.msb_pad)); } @@ -9218,11 +9218,11 @@ done: H5MM_free(src_rev); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_f_i() */ +} /* end H5T__conv_f_i() */ /*------------------------------------------------------------------------- - * Function: H5T_conv_i_f + * Function: H5T__conv_i_f * * Purpose: Convert one integer type to a floating-point type. This is * the catch-all function for integer-float conversions and @@ -9246,7 +9246,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, +H5T__conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t UNUSED bkg_stride, void *buf, void UNUSED *bkg, hid_t dxpl_id) { @@ -9282,7 +9282,7 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, hbool_t reverse; /*if reverse the order of destination */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE switch(cdata->command) { case H5T_CONV_INIT: @@ -9399,28 +9399,28 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } /*zero-set all destination bits*/ - H5T_bit_set (d, dst.offset, dst.prec, FALSE); + H5T__bit_set (d, dst.offset, dst.prec, FALSE); /* Copy source into a temporary buffer */ - H5T_bit_copy(int_buf, (size_t)0, s, src.offset, src.prec); + H5T__bit_copy(int_buf, (size_t)0, s, src.offset, src.prec); /* * Find the sign bit value of the source. */ if(H5T_SGN_2 == src.u.i.sign) - sign = (size_t)H5T_bit_get_d(int_buf, src.prec - 1, (size_t)1); + sign = (size_t)H5T__bit_get_d(int_buf, src.prec - 1, (size_t)1); /* * What is the bit position(starting from 0 as first one) for the most significant * bit(MSB) of S which is set? */ if(H5T_SGN_2 == src.u.i.sign) { - sfirst = H5T_bit_find(int_buf, (size_t)0, src.prec - 1, H5T_BIT_MSB, TRUE); + sfirst = H5T__bit_find(int_buf, (size_t)0, src.prec - 1, H5T_BIT_MSB, TRUE); if(sign && sfirst < 0) /* The case 0x80...00, which is negative with maximal value */ is_max_neg = 1; } else if(H5T_SGN_NONE == src.u.i.sign) - sfirst = H5T_bit_find(int_buf, (size_t)0, src.prec, H5T_BIT_MSB, TRUE); + sfirst = H5T__bit_find(int_buf, (size_t)0, src.prec, H5T_BIT_MSB, TRUE); /* Handle special cases here. Integer is zero */ if(!sign && sfirst < 0) @@ -9432,9 +9432,9 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if(H5T_SGN_2 == src.u.i.sign && sign) { if(!is_max_neg) { /* Equivalent to ~(i - 1) */ - H5T_bit_dec(int_buf, (size_t)0, buf_size * 8); - H5T_bit_neg(int_buf, (size_t)0, buf_size * 8); - sfirst = H5T_bit_find(int_buf, (size_t)0, src.prec - 1, H5T_BIT_MSB, TRUE); + H5T__bit_dec(int_buf, (size_t)0, buf_size * 8); + H5T__bit_neg(int_buf, (size_t)0, buf_size * 8); + sfirst = H5T__bit_find(int_buf, (size_t)0, src.prec - 1, H5T_BIT_MSB, TRUE); } else { /* If it's maximal negative number 0x80...000, treat it as if it overflowed * (create a carry) to help conversion. i.e. a character type number 0x80 @@ -9449,10 +9449,10 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, /* Sign bit has been negated if bit vector isn't 0x80...00. Set all bits in front of * sign bit to 0 in the temporary buffer because they're all negated from the previous * step. */ - H5T_bit_set(int_buf, src.prec, (buf_size * 8) - src.prec, 0); + H5T__bit_set(int_buf, src.prec, (buf_size * 8) - src.prec, 0); /* Set sign bit in destination */ - H5T_bit_set_d(d, dst.u.f.sign, (size_t)1, (hsize_t)sign); + H5T__bit_set_d(d, dst.u.f.sign, (size_t)1, (hsize_t)sign); } /* end if */ first = (size_t)sfirst; @@ -9472,7 +9472,7 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, /* Handle mantissa part here */ if (H5T_NORM_IMPLIED==dst.u.f.norm) { /* Imply first bit */ - H5T_bit_set(int_buf, first, (size_t)1, 0); + H5T__bit_set(int_buf, first, (size_t)1, 0); } else if (H5T_NORM_NONE==dst.u.f.norm) { first++; } @@ -9501,28 +9501,28 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, */ /* Check 1st dropoff bit, see if it's set. */ - if(H5T_bit_get_d(int_buf, ((first - dst.u.f.msize) - 1), (size_t)1)) { + if(H5T__bit_get_d(int_buf, ((first - dst.u.f.msize) - 1), (size_t)1)) { /* Check all bits after 1st dropoff bit, see if any of them is set. */ - if(((first - dst.u.f.msize) - 1) > 0 && H5T_bit_get_d(int_buf, (size_t)0, ((first - dst.u.f.msize) - 1))) + if(((first - dst.u.f.msize) - 1) > 0 && H5T__bit_get_d(int_buf, (size_t)0, ((first - dst.u.f.msize) - 1))) do_round = 1; else { /* The .50...0 case */ /* Check if the least significant bit is odd. */ - if(H5T_bit_get_d(int_buf, (first - dst.u.f.msize), (size_t)1)) + if(H5T__bit_get_d(int_buf, (first - dst.u.f.msize), (size_t)1)) do_round = 1; } } /* Right shift to drop off extra bits */ - H5T_bit_shift(int_buf, (ssize_t)(dst.u.f.msize - first), (size_t)0, buf_size * 8); + H5T__bit_shift(int_buf, (ssize_t)(dst.u.f.msize - first), (size_t)0, buf_size * 8); if(do_round) { - H5T_bit_inc(int_buf, (size_t)0, buf_size * 8); + H5T__bit_inc(int_buf, (size_t)0, buf_size * 8); do_round = 0; /* If integer is like 0x0ff...fff and we need to round up the * last f, we get 0x100...000. Treat this special case here. */ - if(H5T_bit_get_d(int_buf, dst.u.f.msize, (size_t)1)) { + if(H5T__bit_get_d(int_buf, dst.u.f.msize, (size_t)1)) { if (H5T_NORM_IMPLIED==dst.u.f.norm) { /* The bit at this 1's position was impled already, so this * number should be 0x200...000. We need to increment the @@ -9533,7 +9533,7 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, /* Right shift 1 bit to let the carried 1 fit in the mantissa, * and increment exponent by 1. */ - H5T_bit_shift(int_buf, (ssize_t)-1, (size_t)0, buf_size * 8); + H5T__bit_shift(int_buf, (ssize_t)-1, (size_t)0, buf_size * 8); expo++; } } @@ -9541,7 +9541,7 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, } else { /* The bit sequence can fit mantissa part. Left shift to fit in from high-order of * bit position. */ - H5T_bit_shift(int_buf, (ssize_t)(dst.u.f.msize - first), (size_t)0, dst.u.f.msize); + H5T__bit_shift(int_buf, (ssize_t)(dst.u.f.msize - first), (size_t)0, dst.u.f.msize); } @@ -9570,10 +9570,10 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, if(except_ret == H5T_CONV_UNHANDLED) { /* Set exponent in destination */ - H5T_bit_set_d(d, dst.u.f.epos, dst.u.f.esize, expo); + H5T__bit_set_d(d, dst.u.f.epos, dst.u.f.esize, expo); /* Copy mantissa into destination */ - H5T_bit_copy(d, dst.u.f.mpos, int_buf, (size_t)0, (buf_size * 8) > dst.u.f.msize ? dst.u.f.msize : buf_size * 8); + H5T__bit_copy(d, dst.u.f.mpos, int_buf, (size_t)0, (buf_size * 8) > dst.u.f.msize ? dst.u.f.msize : buf_size * 8); } padding: @@ -9582,11 +9582,11 @@ H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, */ if(dst.offset > 0) { HDassert(H5T_PAD_ZERO == dst.lsb_pad || H5T_PAD_ONE == dst.lsb_pad); - H5T_bit_set(d, (size_t)0, dst.offset, (hbool_t)(H5T_PAD_ONE==dst.lsb_pad)); + H5T__bit_set(d, (size_t)0, dst.offset, (hbool_t)(H5T_PAD_ONE==dst.lsb_pad)); } if(dst.offset + dst.prec != 8 * dst_p->shared->size) { HDassert(H5T_PAD_ZERO == dst.msb_pad || H5T_PAD_ONE == dst.msb_pad); - H5T_bit_set(d, dst.offset + dst.prec, + H5T__bit_set(d, dst.offset + dst.prec, 8 * dst_p->shared->size - (dst.offset + dst.prec), (hbool_t)(H5T_PAD_ONE == dst.msb_pad)); } @@ -9648,7 +9648,7 @@ done: H5MM_free(src_rev); FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_conv_i_f() */ +} /* end H5T__conv_i_f() */ /*------------------------------------------------------------------------- diff --git a/src/H5Tdbg.c b/src/H5Tdbg.c index c161f9f..e5df7ff 100644 --- a/src/H5Tdbg.c +++ b/src/H5Tdbg.c @@ -76,7 +76,7 @@ /*------------------------------------------------------------------------- - * Function: H5T_print_stats + * Function: H5T__print_stats * * Purpose: Print statistics about a conversion path. Statistics are * printed only if all the following conditions are true: @@ -102,14 +102,14 @@ *------------------------------------------------------------------------- */ herr_t -H5T_print_stats(H5T_path_t UNUSED * path, int UNUSED * nprint/*in,out*/) +H5T__print_stats(H5T_path_t UNUSED * path, int UNUSED * nprint/*in,out*/) { #ifdef H5T_DEBUG hsize_t nbytes; char bandwidth[32]; #endif - FUNC_ENTER_NOAPI_NOINIT_NOERR + FUNC_ENTER_PACKAGE_NOERR #ifdef H5T_DEBUG if(H5DEBUG(T) && path->stats.ncalls > 0) { @@ -143,7 +143,7 @@ H5T_print_stats(H5T_path_t UNUSED * path, int UNUSED * nprint/*in,out*/) } #endif FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5T_print_stats() */ +} /* end H5T__print_stats() */ /*------------------------------------------------------------------------- diff --git a/src/H5Tenum.c b/src/H5Tenum.c index 1e3d760..8e4e8a2 100644 --- a/src/H5Tenum.c +++ b/src/H5Tenum.c @@ -91,7 +91,7 @@ H5Tenum_create(hid_t parent_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an integer data type") /* Build new type */ - if((dt=H5T_enum_create(parent))==NULL) + if(NULL == (dt = H5T__enum_create(parent))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "cannot create enum type") /* Atomize the type */ if ((ret_value=H5I_register(H5I_DATATYPE, dt, TRUE))<0) @@ -103,7 +103,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_enum_create + * Function: H5T__enum_create * * Purpose: Private function for H5Tenum_create. Create a new * enumeration data type based on the specified @@ -121,16 +121,16 @@ done: *------------------------------------------------------------------------- */ H5T_t * -H5T_enum_create(const H5T_t *parent) +H5T__enum_create(const H5T_t *parent) { H5T_t *ret_value; /*new enumeration data type */ - FUNC_ENTER_NOAPI(NULL) + FUNC_ENTER_PACKAGE assert(parent); /* Build new type */ - if(NULL == (ret_value = H5T_alloc())) + if(NULL == (ret_value = H5T__alloc())) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") ret_value->shared->type = H5T_ENUM; ret_value->shared->parent = H5T_copy(parent, H5T_COPY_ALL); @@ -183,7 +183,7 @@ H5Tenum_insert(hid_t type, const char *name, const void *value) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no value specified") /* Do work */ - if (H5T_enum_insert(dt, name, value)<0) + if(H5T__enum_insert(dt, name, value) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to insert new enumeration member") done: @@ -192,7 +192,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_enum_insert + * Function: H5T__enum_insert * * Purpose: Insert a new member having a NAME and VALUE into an * enumeration data TYPE. The NAME and VALUE must both be @@ -211,14 +211,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_enum_insert(const H5T_t *dt, const char *name, const void *value) +H5T__enum_insert(const H5T_t *dt, const char *name, const void *value) { unsigned i; char **names=NULL; uint8_t *values=NULL; herr_t ret_value=SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE assert(dt); assert(name && *name); @@ -292,7 +292,7 @@ H5Tget_member_value(hid_t type, unsigned membno, void *value/*out*/) if (!value) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "null value buffer") - if (H5T_get_member_value(dt, membno, value)<0) + if(H5T__get_member_value(dt, membno, value) < 0) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get member value") done: FUNC_LEAVE_API(ret_value) @@ -300,9 +300,9 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_get_member_value + * Function: H5T__get_member_value * - * Purpose: Private function for H5T_get_member_value. Return the + * Purpose: Private function for H5T__get_member_value. Return the * value for an enumeration data type member. * * Return: Success: non-negative with the member value copied @@ -318,19 +318,16 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_get_member_value(const H5T_t *dt, unsigned membno, void *value/*out*/) +H5T__get_member_value(const H5T_t *dt, unsigned membno, void *value/*out*/) { - herr_t ret_value=SUCCEED; /* Return value */ - - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE_NOERR assert(dt); assert(value); HDmemcpy(value, dt->shared->u.enumer.value + membno*dt->shared->size, dt->shared->size); -done: - FUNC_LEAVE_NOAPI(ret_value) + FUNC_LEAVE_NOAPI(SUCCEED) } @@ -439,7 +436,7 @@ H5T_enum_nameof(const H5T_t *dt, const void *value, char *name/*out*/, size_t si * and search on the copied datatype to protect the original order. */ if(NULL == (copied_dt = H5T_copy(dt, H5T_COPY_ALL))) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to copy data type") - if(H5T_sort_value(copied_dt, NULL) < 0) + if(H5T__sort_value(copied_dt, NULL) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOMPARE, NULL, "value sort failed") lt = 0; @@ -578,7 +575,7 @@ H5T_enum_valueof(const H5T_t *dt, const char *name, void *value/*out*/) * and search on the copied datatype to protect the original order. */ if (NULL==(copied_dt=H5T_copy(dt, H5T_COPY_ALL))) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to copy data type"); - if(H5T_sort_name(copied_dt, NULL)<0) + if(H5T__sort_name(copied_dt, NULL) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTCOMPARE, FAIL, "value sort failed") lt = 0; diff --git a/src/H5Tfields.c b/src/H5Tfields.c index a208f75..aa1efe8 100644 --- a/src/H5Tfields.c +++ b/src/H5Tfields.c @@ -168,7 +168,7 @@ H5Tget_member_name(hid_t type_id, unsigned membno) if (NULL == (dt = H5I_object_verify(type_id,H5I_DATATYPE))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a datatype") - if((ret_value = H5T_get_member_name(dt, membno))==NULL) + if(NULL == (ret_value = H5T__get_member_name(dt, membno))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "unable to get member name") done: @@ -177,7 +177,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_get_member_name + * Function: H5T__get_member_name * * Purpose: Private function for H5Tget_member_name. Returns the name * of a member of a compound or enumeration datatype. Members @@ -196,11 +196,11 @@ done: *------------------------------------------------------------------------- */ char * -H5T_get_member_name(H5T_t const *dt, unsigned membno) +H5T__get_member_name(H5T_t const *dt, unsigned membno) { char *ret_value; - FUNC_ENTER_NOAPI(NULL) + FUNC_ENTER_PACKAGE assert(dt); @@ -283,7 +283,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_sort_value + * Function: H5T__sort_value * * Purpose: Sorts the members of a compound datatype by their offsets; * sorts the members of an enum type by their values. This even @@ -299,7 +299,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_sort_value(const H5T_t *dt, int *map) +H5T__sort_value(const H5T_t *dt, int *map) { unsigned nmembs; /* Number of members for datatype */ size_t size; @@ -308,7 +308,7 @@ H5T_sort_value(const H5T_t *dt, int *map) unsigned i, j; /* Local index variables */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ HDassert(dt); @@ -383,11 +383,11 @@ H5T_sort_value(const H5T_t *dt, int *map) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_sort_value() */ +} /* end H5T__sort_value() */ /*------------------------------------------------------------------------- - * Function: H5T_sort_name + * Function: H5T__sort_name * * Purpose: Sorts members of a compound or enumeration datatype by their * names. This even works for locked datatypes since it doesn't @@ -405,7 +405,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5T_sort_name(const H5T_t *dt, int *map) +H5T__sort_name(const H5T_t *dt, int *map) { unsigned i, j, nmembs; size_t size; @@ -413,7 +413,7 @@ H5T_sort_name(const H5T_t *dt, int *map) uint8_t tbuf[32]; herr_t ret_value=SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Check args */ assert(dt); diff --git a/src/H5Tnative.c b/src/H5Tnative.c index 50bb96e..b9192f9 100644 --- a/src/H5Tnative.c +++ b/src/H5Tnative.c @@ -290,7 +290,7 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig if(NULL == (memb_type = H5T_get_member_type(dtype, u, H5T_COPY_TRANSIENT))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "member type retrieval failed") - if(NULL == (comp_mname[u] = H5T_get_member_name(dtype, u))) + if(NULL == (comp_mname[u] = H5T__get_member_name(dtype, u))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "member type retrieval failed") if(NULL == (memb_list[u] = H5T_get_native_type(memb_type, direction, &children_st_align, &(memb_offset[u]), &children_size))) @@ -305,12 +305,12 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig children_size += children_st_align - (children_size % children_st_align); /* Construct new compound type based on native type */ - if(NULL == (new_type = H5T_create(H5T_COMPOUND, children_size))) + if(NULL == (new_type = H5T__create(H5T_COMPOUND, children_size))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot create a compound type") /* Insert members for the new compound type */ for(u = 0; u < nmemb; u++) - if(H5T_insert(new_type, comp_mname[u], memb_offset[u], memb_list[u]) < 0) + if(H5T__insert(new_type, comp_mname[u], memb_offset[u], memb_list[u]) < 0) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot insert member to compound datatype") /* Update size, offset and compound alignment for parent in the case of @@ -377,7 +377,7 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot allocate memory") /* Construct new enum type based on native type */ - if(NULL == (new_type=H5T_enum_create(nat_super_type))) + if(NULL == (new_type = H5T__enum_create(nat_super_type))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "unable to create enum type") /* Retrieve member info and insert members into new enum type */ @@ -385,16 +385,16 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "enumerate data type doesn't have any member") H5_ASSIGN_OVERFLOW(nmemb, snmemb, int, unsigned); for(u = 0; u < nmemb; u++) { - if(NULL == (memb_name = H5T_get_member_name(dtype, u))) + if(NULL == (memb_name = H5T__get_member_name(dtype, u))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot get member name") - if(H5T_get_member_value(dtype, u, tmp_memb_value) < 0) + if(H5T__get_member_value(dtype, u, tmp_memb_value) < 0) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot get member value") HDmemcpy(memb_value, tmp_memb_value, H5T_get_size(super_type)); if(H5Tconvert(super_type_id, nat_super_type_id, (size_t)1, memb_value, NULL, H5P_DEFAULT) < 0) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot get member value") - if(H5T_enum_insert(new_type, memb_name, memb_value) < 0) + if(H5T__enum_insert(new_type, memb_name, memb_value) < 0) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot insert member") memb_name = (char *)H5MM_xfree(memb_name); } @@ -422,12 +422,12 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig size_t super_align = 0; /* Retrieve dimension information for array data type */ - if((sarray_rank = H5T_get_array_ndims(dtype)) <= 0) + if((sarray_rank = H5T__get_array_ndims(dtype)) <= 0) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot get dimension rank") H5_ASSIGN_OVERFLOW(array_rank, sarray_rank, int, unsigned); if(NULL == (dims = (hsize_t*)H5MM_malloc(array_rank * sizeof(hsize_t)))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot allocate memory") - if(H5T_get_array_dims(dtype, dims) < 0) + if(H5T__get_array_dims(dtype, dims) < 0) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot get dimension size") /* Retrieve base type for array type */ @@ -442,7 +442,7 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig HGOTO_ERROR(H5E_ARGS, H5E_CLOSEERROR, NULL, "cannot close datatype") /* Create a new array type based on native type */ - if(NULL == (new_type = H5T_array_create(nat_super_type, array_rank, dims))) + if(NULL == (new_type = H5T__array_create(nat_super_type, array_rank, dims))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "unable to create array type") /* Close base type */ @@ -480,7 +480,7 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig HGOTO_ERROR(H5E_ARGS, H5E_CLOSEERROR, NULL, "cannot close datatype") /* Create a new array type based on native type */ - if(NULL == (new_type = H5T_vlen_create(nat_super_type))) + if(NULL == (new_type = H5T__vlen_create(nat_super_type))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "unable to create VL type") /* Close base type */ diff --git a/src/H5Toh.c b/src/H5Toh.c index be853f1..7961706 100644 --- a/src/H5Toh.c +++ b/src/H5Toh.c @@ -183,7 +183,7 @@ H5O_dtype_create(H5F_t *f, void *_crt_info, H5G_loc_t *obj_loc, hid_t dxpl_id) HDassert(obj_loc); /* Commit the type to the file */ - if(H5T_commit(f, crt_info->dt, crt_info->tcpl_id, dxpl_id) < 0) + if(H5T__commit(f, crt_info->dt, crt_info->tcpl_id, dxpl_id) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to commit datatype") /* Set up the new named datatype's location */ diff --git a/src/H5Tpkg.h b/src/H5Tpkg.h index f25fb1e..b9364d6 100644 --- a/src/H5Tpkg.h +++ b/src/H5Tpkg.h @@ -46,9 +46,6 @@ /* Other public headers needed by this file */ #include "H5Spublic.h" /* Dataspace functions */ -/* Number of reserved IDs in ID group */ -#define H5T_RESERVED_ATOMS 8 - /* Length of debugging name buffer */ #define H5T_NAMELEN 32 @@ -378,7 +375,7 @@ typedef struct H5T_shared_t { H5T_class_t type; /*which class of type is this? */ size_t size; /*total size of an instance of this type */ unsigned version; /* Version of object header message to encode this object with */ - hbool_t force_conv;/* Set if this type always needs to be converted and H5T_conv_noop cannot be called */ + hbool_t force_conv;/* Set if this type always needs to be converted and H5T__conv_noop cannot be called */ struct H5T_t *parent;/*parent type for derived datatypes */ union { H5T_atomic_t atomic; /* an atomic datatype */ @@ -511,899 +508,897 @@ H5FL_EXTERN(H5T_t); H5FL_EXTERN(H5T_shared_t); /* Common functions */ -H5_DLL H5T_t *H5T_create(H5T_class_t type, size_t size); -H5_DLL herr_t H5T_commit(H5F_t *file, H5T_t *type, hid_t tcpl_id, hid_t dxpl_id); +H5_DLL H5T_t *H5T__create(H5T_class_t type, size_t size); +H5_DLL herr_t H5T__commit(H5F_t *file, H5T_t *type, hid_t tcpl_id, hid_t dxpl_id); H5_DLL herr_t H5T__commit_named(const H5G_loc_t *loc, const char *name, H5T_t *dt, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id, hid_t dxpl_id); -H5_DLL H5T_t *H5T_alloc(void); -H5_DLL herr_t H5T_free(H5T_t *dt); -H5_DLL herr_t H5T_visit(H5T_t *dt, unsigned visit_flags, H5T_operator_t op, +H5_DLL H5T_t *H5T__alloc(void); +H5_DLL herr_t H5T__free(H5T_t *dt); +H5_DLL herr_t H5T__visit(H5T_t *dt, unsigned visit_flags, H5T_operator_t op, void *op_value); -H5_DLL herr_t H5T_set_size(H5T_t *dt, size_t size); -H5_DLL herr_t H5T_upgrade_version(H5T_t *dt, unsigned new_version); +H5_DLL herr_t H5T__upgrade_version(H5T_t *dt, unsigned new_version); /* Conversion functions */ -H5_DLL herr_t H5T_conv_noop(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_noop(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_order(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_order(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_order_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_order_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_struct_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_struct_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_s_s(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_s_s(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *_buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_schar_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_uchar_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_schar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_schar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_uchar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, +H5_DLL herr_t H5T__conv_uchar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_schar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_schar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uchar_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uchar_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_schar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_schar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uchar_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uchar_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_schar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_schar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uchar_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uchar_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_schar_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_schar_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_schar_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_schar_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uchar_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uchar_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uchar_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uchar_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_short_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_short_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ushort_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ushort_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_int_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_int_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_uint_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_uint_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_long_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_long_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ulong_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ulong_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_llong_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_llong_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_float(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_float(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_double(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_double(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ullong_ldouble(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ullong_ldouble(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_float_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_float_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_double_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_double_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_schar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_uchar(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_short(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_ushort(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_int(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_uint(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_uint(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_long(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_long(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_ulong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_ulong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_llong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_llong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); -H5_DLL herr_t H5T_conv_ldouble_ullong(hid_t src_id, hid_t dst_id, +H5_DLL herr_t H5T__conv_ldouble_ullong(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist); /* Bit twiddling functions */ -H5_DLL void H5T_bit_copy(uint8_t *dst, size_t dst_offset, const uint8_t *src, +H5_DLL void H5T__bit_copy(uint8_t *dst, size_t dst_offset, const uint8_t *src, size_t src_offset, size_t size); -H5_DLL herr_t H5T_bit_shift(uint8_t *buf, ssize_t shift_dist, size_t offset, size_t size); -H5_DLL void H5T_bit_set(uint8_t *buf, size_t offset, size_t size, +H5_DLL herr_t H5T__bit_shift(uint8_t *buf, ssize_t shift_dist, size_t offset, size_t size); +H5_DLL void H5T__bit_set(uint8_t *buf, size_t offset, size_t size, hbool_t value); -H5_DLL uint64_t H5T_bit_get_d(uint8_t *buf, size_t offset, size_t size); -H5_DLL void H5T_bit_set_d(uint8_t *buf, size_t offset, size_t size, +H5_DLL uint64_t H5T__bit_get_d(uint8_t *buf, size_t offset, size_t size); +H5_DLL void H5T__bit_set_d(uint8_t *buf, size_t offset, size_t size, uint64_t val); -H5_DLL ssize_t H5T_bit_find(uint8_t *buf, size_t offset, size_t size, +H5_DLL ssize_t H5T__bit_find(uint8_t *buf, size_t offset, size_t size, H5T_sdir_t direction, hbool_t value); -H5_DLL htri_t H5T_bit_inc(uint8_t *buf, size_t start, size_t size); -H5_DLL htri_t H5T_bit_dec(uint8_t *buf, size_t start, size_t size); -H5_DLL void H5T_bit_neg(uint8_t *buf, size_t start, size_t size); +H5_DLL htri_t H5T__bit_inc(uint8_t *buf, size_t start, size_t size); +H5_DLL htri_t H5T__bit_dec(uint8_t *buf, size_t start, size_t size); +H5_DLL void H5T__bit_neg(uint8_t *buf, size_t start, size_t size); /* VL functions */ -H5_DLL H5T_t * H5T_vlen_create(const H5T_t *base); -H5_DLL htri_t H5T_vlen_set_loc(const H5T_t *dt, H5F_t *f, H5T_loc_t loc); +H5_DLL H5T_t * H5T__vlen_create(const H5T_t *base); +H5_DLL htri_t H5T__vlen_set_loc(const H5T_t *dt, H5F_t *f, H5T_loc_t loc); /* Array functions */ -H5_DLL H5T_t *H5T_array_create(H5T_t *base, unsigned ndims, const hsize_t dim[/* ndims */]); -H5_DLL int H5T_get_array_ndims(const H5T_t *dt); -H5_DLL int H5T_get_array_dims(const H5T_t *dt, hsize_t dims[]); +H5_DLL H5T_t *H5T__array_create(H5T_t *base, unsigned ndims, const hsize_t dim[/* ndims */]); +H5_DLL int H5T__get_array_ndims(const H5T_t *dt); +H5_DLL int H5T__get_array_dims(const H5T_t *dt, hsize_t dims[]); /* Compound functions */ -H5_DLL herr_t H5T_insert(H5T_t *parent, const char *name, size_t offset, +H5_DLL herr_t H5T__insert(H5T_t *parent, const char *name, size_t offset, const H5T_t *member); -H5_DLL size_t H5T_get_member_size(const H5T_t *dt, unsigned membno); -H5_DLL htri_t H5T_is_packed(const H5T_t *dt); -H5_DLL void H5T_update_packed(const H5T_t *dt); -H5_DLL H5T_subset_info_t *H5T_conv_struct_subset(const H5T_cdata_t *cdata); +H5_DLL size_t H5T__get_member_size(const H5T_t *dt, unsigned membno); +H5_DLL void H5T__update_packed(const H5T_t *dt); +H5_DLL H5T_subset_info_t *H5T__conv_struct_subset(const H5T_cdata_t *cdata); /* Enumerated type functions */ -H5_DLL H5T_t *H5T_enum_create(const H5T_t *parent); -H5_DLL herr_t H5T_enum_insert(const H5T_t *dt, const char *name, const void *value); -H5_DLL herr_t H5T_get_member_value(const H5T_t *dt, unsigned membno, void *value); +H5_DLL H5T_t *H5T__enum_create(const H5T_t *parent); +H5_DLL herr_t H5T__enum_insert(const H5T_t *dt, const char *name, const void *value); +H5_DLL herr_t H5T__get_member_value(const H5T_t *dt, unsigned membno, void *value); /* Field functions (for both compound & enumerated types) */ -H5_DLL char *H5T_get_member_name(H5T_t const *dt, unsigned membno); -H5_DLL herr_t H5T_sort_value(const H5T_t *dt, int *map); -H5_DLL herr_t H5T_sort_name(const H5T_t *dt, int *map); +H5_DLL char *H5T__get_member_name(H5T_t const *dt, unsigned membno); +H5_DLL herr_t H5T__sort_value(const H5T_t *dt, int *map); +H5_DLL herr_t H5T__sort_name(const H5T_t *dt, int *map); /* Debugging functions */ -H5_DLL herr_t H5T_print_stats(H5T_path_t *path, int *nprint/*in,out*/); +H5_DLL herr_t H5T__print_stats(H5T_path_t *path, int *nprint/*in,out*/); #endif /* _H5Tpkg_H */ diff --git a/src/H5Tvisit.c b/src/H5Tvisit.c index a1843ef..68cabda 100644 --- a/src/H5Tvisit.c +++ b/src/H5Tvisit.c @@ -83,7 +83,7 @@ /*------------------------------------------------------------------------- - * Function: H5T_visit + * Function: H5T__visit * * Purpose: Visit a datatype and all it's members and/or parents, making * a callback for each. @@ -96,12 +96,12 @@ *------------------------------------------------------------------------- */ herr_t -H5T_visit(H5T_t *dt, unsigned visit_flags, H5T_operator_t op, void *op_value) +H5T__visit(H5T_t *dt, unsigned visit_flags, H5T_operator_t op, void *op_value) { hbool_t is_complex; /* Flag indicating current datatype is "complex" */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(FAIL) + FUNC_ENTER_PACKAGE /* Sanity check */ HDassert(dt); @@ -123,7 +123,7 @@ H5T_visit(H5T_t *dt, unsigned visit_flags, H5T_operator_t op, void *op_value) /* Visit each member of the compound datatype */ for(u = 0; u < dt->shared->u.compnd.nmembs; u++) - if(H5T_visit(dt->shared->u.compnd.memb[u].type, visit_flags, op, op_value) < 0) + if(H5T__visit(dt->shared->u.compnd.memb[u].type, visit_flags, op, op_value) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_BADITER, FAIL, "can't visit member datatype") } /* end case */ break; @@ -132,7 +132,7 @@ H5T_visit(H5T_t *dt, unsigned visit_flags, H5T_operator_t op, void *op_value) case H5T_VLEN: case H5T_ENUM: /* Visit parent type */ - if(H5T_visit(dt->shared->parent, visit_flags, op, op_value) < 0) + if(H5T__visit(dt->shared->parent, visit_flags, op, op_value) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_BADITER, FAIL, "can't visit parent datatype") break; @@ -151,5 +151,5 @@ H5T_visit(H5T_t *dt, unsigned visit_flags, H5T_operator_t op, void *op_value) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_visit() */ +} /* end H5T__visit() */ diff --git a/src/H5Tvlen.c b/src/H5Tvlen.c index 267692c..f497d1e 100644 --- a/src/H5Tvlen.c +++ b/src/H5Tvlen.c @@ -117,7 +117,7 @@ H5Tvlen_create(hid_t base_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an valid base datatype") /* Create up VL datatype */ - if((dt = H5T_vlen_create(base)) == NULL) + if((dt = H5T__vlen_create(base)) == NULL) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid VL location") /* Atomize the type */ @@ -130,7 +130,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5T_vlen_create + * Function: H5T__vlen_create * * Purpose: Create a new variable-length datatype based on the specified * BASE_TYPE. @@ -145,18 +145,18 @@ done: *------------------------------------------------------------------------- */ H5T_t * -H5T_vlen_create(const H5T_t *base) +H5T__vlen_create(const H5T_t *base) { H5T_t *dt = NULL; /*new VL datatype */ H5T_t *ret_value; /*return value */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* Check args */ HDassert(base); /* Build new type */ - if(NULL == (dt = H5T_alloc())) + if(NULL == (dt = H5T__alloc())) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, NULL, "memory allocation failed") dt->shared->type = H5T_VLEN; @@ -187,11 +187,11 @@ done: HDONE_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, NULL, "unable to release datatype info") FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_vlen_create() */ +} /* end H5T__vlen_create() */ /*------------------------------------------------------------------------- - * Function: H5T_vlen_set_loc + * Function: H5T__vlen_set_loc * * Purpose: Sets the location of a VL datatype to be either on disk or in memory * @@ -207,11 +207,11 @@ done: *------------------------------------------------------------------------- */ htri_t -H5T_vlen_set_loc(const H5T_t *dt, H5F_t *f, H5T_loc_t loc) +H5T__vlen_set_loc(const H5T_t *dt, H5F_t *f, H5T_loc_t loc) { htri_t ret_value = FALSE; /* Indicate success, but no location change */ - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_PACKAGE /* check parameters */ HDassert(dt); @@ -298,7 +298,7 @@ H5T_vlen_set_loc(const H5T_t *dt, H5F_t *f, H5T_loc_t loc) done: FUNC_LEAVE_NOAPI(ret_value) -} /* end H5T_vlen_set_loc() */ +} /* end H5T__vlen_set_loc() */ /*------------------------------------------------------------------------- diff --git a/src/H5config.h.in b/src/H5config.h.in index a2059f5..a2b75df 100644 --- a/src/H5config.h.in +++ b/src/H5config.h.in @@ -217,6 +217,9 @@ /* Define to 1 if you have the `sz' library (-lsz). */ #undef HAVE_LIBSZ +/* Define to 1 if you have the `ws2_32' library (-lws2_32). */ +#undef HAVE_LIBWS2_32 + /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ @@ -405,8 +408,8 @@ /* Define if your system has window style path name. */ #undef HAVE_WINDOW_PATH -/* Define to 1 if you have the header file. */ -#undef HAVE_WINSOCK_H +/* Define to 1 if you have the header file. */ +#undef HAVE_WINSOCK2_H /* Define to 1 if you have the header file. */ #undef HAVE_ZLIB_H diff --git a/src/H5detect.c b/src/H5detect.c index 98fd6ae..87a4fd5 100644 --- a/src/H5detect.c +++ b/src/H5detect.c @@ -648,7 +648,7 @@ H5TN_init_interface(void)\n\ /* The part common to fixed and floating types */ printf("\ - if(NULL == (dt = H5T_alloc()))\n\ + if(NULL == (dt = H5T__alloc()))\n\ HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, \"datatype allocation failed\")\n\ dt->shared->state = H5T_STATE_IMMUTABLE;\n\ dt->shared->type = H5T_%s;\n\ diff --git a/src/H5private.h b/src/H5private.h index d6e22eb..0bf990d 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -1917,6 +1917,30 @@ static herr_t H5_INTERFACE_INIT_FUNC(void); H5_PUSH_FUNC \ { +/* Use this macro for all "normal" staticly-scoped functions */ +#define FUNC_ENTER_STATIC { \ + FUNC_ENTER_COMMON(H5_IS_PKG(FUNC)); \ + H5_PUSH_FUNC \ + { + +/* Use this macro for staticly-scoped functions which propgate errors, but don't issue them */ +#define FUNC_ENTER_STATIC_NOERR { \ + FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(FUNC)); \ + H5_PUSH_FUNC \ + { + +/* Use the following macro as replacement for the FUNC_ENTER_STATIC + * macro when the function needs to set up a metadata tag. */ +#define FUNC_ENTER_STATIC_TAG(dxpl_id, tag, err) { \ + haddr_t prev_tag = HADDR_UNDEF; \ + hid_t tag_dxpl_id = dxpl_id; \ + \ + FUNC_ENTER_COMMON(H5_IS_PKG(FUNC)); \ + if(H5AC_tag(tag_dxpl_id, tag, &prev_tag) < 0) \ + HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, err, "unable to apply metadata tag") \ + H5_PUSH_FUNC \ + { + /* Use this macro for all non-API functions, which propagate errors, but don't issue them */ #define FUNC_ENTER_NOAPI_NOERR { \ FUNC_ENTER_COMMON_NOERR(!H5_IS_API(FUNC)); \ @@ -2160,11 +2184,11 @@ extern hbool_t H5_api_entered_g; /* Has library already been entered through {{{ /* Macros for substituting the package name */ -#define FUNC_ENTER_STATIC H5_PACKAGE_ENTER(H5_MY_PKG, H5_MY_PKG_INIT, REG) -#define FUNC_ENTER_PKGINIT H5_PACKAGE_ENTER(H5_MY_PKG, H5_MY_PKG_INIT, INIT) -#define FUNC_ENTER_PKG H5_PACKAGE_ENTER(H5_MY_PKG, H5_MY_PKG_INIT, REG) -#define FUNC_ENTER_PRIV H5_PRIVATE_ENTER(H5_MY_PKG, H5_MY_PKG_INIT) -#define FUNC_ENTER_PUB H5_PUBLIC_ENTER(H5_MY_PKG, H5_MY_PKG_INIT) +#define FUNC_ENT_STATIC H5_PACKAGE_ENTER(H5_MY_PKG, H5_MY_PKG_INIT, REG) +#define FUNC_ENT_PKGINIT H5_PACKAGE_ENTER(H5_MY_PKG, H5_MY_PKG_INIT, INIT) +#define FUNC_ENT_PKG H5_PACKAGE_ENTER(H5_MY_PKG, H5_MY_PKG_INIT, REG) +#define FUNC_ENT_PRIV H5_PRIVATE_ENTER(H5_MY_PKG, H5_MY_PKG_INIT) +#define FUNC_ENT_PUB H5_PUBLIC_ENTER(H5_MY_PKG, H5_MY_PKG_INIT) /* Macros for substituting a function prefix */ #define FUNC_PREFIX_STATIC static @@ -2193,7 +2217,7 @@ func \ { \ ret_typ ret_value = ret_init; \ H5_GLUE(FUNC_ERR_VAR_, use_err)(ret_typ, ret_init, err_value) \ - H5_GLUE(FUNC_ENTER_, scope) + H5_GLUE(FUNC_ENT_, scope) /* Use this macro when entering functions that have no return value */ #define BEGIN_FUNC_VOID(scope, use_err, func) \ @@ -2203,7 +2227,7 @@ func \ /* Open function */ \ { \ H5_GLUE(FUNC_ERR_VAR_, use_err)(void, -, -) \ - H5_GLUE(FUNC_ENTER_, scope) + H5_GLUE(FUNC_ENT_, scope) /* Macros for label when a function initialization can fail */ #define H5_PRIV_YES_FUNC_INIT_FAILED func_init_failed: diff --git a/src/H5public.h b/src/H5public.h index 5469a6f..c7b3dc1 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -75,10 +75,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 113 /* For tweaks, bug-fixes, or development */ +#define H5_VERS_RELEASE 124 /* For tweaks, bug-fixes, or development */ #define H5_VERS_SUBRELEASE "FA_a5" /* For pre-releases like snap0 */ /* Empty string for real releases. */ -#define H5_VERS_INFO "HDF5 library version: 1.9.113-FA_a5" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.9.124-FA_a5" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \ H5_VERS_RELEASE) diff --git a/src/H5system.c b/src/H5system.c index bb1d2f1..c0baee1 100644 --- a/src/H5system.c +++ b/src/H5system.c @@ -639,7 +639,7 @@ Wgettimeofday(struct timeval *tv, struct timezone *tz) return 0; } -#ifdef H5_HAVE_WINSOCK_H +#ifdef H5_HAVE_WINSOCK2_H #pragma comment(lib, "advapi32.lib") #endif @@ -650,12 +650,12 @@ char* Wgetlogin() { -#ifdef H5_HAVE_WINSOCK_H +#ifdef H5_HAVE_WINSOCK2_H long bufferCount = WloginBuffer_count; if (GetUserName(Wlogin_buffer, &bufferCount) == 0) return (Wlogin_buffer); else -#endif /* H5_HAVE_WINSOCK_H */ +#endif /* H5_HAVE_WINSOCK2_H */ return NULL; } diff --git a/src/Makefile.in b/src/Makefile.in index 55d1c78..c79b802 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -487,7 +487,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 103 +LT_VERS_REVISION = 114 LT_VERS_AGE = 0 H5detect_CFLAGS = -g $(AM_CFLAGS) diff --git a/test/Makefile.am b/test/Makefile.am index d5cd2b5..244bb28 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -115,11 +115,11 @@ CHECK_CLEANFILES+=accum.h5 cmpd_dset.h5 compact_dataset.h5 dataset.h5 \ huge_chunks.h5 chunk_cache.h5 big_chunk.h5 chunk_fast.h5 \ chunk_expand.h5 \ copy_dcpl_newfile.h5 extend.h5 istore.h5 extlinks*.h5 frspace.h5 links*.h5 \ - sys_file1 tfile[1-5].h5 th5s[1-4].h5 lheap.h5 fheap.h5 ohdr.h5 \ + sys_file1 tfile[1-6].h5 th5s[1-4].h5 lheap.h5 fheap.h5 ohdr.h5 \ stab.h5 extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5 \ dt_arith[1-2] links.h5 links[0-6]*.h5 extlinks[0-15].h5 tmp \ big.data big[0-9][0-9][0-9][0-9][0-9].h5 \ - stdio.h5 sec2.h5 dtypes[0-9].h5 dt_arith[1-2].h5 tattr.h5 \ + stdio.h5 sec2.h5 dtypes[0-9].h5 dtypes1[0].h5 dt_arith[1-2].h5 tattr.h5 \ tselect.h5 mtime.h5 unlink.h5 unicode.h5 coord.h5 \ fillval_[0-9].h5 fillval.raw mount_[0-9].h5 testmeta.h5 ttime.h5 \ trefer[1-3].h5 tvltypes.h5 tvlstr.h5 tvlstr2.h5 flush.h5 \ @@ -132,9 +132,12 @@ CHECK_CLEANFILES+=accum.h5 cmpd_dset.h5 compact_dataset.h5 dataset.h5 \ dtransform.h5 test_filters.h5 get_file_name.h5 tstint[1-2].h5 \ unlink_chunked.h5 btree2.h5 objcopy_src.h5 objcopy_dst.h5 \ objcopy_ext.dat trefer1.h5 trefer2.h5 app_ref.h5 farray.h5 \ - earray.h5 efc[0-5].h5 log_vfd_out.log new_multi_file_v16-r.h5 \ - new_multi_file_v16-s.h5 swmr_data.h5 \ - flushrefresh.h5 flushrefresh_VERIFICATION_START \ + earray.h5 efc[0-5].h5 log_vfd_out.log \ + new_multi_file_v16-r.h5 new_multi_file_v16-s.h5 \ + split_get_file_image_test-m.h5 split_get_file_image_test-r.h5 \ + file_image_core_test.h5.copy \ + swmr_data.h5 \ + flushrefresh.h5 flushrefresh_VERIFICATION_START \ flushrefresh_VERIFICATION_CHECKPOINT1 flushrefresh_VERIFICATION_CHECKPOINT2 \ flushrefresh_VERIFICATION_DONE diff --git a/test/Makefile.in b/test/Makefile.in index d7467f1..de5de82 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -803,27 +803,31 @@ TRACE = perl $(top_srcdir)/bin/trace CHECK_CLEANFILES = *.chkexe *.chklog *.clog accum.h5 cmpd_dset.h5 \ compact_dataset.h5 dataset.h5 dset_offset.h5 \ max_compact_dataset.h5 simple.h5 set_local.h5 random_chunks.h5 \ - huge_chunks.h5 chunk_cache.h5 big_chunk.h5 chunk_fast.h5 \ - chunk_expand.h5 copy_dcpl_newfile.h5 extend.h5 istore.h5 \ - extlinks*.h5 frspace.h5 links*.h5 sys_file1 tfile[1-5].h5 \ - th5s[1-4].h5 lheap.h5 fheap.h5 ohdr.h5 stab.h5 extern_[1-3].h5 \ + huge_chunks.h5 chunk_cache.h5 big_chunk.h5 chunk_expand.h5 \ + chunk_fast.h5 \ + copy_dcpl_newfile.h5 extend.h5 istore.h5 extlinks*.h5 \ + frspace.h5 links*.h5 sys_file1 tfile[1-6].h5 th5s[1-4].h5 \ + lheap.h5 fheap.h5 ohdr.h5 stab.h5 extern_[1-3].h5 \ extern_[1-4][ab].raw gheap[0-4].h5 dt_arith[1-2] links.h5 \ links[0-6]*.h5 extlinks[0-15].h5 tmp big.data \ big[0-9][0-9][0-9][0-9][0-9].h5 stdio.h5 sec2.h5 \ - dtypes[0-9].h5 dt_arith[1-2].h5 tattr.h5 tselect.h5 mtime.h5 \ - unlink.h5 unicode.h5 coord.h5 fillval_[0-9].h5 fillval.raw \ - mount_[0-9].h5 testmeta.h5 ttime.h5 trefer[1-3].h5 tvltypes.h5 \ - tvlstr.h5 tvlstr2.h5 flush.h5 enum1.h5 titerate.h5 ttsafe.h5 \ - tarray1.h5 tgenprop.h5 tmisc[0-9]*.h5 set_extent[1-5].h5 \ - ext[12].bin getname.h5 getname[1-3].h5 sec2_file.h5 \ - direct_file.h5 family_file000[0-3][0-9].h5 \ - new_family_v16_000[0-3][0-9].h5 multi_file-[rs].h5 core_file \ - new_move_[ab].h5 ntypes.h5 dangle.h5 error_test.h5 \ - err_compat.h5 dtransform.h5 test_filters.h5 get_file_name.h5 \ - tstint[1-2].h5 unlink_chunked.h5 btree2.h5 objcopy_src.h5 \ - objcopy_dst.h5 objcopy_ext.dat trefer1.h5 trefer2.h5 \ - app_ref.h5 farray.h5 earray.h5 efc[0-5].h5 log_vfd_out.log \ - new_multi_file_v16-r.h5 new_multi_file_v16-s.h5 swmr_data.h5 \ + dtypes[0-9].h5 dtypes1[0].h5 dt_arith[1-2].h5 tattr.h5 \ + tselect.h5 mtime.h5 unlink.h5 unicode.h5 coord.h5 \ + fillval_[0-9].h5 fillval.raw mount_[0-9].h5 testmeta.h5 \ + ttime.h5 trefer[1-3].h5 tvltypes.h5 tvlstr.h5 tvlstr2.h5 \ + flush.h5 enum1.h5 titerate.h5 ttsafe.h5 tarray1.h5 tgenprop.h5 \ + tmisc[0-9]*.h5 set_extent[1-5].h5 ext[12].bin getname.h5 \ + getname[1-3].h5 sec2_file.h5 direct_file.h5 \ + family_file000[0-3][0-9].h5 new_family_v16_000[0-3][0-9].h5 \ + multi_file-[rs].h5 core_file new_move_[ab].h5 ntypes.h5 \ + dangle.h5 error_test.h5 err_compat.h5 dtransform.h5 \ + test_filters.h5 get_file_name.h5 tstint[1-2].h5 \ + unlink_chunked.h5 btree2.h5 objcopy_src.h5 objcopy_dst.h5 \ + objcopy_ext.dat trefer1.h5 trefer2.h5 app_ref.h5 farray.h5 \ + earray.h5 efc[0-5].h5 log_vfd_out.log new_multi_file_v16-r.h5 \ + new_multi_file_v16-s.h5 split_get_file_image_test-m.h5 \ + split_get_file_image_test-r.h5 file_image_core_test.h5.copy \ + swmr_data.h5 \ flushrefresh.h5 flushrefresh_VERIFICATION_START \ flushrefresh_VERIFICATION_CHECKPOINT1 \ flushrefresh_VERIFICATION_CHECKPOINT2 \ diff --git a/test/bittests.c b/test/bittests.c index f063cee..c527bb8 100644 --- a/test/bittests.c +++ b/test/bittests.c @@ -56,13 +56,13 @@ test_find (void) /* The zero length buffer */ HDmemset(v1, 0xaa, sizeof v1); - n = H5T_bit_find(v1, (size_t)0, (size_t)0, H5T_BIT_LSB, TRUE); + n = H5T__bit_find(v1, (size_t)0, (size_t)0, H5T_BIT_LSB, TRUE); if(-1 != n) { H5_FAILED(); puts (" Zero length test failed (lsb)!"); goto failed; } - n = H5T_bit_find(v1, (size_t)0, (size_t)0, H5T_BIT_MSB, TRUE); + n = H5T__bit_find(v1, (size_t)0, (size_t)0, H5T_BIT_MSB, TRUE); if(-1 != n) { H5_FAILED(); puts (" Zero length test failed (msb)!"); @@ -72,13 +72,13 @@ test_find (void) /* The zero buffer */ HDmemset(v1, 0, sizeof v1); - n = H5T_bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_LSB, TRUE); + n = H5T__bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_LSB, TRUE); if(-1 != n) { H5_FAILED(); puts (" Zero buffer test failed (lsb)!"); goto failed; } - n = H5T_bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_MSB, TRUE); + n = H5T__bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_MSB, TRUE); if(-1 != n) { H5_FAILED(); puts (" Zero buffer test failed (msb)!"); @@ -89,13 +89,13 @@ test_find (void) for(i = 0; i < 8 * (int)sizeof(v1); i++) { HDmemset(v1, 0, sizeof v1); v1[i / 8] = 1 << (i % 8); - n = H5T_bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_LSB, TRUE); + n = H5T__bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_LSB, TRUE); if((ssize_t)i != n) { H5_FAILED(); printf (" Test for set bit %d failed (lsb)!\n", i); goto failed; } - n = H5T_bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_MSB, TRUE); + n = H5T__bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_MSB, TRUE); if((ssize_t)i != n) { H5_FAILED(); printf (" Test for set bit %d failed (msb)!\n", i); @@ -105,13 +105,13 @@ test_find (void) /* The one buffer */ HDmemset(v1, 0xff, sizeof v1); - n = H5T_bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_LSB, FALSE); + n = H5T__bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_LSB, FALSE); if(-1 != n) { H5_FAILED(); puts (" One buffer test failed (lsb)!"); goto failed; } - n = H5T_bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_MSB, FALSE); + n = H5T__bit_find(v1, (size_t)0, 8 * sizeof(v1), H5T_BIT_MSB, FALSE); if(-1 != n) { H5_FAILED(); puts (" One buffer test failed (msb)!"); @@ -122,13 +122,13 @@ test_find (void) for (i=0; i<8*(int)sizeof(v1); i++) { memset (v1, 0xff, sizeof v1); v1[i/8] &= ~(1<<(i%8)); - n = H5T_bit_find (v1, (size_t)0, 8*sizeof(v1), H5T_BIT_LSB, FALSE); + n = H5T__bit_find (v1, (size_t)0, 8*sizeof(v1), H5T_BIT_LSB, FALSE); if ((ssize_t)i!=n) { H5_FAILED(); printf (" Test for clear bit %d failed (lsb)!\n", i); goto failed; } - n = H5T_bit_find (v1, (size_t)0, 8*sizeof(v1), H5T_BIT_MSB, FALSE); + n = H5T__bit_find (v1, (size_t)0, 8*sizeof(v1), H5T_BIT_MSB, FALSE); if ((ssize_t)i!=n) { H5_FAILED(); printf (" Test for clear bit %d failed (lsb)!\n", i); @@ -183,7 +183,7 @@ test_copy (void) memset (v2, 0x00, sizeof v2); /* Copy some bits to v2 and make sure something was copied */ - H5T_bit_copy (v2, d_offset, v1, s_offset, size); + H5T__bit_copy (v2, d_offset, v1, s_offset, size); for (j=0; j<(int)sizeof(v2); j++) if (v2[j]) break; if (size>0 && j>=(int)sizeof(v2)) { H5_FAILED(); @@ -198,7 +198,7 @@ test_copy (void) /* Look for the zeros and ones */ - n = H5T_bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_LSB, 1); + n = H5T__bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_LSB, 1); if (size>0 && n!=(ssize_t)d_offset) { H5_FAILED(); printf (" Unable to find first copied bit in destination " @@ -210,7 +210,7 @@ test_copy (void) puts (" Found copied bits and shouldn't have!"); goto failed; } - n = H5T_bit_find (v2, d_offset, 8*sizeof(v2)-d_offset, H5T_BIT_LSB, 0); + n = H5T__bit_find (v2, d_offset, 8*sizeof(v2)-d_offset, H5T_BIT_LSB, 0); if (d_offset+size<8*sizeof(v2) && n!=(ssize_t)size) { H5_FAILED(); printf (" Unable to find last copied bit in destination " @@ -227,7 +227,7 @@ test_copy (void) * Look for zeros and ones in reverse order. This is only to test * that reverse searches work as expected. */ - n = H5T_bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_MSB, 1); + n = H5T__bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_MSB, 1); if (size>0 && (size_t)(n+1)!=d_offset+size) { H5_FAILED(); printf (" Unable to find last copied bit in destination " @@ -239,7 +239,7 @@ test_copy (void) puts (" Found copied bits but shouldn't have (reverse)!"); goto failed; } - n = H5T_bit_find (v2, (size_t)0, d_offset+size, H5T_BIT_MSB, 0); + n = H5T__bit_find (v2, (size_t)0, d_offset+size, H5T_BIT_MSB, 0); if (d_offset>0 && n+1!=(ssize_t)d_offset) { H5_FAILED(); printf (" Unable to find beginning of copied data " @@ -305,12 +305,12 @@ test_shift (void) /*-------- LEFT-shift some bits and make sure something was shifted --------*/ memset (vector, 0x00, sizeof vector); - H5T_bit_set (vector, offset, size, 1); + H5T__bit_set (vector, offset, size, 1); - H5T_bit_shift (vector, shift_dist, offset, size); + H5T__bit_shift (vector, shift_dist, offset, size); /* Look for the ones */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); if ((size_t)n!=offset+shift_dist) { H5_FAILED(); printf (" Unable to find first bit in destination " @@ -322,7 +322,7 @@ test_shift (void) * Look for zeros and ones in reverse order. This is only to test * that reverse searches work as expected. */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); if (n!=(ssize_t)(offset+size-1)) { H5_FAILED(); printf (" Unable to find last bit in destination " @@ -332,12 +332,12 @@ test_shift (void) /*-------- RIGHT-shift some bits and make sure something was shifted --------*/ memset (vector, 0x00, sizeof vector); - H5T_bit_set (vector, offset, size, 1); + H5T__bit_set (vector, offset, size, 1); - H5T_bit_shift (vector, -shift_dist, offset, size); + H5T__bit_shift (vector, -shift_dist, offset, size); /* Look for the ones */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); if ((size_t)n!=offset) { H5_FAILED(); printf (" Unable to find first bit in destination " @@ -349,7 +349,7 @@ test_shift (void) * Look for zeros and ones in reverse order. This is only to test * that reverse searches work as expected. */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); if (n!=(ssize_t)(offset+size-shift_dist-1)) { H5_FAILED(); printf (" Unable to find last bit in destination " @@ -367,12 +367,12 @@ test_shift (void) shift_dist = -((ssize_t)size); memset (vector, 0x00, sizeof vector); - H5T_bit_set (vector, offset, size, 1); + H5T__bit_set (vector, offset, size, 1); - H5T_bit_shift (vector, shift_dist, offset, size); + H5T__bit_shift (vector, shift_dist, offset, size); /* Supposed to fail to find any ones */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); if (n >= 0) { H5_FAILED(); printf (" Unable to verify all bits are zero in destination(LSB) " @@ -381,7 +381,7 @@ test_shift (void) } /* Look from the other direction */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); if (n >= 0) { H5_FAILED(); printf (" Unable to verify all bits are zero in destination(MSB) " @@ -437,15 +437,15 @@ test_increment (void) memset (vector, 0x00, sizeof vector); if(size>1) /* if size=6, make a sequence like 011111 */ - H5T_bit_set (vector, offset, size-1, 1); + H5T__bit_set (vector, offset, size-1, 1); else /* if size=1, just set this one bit to 1 */ - H5T_bit_set (vector, offset, size, 1); + H5T__bit_set (vector, offset, size, 1); /* Increment the sequence by one */ - H5T_bit_inc (vector, offset, size); + H5T__bit_inc (vector, offset, size); /* Look for the one */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); if (size!=1 && (size_t)n!=offset+size-1) { H5_FAILED(); printf (" Unable to find first bit in destination " @@ -463,7 +463,7 @@ test_increment (void) * Look for one in reverse order. This is only to test * that reverse searches work as expected. */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); if (size!=1 && n!=(ssize_t)(offset+size-1)) { H5_FAILED(); printf (" Unable to find last bit in destination " @@ -526,10 +526,10 @@ test_decrement (void) memset (vector, 0x00, sizeof vector); /* decrement the sequence by one */ - H5T_bit_dec (vector, offset, size); + H5T__bit_dec (vector, offset, size); /* Look for the ones */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); if ((size_t)n!=offset) { H5_FAILED(); printf (" Unable to find first bit in destination " @@ -541,7 +541,7 @@ test_decrement (void) * Look for zeros and ones in reverse order. This is only to test * that reverse searches work as expected. */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); if (n!=(ssize_t)(offset+size-1)) { H5_FAILED(); printf (" Unable to find last bit in destination " @@ -598,10 +598,10 @@ test_negate (void) memset (vector, 0x00, sizeof vector); /* negate the sequence */ - H5T_bit_neg (vector, offset, size); + H5T__bit_neg (vector, offset, size); /* Look for the ones */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); if ((size_t)n!=offset) { H5_FAILED(); printf (" Unable to find first bit in destination " @@ -613,7 +613,7 @@ test_negate (void) * Look for zeros and ones in reverse order. This is only to test * that reverse searches work as expected. */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); if (n!=(ssize_t)(offset+size-1)) { H5_FAILED(); printf (" Unable to find last bit in destination " @@ -623,13 +623,13 @@ test_negate (void) /* All-one sequence will become 000000(size=6) after negating */ memset (vector, 0x00, sizeof vector); - H5T_bit_set (vector, offset, size, 1); + H5T__bit_set (vector, offset, size, 1); /* negate the sequence */ - H5T_bit_neg (vector, offset, size); + H5T__bit_neg (vector, offset, size); /* Look for the ones */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_LSB, 1); if (n>=0) { H5_FAILED(); printf (" Unable to verify all-zero bits in destination " @@ -641,7 +641,7 @@ test_negate (void) * Look for ones in reverse order. This is only to test * that reverse searches work as expected. */ - n = H5T_bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); + n = H5T__bit_find (vector, (size_t)0, 8*sizeof(vector), H5T_BIT_MSB, 1); if (n>=0) { H5_FAILED(); printf (" Unable to verify all-zero bits in destination " @@ -695,7 +695,7 @@ test_set (void) memset (v2, 0x00, sizeof v2); /* Set some bits in v2 */ - H5T_bit_set (v2, d_offset, size, TRUE); + H5T__bit_set (v2, d_offset, size, TRUE); for (j=0; j<(int)sizeof(v2); j++) if (v2[j]) break; if (size>0 && j>=(int)sizeof(v2)) { H5_FAILED(); @@ -710,7 +710,7 @@ test_set (void) /* Look for the zeros and ones */ - n = H5T_bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_LSB, 1); + n = H5T__bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_LSB, 1); if (size>0 && n!=(ssize_t)d_offset) { H5_FAILED(); printf (" Unable to find first set bit in destination " @@ -722,7 +722,7 @@ test_set (void) puts (" Found set bits and shouldn't have!"); goto failed; } - n = H5T_bit_find (v2, d_offset, 8*sizeof(v2)-d_offset, H5T_BIT_LSB, 0); + n = H5T__bit_find (v2, d_offset, 8*sizeof(v2)-d_offset, H5T_BIT_LSB, 0); if (d_offset+size<8*sizeof(v2) && n!=(ssize_t)size) { H5_FAILED(); printf (" Unable to find last set bit in destination " @@ -739,7 +739,7 @@ test_set (void) * Look for zeros and ones in reverse order. This is only to test * that reverse searches work as expected. */ - n = H5T_bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_MSB, 1); + n = H5T__bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_MSB, 1); if (size>0 && (size_t)(n+1)!=d_offset+size) { H5_FAILED(); printf (" Unable to find last set bit in destination " @@ -751,7 +751,7 @@ test_set (void) puts (" Found set bits but shouldn't have (reverse)!"); goto failed; } - n = H5T_bit_find (v2, (size_t)0, d_offset+size, H5T_BIT_MSB, 0); + n = H5T__bit_find (v2, (size_t)0, d_offset+size, H5T_BIT_MSB, 0); if (d_offset>0 && n+1!=(ssize_t)d_offset) { H5_FAILED(); printf (" Unable to find beginning of set bit region " @@ -812,7 +812,7 @@ test_clear (void) memset (v2, 0xff, sizeof v2); /* Clear some bits in v2 */ - H5T_bit_set (v2, d_offset, size, FALSE); + H5T__bit_set (v2, d_offset, size, FALSE); for (j=0; j<(int)sizeof(v2); j++) if (0xff!=v2[j]) break; if (size>0 && j>=(int)sizeof(v2)) { H5_FAILED(); @@ -827,7 +827,7 @@ test_clear (void) /* Look for the zeros and ones */ - n = H5T_bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_LSB, 0); + n = H5T__bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_LSB, 0); if (size>0 && n!=(ssize_t)d_offset) { H5_FAILED(); printf (" Unable to find first cleared bit in destination " @@ -839,7 +839,7 @@ test_clear (void) puts (" Found cleared bits and shouldn't have!"); goto failed; } - n = H5T_bit_find (v2, d_offset, 8*sizeof(v2)-d_offset, H5T_BIT_LSB, 1); + n = H5T__bit_find (v2, d_offset, 8*sizeof(v2)-d_offset, H5T_BIT_LSB, 1); if (d_offset+size<8*sizeof(v2) && n!=(ssize_t)size) { H5_FAILED(); printf (" Unable to find last cleared bit in destination " @@ -856,7 +856,7 @@ test_clear (void) * Look for zeros and ones in reverse order. This is only to test * that reverse searches work as expected. */ - n = H5T_bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_MSB, 0); + n = H5T__bit_find (v2, (size_t)0, 8*sizeof(v2), H5T_BIT_MSB, 0); if (size>0 && (size_t)(n+1)!=d_offset+size) { H5_FAILED(); printf (" Unable to find last cleared bit in destination " @@ -868,7 +868,7 @@ test_clear (void) puts (" Found cleared bits but shouldn't have (reverse)!"); goto failed; } - n = H5T_bit_find (v2, (size_t)0, d_offset+size, H5T_BIT_MSB, 1); + n = H5T__bit_find (v2, (size_t)0, d_offset+size, H5T_BIT_MSB, 1); if (d_offset>0 && n+1!=(ssize_t)d_offset) { H5_FAILED(); printf (" Unable to find beginning of cleared bit region " diff --git a/test/cmpd_dset.c b/test/cmpd_dset.c index d7f7842..433c488 100644 --- a/test/cmpd_dset.c +++ b/test/cmpd_dset.c @@ -2183,7 +2183,7 @@ main (int argc, char *argv[]) fprintf(stderr, "usage: %s [--noopt]\n", argv[0]); exit(1); } - H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_struct_opt); + H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T__conv_struct_opt); } /* Create the file */ diff --git a/test/dsets.c b/test/dsets.c index 898782d..88e41f7 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -6779,7 +6779,7 @@ test_zero_dims(hid_t file) if((d = H5Dcreate2(file, ZERODIM_DATASET, H5T_NATIVE_INT, s, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR /* Get the chunk index type */ - if(H5D_layout_idx_type_test(d, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(d, &idx_type) < 0) FAIL_STACK_ERROR /* Verify index type */ if(low == H5F_LIBVER_LATEST) { @@ -6829,7 +6829,7 @@ test_zero_dims(hid_t file) if((d2 = H5Dcreate2(file, ZERODIM_DATASET2, H5T_NATIVE_INT, s2, H5P_DEFAULT, dcpl2, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR /* Get the chunk index type */ - if(H5D_layout_idx_type_test(d2, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(d2, &idx_type) < 0) FAIL_STACK_ERROR /* Verify index type */ if(low == H5F_LIBVER_LATEST) { @@ -6948,8 +6948,8 @@ test_missing_chunk(hid_t file) if((did2 = H5Dcreate2(file, MISSING_CHUNK_DATASET2, H5T_NATIVE_INT, sid2, H5P_DEFAULT, dcpl2, H5P_DEFAULT)) < 0) TEST_ERROR; /* Get the chunk index types */ - if(H5D_layout_idx_type_test(d, &idx_type) < 0) TEST_ERROR; - if(H5D_layout_idx_type_test(did2, &idx_type2) < 0) TEST_ERROR; + if(H5D__layout_idx_type_test(d, &idx_type) < 0) TEST_ERROR; + if(H5D__layout_idx_type_test(did2, &idx_type2) < 0) TEST_ERROR; /* Verify index type */ if(low == H5F_LIBVER_LATEST) { @@ -7149,7 +7149,7 @@ test_random_chunks_real(const char *testname, hbool_t early_alloc, hid_t fapl) if((d = H5Dopen2(file, dname, H5P_DEFAULT)) < 0) TEST_ERROR; /* Get the chunk index type */ - if(H5D_layout_idx_type_test(d, &idx_type) < 0) TEST_ERROR; + if(H5D__layout_idx_type_test(d, &idx_type) < 0) TEST_ERROR; /* Verify index type */ if(low == H5F_LIBVER_LATEST) { @@ -7211,7 +7211,7 @@ test_random_chunks_real(const char *testname, hbool_t early_alloc, hid_t fapl) if((d = H5Dcreate2(file, dname, H5T_NATIVE_INT, s, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) TEST_ERROR; /* Get the chunk index type */ - if(H5D_layout_idx_type_test(d, &idx_type) < 0) TEST_ERROR; + if(H5D__layout_idx_type_test(d, &idx_type) < 0) TEST_ERROR; /* Verify index type */ if(low == H5F_LIBVER_LATEST) { @@ -7311,7 +7311,7 @@ test_random_chunks_real(const char *testname, hbool_t early_alloc, hid_t fapl) if((d = H5Dcreate2(file, dname, H5T_NATIVE_INT, s, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) TEST_ERROR; /* Get the chunk index type */ - if(H5D_layout_idx_type_test(d, &idx_type) < 0) TEST_ERROR; + if(H5D__layout_idx_type_test(d, &idx_type) < 0) TEST_ERROR; /* Verify index type */ if(low == H5F_LIBVER_LATEST) { @@ -8080,8 +8080,8 @@ test_big_chunks_bypass_cache(hid_t fapl) FAIL_STACK_ERROR /* Get the chunk index types for 1-D and 2-d datasets */ - if(H5D_layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR - if(H5D_layout_idx_type_test(t_dsid, &t_idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(t_dsid, &t_idx_type) < 0) FAIL_STACK_ERROR /* Chunk index type expected depends on whether we are using the latest version of the format */ if(low == H5F_LIBVER_LATEST) { @@ -8392,7 +8392,7 @@ test_chunk_fast(hid_t fapl) FAIL_STACK_ERROR /* Get the chunk index type */ - if(H5D_layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR /* Chunk index type expected depends on whether we are using the latest version of the format */ if(low == H5F_LIBVER_LATEST) { @@ -8501,7 +8501,7 @@ test_chunk_fast(hid_t fapl) if((dsid = H5Dopen2(fid, "dset", H5P_DEFAULT)) < 0) FAIL_STACK_ERROR /* Get the chunk index type */ - if(H5D_layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR /* Chunk index tyepe expected depends on whether we are using the latest version of the format */ if(low == H5F_LIBVER_LATEST) { @@ -9000,8 +9000,8 @@ test_chunk_expand(hid_t fapl) FAIL_STACK_ERROR /* Get the chunk index type */ - if(H5D_layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR - if(H5D_layout_idx_type_test(dsid2, &idx_type2) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid2, &idx_type2) < 0) FAIL_STACK_ERROR /* Chunk index type expected depends on whether we are using the latest version of the format */ if(low == H5F_LIBVER_LATEST) { @@ -9164,8 +9164,8 @@ test_chunk_expand(hid_t fapl) if((dsid2 = H5Dopen2(fid, "dset2", H5P_DEFAULT)) < 0) FAIL_STACK_ERROR /* Get the chunk index type for the two datasets */ - if(H5D_layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR - if(H5D_layout_idx_type_test(dsid2, &idx_type2) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid2, &idx_type2) < 0) FAIL_STACK_ERROR /* Chunk index type expected depends on whether we are using the latest version of the format */ if(low == H5F_LIBVER_LATEST) { @@ -9436,7 +9436,7 @@ test_fixed_array(hid_t fapl) FAIL_PUTS_ERROR(" Creating Chunked Dataset with maximum dimensions.") /* Get the chunk index type */ - if(H5D_layout_idx_type_test(dsid_max, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid_max, &idx_type) < 0) FAIL_STACK_ERROR /* Chunk index type depends on whether we are using the latest version of the format */ if(low == H5F_LIBVER_LATEST) { @@ -9474,7 +9474,7 @@ test_fixed_array(hid_t fapl) FAIL_PUTS_ERROR(" Creating Chunked Dataset.") /* Get the chunk index type */ - if(H5D_layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid, &idx_type) < 0) FAIL_STACK_ERROR /* Chunk index type depends on whether we are using the latest version of the format */ if(low == H5F_LIBVER_LATEST) { @@ -9510,7 +9510,7 @@ test_fixed_array(hid_t fapl) FAIL_PUTS_ERROR(" Creating Big Chunked Dataset.") /* Get the chunk index type */ - if(H5D_layout_idx_type_test(dsid_big, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(dsid_big, &idx_type) < 0) FAIL_STACK_ERROR /* Chunk index type depends on whether we are using the latest version of the format */ if(low == H5F_LIBVER_LATEST) { @@ -9712,7 +9712,7 @@ test_idx_compatible(void) TEST_ERROR /* Get the chunk index type */ - if(H5D_layout_idx_type_test(did, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(did, &idx_type) < 0) FAIL_STACK_ERROR /* Verify index type */ if(idx_type != H5D_CHUNK_IDX_BTREE) @@ -9725,7 +9725,7 @@ test_idx_compatible(void) TEST_ERROR /* Get the chunk index type */ - if(H5D_layout_idx_type_test(did, &idx_type) < 0) FAIL_STACK_ERROR + if(H5D__layout_idx_type_test(did, &idx_type) < 0) FAIL_STACK_ERROR /* Verify index type */ if(idx_type != H5D_CHUNK_IDX_BTREE) diff --git a/test/dt_arith.c b/test/dt_arith.c index 054f069..0001755 100644 --- a/test/dt_arith.c +++ b/test/dt_arith.c @@ -306,9 +306,9 @@ static int without_hardware_g = 0; *00000111,..., until 11111111.*/ \ memset(tmp1, 0, SRC_SIZE); \ memset(tmp2, 0, SRC_SIZE); \ - H5T_bit_set (tmp2, SRC_PREC-1, (size_t)1, TRUE); /*the negative value*/ \ + H5T__bit_set (tmp2, SRC_PREC-1, (size_t)1, TRUE); /*the negative value*/ \ for(n=0; ndst_nbits) { - if(0==H5T_bit_get_d(src_bits, src_nbits-1, (size_t)1) && - H5T_bit_find(src_bits, dst_nbits-1, (src_nbits-dst_nbits), + if(0==H5T__bit_get_d(src_bits, src_nbits-1, (size_t)1) && + H5T__bit_find(src_bits, dst_nbits-1, (src_nbits-dst_nbits), H5T_BIT_MSB, 1)>=0) { /* * Source is positive and the magnitude is too large for * the destination. The destination should be set to the * maximum possible value: 0x7f...f */ - if (0==H5T_bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && - H5T_bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 0) < 0) + if (0==H5T__bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && + H5T__bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 0) < 0) continue; /*no error*/ - } else if (1==H5T_bit_get_d(src_bits, src_nbits-1, (size_t)1) && - H5T_bit_find(src_bits, (size_t)0, src_nbits-1, H5T_BIT_MSB, + } else if (1==H5T__bit_get_d(src_bits, src_nbits-1, (size_t)1) && + H5T__bit_find(src_bits, (size_t)0, src_nbits-1, H5T_BIT_MSB, 0)+1>=(ssize_t)dst_nbits) { /* * Source is negative but the magnitude is too large for * the destination. The destination should be set to the * smallest possible value: 0x80...0 */ - if (1==H5T_bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && - H5T_bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 1) < 0) + if (1==H5T__bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && + H5T__bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 1) < 0) continue; /*no error*/ } } else if(src_nbitsdst_nbits && - H5T_bit_find(src_bits, dst_nbits-1, + H5T__bit_find(src_bits, dst_nbits-1, src_nbits-dst_nbits, H5T_BIT_LSB, 1)>=0) { /* * The source is a value with a magnitude too large for * the destination. The destination should be the * largest possible value: 0xff...f */ - if (H5T_bit_find(dst_bits, (size_t)0, dst_nbits, H5T_BIT_LSB, 0) < 0) + if (H5T__bit_find(dst_bits, (size_t)0, dst_nbits, H5T_BIT_LSB, 0) < 0) continue; /*no error*/ } } else if (H5T_SGN_NONE==src_sign && H5T_SGN_2==dst_sign) { if (src_nbits>=dst_nbits && - H5T_bit_find(src_bits, dst_nbits-1, (src_nbits-dst_nbits)+1, + H5T__bit_find(src_bits, dst_nbits-1, (src_nbits-dst_nbits)+1, H5T_BIT_LSB, 1)>=0) { /* * The source value has a magnitude that is larger than * the destination can handle. The destination should be * set to the largest possible positive value: 0x7f...f */ - if (0==H5T_bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && - H5T_bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 0) < 0) + if (0==H5T__bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && + H5T__bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 0) < 0) continue; /*no error*/ } } else { if (src_nbits>dst_nbits && - H5T_bit_find(src_bits, dst_nbits, src_nbits-dst_nbits, + H5T__bit_find(src_bits, dst_nbits, src_nbits-dst_nbits, H5T_BIT_LSB, 1)>=0) { /* * The unsigned source has a value which is too large for * the unsigned destination. The destination should be * set to the largest possible value: 0xff...f */ - if (H5T_bit_find(dst_bits, (size_t)0, dst_nbits, H5T_BIT_LSB, 0) < 0) + if (H5T__bit_find(dst_bits, (size_t)0, dst_nbits, H5T_BIT_LSB, 0) < 0) continue; /*no error*/ } } @@ -2610,8 +2610,8 @@ error: /*------------------------------------------------------------------------- * Function: test_conv_int_2 * - * Purpose: Tests overlap calculates in H5T_conv_i_i(), which should be - * the same as for H5T_conv_f_f() and H5T_conv_s_s(). + * Purpose: Tests overlap calculates in H5T__conv_i_i(), which should be + * the same as for H5T__conv_f_f() and H5T__conv_s_s(). * * Return: Success: 0 * @@ -2648,7 +2648,7 @@ test_conv_int_2(void) /* * Conversion. If overlap calculations aren't right then an - * assertion will fail in H5T_conv_i_i() + * assertion will fail in H5T__conv_i_i() */ H5Tconvert(src_type, dst_type, (size_t)100, buf, NULL, H5P_DEFAULT); H5Tclose(src_type); @@ -2788,8 +2788,8 @@ my_isinf(int endian, unsigned char *val, size_t size, 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) + if(H5T__bit_find(bits, mpos, msize, H5T_BIT_LSB, 1) < 0 && + H5T__bit_find(bits, epos, esize, H5T_BIT_LSB, 0) < 0) retval = 1; free(bits); @@ -3321,7 +3321,7 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst) } } - expo = H5T_bit_get_d(tmp, src_epos, src_esize); + expo = H5T__bit_get_d(tmp, src_epos, src_esize); if(expo==0) continue; /* Denormalized floating-point value detected */ else { @@ -3341,7 +3341,7 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst) } } - expo = H5T_bit_get_d(tmp, dst_epos, dst_esize); + expo = H5T__bit_get_d(tmp, dst_epos, dst_esize); if(expo==0) continue; /* Denormalized floating-point value detected */ else { @@ -4348,7 +4348,7 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst) ) && (INT_SCHAR==dst_type || INT_SHORT==dst_type || INT_INT==dst_type || INT_LONG==dst_type || INT_LLONG==dst_type)) { - if(0==H5T_bit_get_d(src_bits, src_nbits-1, (size_t)1) && + if(0==H5T__bit_get_d(src_bits, src_nbits-1, (size_t)1) && overflows(src_bits, src, dst_nbits-1)) { /* * Source is positive and the magnitude is too large for @@ -4356,15 +4356,15 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst) * maximum possible value: 0x7f...f */ if(!except_set) { - if (0==H5T_bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && - H5T_bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 0) < 0) + if (0==H5T__bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && + H5T__bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 0) < 0) continue; /*no error*/ } else { /* fill_value is small so we know only the 1st byte is set */ if (dst_bits[0] == fill_value) continue; /*no error*/ } - } else if (1==H5T_bit_get_d(src_bits, src_nbits-1, (size_t)1) && + } else if (1==H5T__bit_get_d(src_bits, src_nbits-1, (size_t)1) && overflows(src_bits, src, dst_nbits-1)) { /* * Source is negative but the magnitude is too large for @@ -4372,8 +4372,8 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst) * smallest possible value: 0x80...0 */ if(!except_set) { - if (1==H5T_bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && - H5T_bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 1) < 0) + if (1==H5T__bit_get_d(dst_bits, dst_nbits-1, (size_t)1) && + H5T__bit_find(dst_bits, (size_t)0, dst_nbits-1, H5T_BIT_LSB, 1) < 0) continue; /*no error*/ } else { if (dst_bits[0] == fill_value) @@ -4389,14 +4389,14 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst) ) && (INT_UCHAR==dst_type || INT_USHORT==dst_type || INT_UINT==dst_type || INT_ULONG==dst_type || INT_ULLONG==dst_type)) { - if (H5T_bit_get_d(src_bits, src_nbits-1, (size_t)1)) { + if (H5T__bit_get_d(src_bits, src_nbits-1, (size_t)1)) { /* * The source is negative so the result should be zero. * The source is negative if the most significant bit is * set. The destination is zero if all bits are zero. */ if(!except_set) { - if (H5T_bit_find(dst_bits, (size_t)0, dst_nbits, H5T_BIT_LSB, 1) < 0) + if (H5T__bit_find(dst_bits, (size_t)0, dst_nbits, H5T_BIT_LSB, 1) < 0) continue; /*no error*/ } else { if (dst_bits[0] == fill_value) @@ -4409,7 +4409,7 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst) * largest possible value: 0xff...f */ if(!except_set) { - if (H5T_bit_find(dst_bits, (size_t)0, dst_nbits, H5T_BIT_LSB, 0) < 0) + if (H5T__bit_find(dst_bits, (size_t)0, dst_nbits, H5T_BIT_LSB, 0) < 0) continue; /*no error*/ } else { if (dst_bits[0] == fill_value) @@ -4757,13 +4757,13 @@ overflows(unsigned char *origin_bits, hid_t src_id, size_t dst_num_bits) HDmemcpy(bits, origin_bits, src_prec/8+1); /*Check for special cases: +Inf, -Inf*/ - if (H5T_bit_find (bits, mpos, mant_digits, H5T_BIT_LSB, TRUE) < 0) { - if (H5T_bit_find (bits, epos, expt_digits, H5T_BIT_LSB, FALSE) < 0) { + if (H5T__bit_find (bits, mpos, mant_digits, H5T_BIT_LSB, TRUE) < 0) { + if (H5T__bit_find (bits, epos, expt_digits, H5T_BIT_LSB, FALSE) < 0) { ret_value=TRUE; goto done; } - } else if (H5T_NORM_NONE==norm && H5T_bit_find (bits, mpos, mant_digits-1, - H5T_BIT_LSB, TRUE) < 0 && H5T_bit_find (bits, epos, expt_digits, + } else if (H5T_NORM_NONE==norm && H5T__bit_find (bits, mpos, mant_digits-1, + H5T_BIT_LSB, TRUE) < 0 && H5T__bit_find (bits, epos, expt_digits, H5T_BIT_LSB, FALSE) < 0) { /*This is a special case for the source of no implied mantissa bit. *If the exponent bits are all 1s and only the 1st bit of mantissa @@ -4773,7 +4773,7 @@ overflows(unsigned char *origin_bits, hid_t src_id, size_t dst_num_bits) } /* get exponent */ - expt = H5T_bit_get_d(bits, mant_digits, expt_digits) - bias; + expt = H5T__bit_get_d(bits, mant_digits, expt_digits) - bias; if(expt>=(dst_num_bits-1)) { ret_value=TRUE; @@ -4781,19 +4781,19 @@ overflows(unsigned char *origin_bits, hid_t src_id, size_t dst_num_bits) } /* get significand */ - H5T_bit_copy (mant_bits, (size_t)0, bits, (size_t)0, mant_digits); + H5T__bit_copy (mant_bits, (size_t)0, bits, (size_t)0, mant_digits); /* restore implicit bit if normalization is implied*/ if(norm == H5T_NORM_IMPLIED) { - H5T_bit_inc(mant_bits, mant_digits, (size_t)1); + H5T__bit_inc(mant_bits, mant_digits, (size_t)1); mant_digits++; } /* shift significand */ - H5T_bit_shift (mant_bits, (ssize_t)(expt-expt_digits), (size_t)0, (size_t)(32 * 8)); + H5T__bit_shift (mant_bits, (ssize_t)(expt-expt_digits), (size_t)0, (size_t)(32 * 8)); - indx = H5T_bit_find(mant_bits, (size_t)0, (size_t)(32 * 8), H5T_BIT_MSB, 1); + indx = H5T__bit_find(mant_bits, (size_t)0, (size_t)(32 * 8), H5T_BIT_MSB, 1); if((size_t)indx>=dst_num_bits) ret_value=TRUE; diff --git a/test/dtypes.c b/test/dtypes.c index 23a7bac..3db9bf8 100644 --- a/test/dtypes.c +++ b/test/dtypes.c @@ -3964,6 +3964,9 @@ test_str_create(void) if((query_size = H5Tget_size(fixed_str2)) == 0) goto error; if(query_size != str_size) goto error; + if(H5Tclose(fixed_str1) < 0) goto error; + if(H5Tclose(fixed_str2) < 0) goto error; + /* Create variable-length string in two ways and make sure they are the same */ if((vlen_str1 = mkstr((size_t)H5T_VARIABLE, H5T_STR_NULLTERM)) < 0) goto error; @@ -3978,6 +3981,8 @@ test_str_create(void) if((is_vl_str = H5Tis_variable_str(vlen_str2)) < 0) goto error; if(!is_vl_str) goto error; + if(H5Tclose(vlen_str1) < 0) goto error; + if(H5Tclose(vlen_str2) < 0) goto error; PASSED(); return 0; diff --git a/test/external.c b/test/external.c index 1dedeab..ae1008c 100644 --- a/test/external.c +++ b/test/external.c @@ -111,6 +111,7 @@ test_1a(hid_t file) char name[256]; /*external file name */ off_t file_offset; /*external file offset */ hsize_t file_size; /*sizeof external file segment */ + haddr_t dset_addr; /*address of dataset */ TESTING("fixed-size data space, exact storage"); @@ -130,7 +131,10 @@ test_1a(hid_t file) if((dset = H5Dopen2(file, "dset1", H5P_DEFAULT)) < 0) goto error; /* Test dataset address. Should be undefined. */ - if(H5Dget_offset(dset) != HADDR_UNDEF) goto error; + H5E_BEGIN_TRY { + dset_addr = H5Dget_offset(dset); + } H5E_END_TRY; + if(dset_addr != HADDR_UNDEF) goto error; if((dcpl = H5Dget_create_plist(dset)) < 0) goto error; if((n = H5Pget_external_count(dcpl)) < 0) goto error; diff --git a/test/file_image.c b/test/file_image.c index 7c2c3ff..73c901e 100644 --- a/test/file_image.c +++ b/test/file_image.c @@ -108,7 +108,7 @@ test_properties(void) buffer = (char *)HDmalloc(size); for(i = 0; i < count - 1; i++) buffer[i] = (char)(65 + i); - buffer[count] = '\0'; + buffer[count - 1] = '\0'; /* Create fapl */ if((fapl_1 = H5Pcreate(H5P_FILE_ACCESS)) < 0) FAIL_STACK_ERROR @@ -324,7 +324,7 @@ static int test_callbacks(void) { H5FD_file_image_callbacks_t real_callbacks = {&malloc_cb, &memcpy_cb, &realloc_cb, - &free_cb, &udata_copy_cb, &udata_free_cb, NULL}; + &free_cb, &udata_copy_cb, &udata_free_cb, NULL}; H5FD_file_image_callbacks_t null_callbacks = {NULL, NULL, NULL, NULL, NULL, NULL, NULL}; H5FD_file_image_callbacks_t callbacks; hid_t fapl_1; @@ -351,7 +351,7 @@ test_callbacks(void) file_image = (char *)HDmalloc(size); for(i = 0; i < count - 1; i++) file_image[i] = (char)(65 + i); - file_image[count] = '\0'; + file_image[count - 1] = '\0'; /* Create fapl */ if((fapl_1 = H5Pcreate(H5P_FILE_ACCESS)) < 0) FAIL_STACK_ERROR @@ -519,7 +519,7 @@ test_core(void) udata_t *udata; unsigned char *file_image; char filename[1024]; - char src_dir_filename[1024]; + char copied_filename[1024]; const char *tmp = NULL; size_t size; hsize_t dims[2]; @@ -527,7 +527,7 @@ test_core(void) h5_stat_t sb; herr_t ret; H5FD_file_image_callbacks_t callbacks = {&malloc_cb, &memcpy_cb, &realloc_cb, - &free_cb, &udata_copy_cb, &udata_free_cb, NULL}; + &free_cb, &udata_copy_cb, &udata_free_cb, NULL}; TESTING("Initial file image and callbacks in Core VFD"); @@ -542,16 +542,15 @@ test_core(void) tmp = h5_fixname(FILENAME[0], fapl, filename, sizeof(filename)); VERIFY(tmp != NULL, "h5_fixname failed"); - /* convert file name to srcdir file name. Make a copy as - * H5_get_srcdir_filename() simply sets up the file name in its - * own buffer each time it is called -- overwriting the previous - * value. - */ - tmp = H5_get_srcdir_filename(filename); - VERIFY(tmp != NULL, "H5_get_srcdir_filename failed"); - VERIFY(strlen(tmp) < 1023, "srcdir file name too long."); - HDstrncpy(src_dir_filename, tmp, 1023); - src_dir_filename[1023] = '\0'; + /* Append ".copy" to the filename from the source directory */ + VERIFY(HDstrlen(filename) < (1023 - 5), "file name too long."); + HDstrncpy(copied_filename, filename, 1023); + copied_filename[1023] = '\0'; + HDstrcat(copied_filename, ".copy"); + + /* Make a copy of the data file from svn. */ + ret = h5_make_local_copy(filename, copied_filename); + VERIFY(ret >= 0, "h5_make_local_copy"); /* Allocate and initialize udata */ udata = (udata_t *)HDmalloc(sizeof(udata_t)); @@ -566,7 +565,7 @@ test_core(void) /* Test open (no file image) */ reset_udata(udata); - file = H5Fopen(src_dir_filename, H5F_ACC_RDWR, fapl); + file = H5Fopen(copied_filename, H5F_ACC_RDONLY, fapl); VERIFY(file >= 0, "H5Fopen failed"); VERIFY(udata->used_callbacks == MALLOC, "opening a core file used the wrong callbacks"); VERIFY(udata->malloc_src == H5FD_FILE_IMAGE_OP_FILE_OPEN, "Malloc callback came from wrong sourc in core open"); @@ -579,7 +578,7 @@ test_core(void) VERIFY(udata->free_src == H5FD_FILE_IMAGE_OP_FILE_CLOSE, "Free callback came from wrong sourc in core close"); /* Reopen file */ - file = H5Fopen(src_dir_filename, H5F_ACC_RDWR, fapl); + file = H5Fopen(copied_filename, H5F_ACC_RDWR, fapl); VERIFY(file >= 0, "H5Fopen failed"); /* Set up a new dset */ @@ -613,7 +612,7 @@ test_core(void) VERIFY(udata->free_src == H5FD_FILE_IMAGE_OP_FILE_CLOSE, "Free callback came from wrong sourc in core close"); /* Create file image buffer */ - fd = HDopen(src_dir_filename, O_RDONLY, 0666); + fd = HDopen(copied_filename, O_RDONLY, 0666); VERIFY(fd > 0, "open failed"); ret = HDfstat(fd, &sb); VERIFY(ret == 0, "fstat failed"); @@ -627,13 +626,14 @@ test_core(void) if(H5Pset_file_image(fapl, file_image, size) < 0) FAIL_STACK_ERROR /* Test open with file image */ - if((file = H5Fopen("dne.h5", H5F_ACC_RDWR, fapl)) < 0) FAIL_STACK_ERROR + if((file = H5Fopen("dne.h5", H5F_ACC_RDONLY, fapl)) < 0) FAIL_STACK_ERROR if(H5Fclose(file) < 0) FAIL_STACK_ERROR /* Release resources */ h5_cleanup(FILENAME, fapl); HDfree(udata); HDfree(file_image); + HDremove(copied_filename); PASSED(); @@ -786,10 +786,10 @@ test_get_file_image(const char * test_banner, VERIFY(fd >= 0, "HDopen() failed."); if(size_remaining >= FAMILY_SIZE ){ - bytes_to_read = FAMILY_SIZE; + bytes_to_read = FAMILY_SIZE; size_remaining -= FAMILY_SIZE; } else { - bytes_to_read = size_remaining; + bytes_to_read = size_remaining; size_remaining = 0; } @@ -816,7 +816,7 @@ test_get_file_image(const char * test_banner, */ file_size = (ssize_t)stat_buf.st_size; - /* with latest mods to truncate call in core file drive, + /* with latest mods to truncate call in core file drive, * file size should match image size */ VERIFY(file_size == image_size, "file size != image size."); @@ -940,9 +940,9 @@ test_get_file_image_error_rejection(void) * Since we have already done the necessary setup, verify that * H5Fget_file_image() will fail with: * - * bad file id, or + * bad file id, or * - * good id, but not a file id + * good id, but not a file id */ diff --git a/test/mf.c b/test/mf.c index 3b1a8d8..3742051 100644 --- a/test/mf.c +++ b/test/mf.c @@ -3184,8 +3184,13 @@ error: * To verify that a block can be extended from the aggregator * * Test 1: Allocate block A from meta_aggr which is at end of file - * Try to extend a block which adjoins the aggregator - * H5MF_try_extend() succeeds: meta_aggr is extended by extended-request and meta_aggr's info is updated + * Try to extend the block which adjoins the aggregator that is at end of file + * a. block size < (% * aggr->alloc_size) + * The block is allocated from the aggregator + * b. block size > (% * aggr->alloc_size) but block size < aggr->alloc_size + * The block is extended by aggr->alloc_size and the block is allocated from the aggregator + * c. block size > (% * aggr->alloc_size) but block size > aggr->alloc_size + * The block is extended by extended-request and the block is allocated from the aggregator * * Test 2: Allocate block A from meta_aggr * Allocate block B from sdata_aggr so that meta_aggr is not at end of file @@ -3252,7 +3257,7 @@ test_mf_aggr_extend(const char *env_h5_drvr, hid_t fapl) new_addr = addr - 10; - /* Try to extend the block */ + /* 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)); /* should succeed */ @@ -3263,15 +3268,42 @@ test_mf_aggr_extend(const char *env_h5_drvr, hid_t fapl) if (new_ma_addr != (addr+TEST_BLOCK_SIZE50)) TEST_ERROR - if (new_ma_size != f->shared->meta_aggr.alloc_size) TEST_ERROR + if (new_ma_size != (f->shared->meta_aggr.alloc_size - TEST_BLOCK_SIZE50)) TEST_ERROR - /* Restore info for meta_aggr */ - f->shared->meta_aggr.addr = ma_addr; - f->shared->meta_aggr.size = ma_size; + /* Free the allocated blocks */ + 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)); + + /* should succeed */ + if(!extended) + TEST_ERROR + + H5MF_aggr_query(f, &(f->shared->meta_aggr), &new_ma_addr, &new_ma_size); + + if (new_ma_addr != (addr + TEST_BLOCK_SIZE700)) + TEST_ERROR + if (new_ma_size != (f->shared->meta_aggr.alloc_size * 2 - TEST_BLOCK_SIZE700)) TEST_ERROR /* Free the allocated blocks */ - H5MF_xfree(f, type, H5P_DATASET_XFER_DEFAULT, addr, (hsize_t)TEST_BLOCK_SIZE30); - H5MF_xfree(f, type, H5P_DATASET_XFER_DEFAULT, (ma_addr+ma_size), (hsize_t)TEST_BLOCK_SIZE50); + 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)); + + /* should succeed */ + if(!extended) + TEST_ERROR + + H5MF_aggr_query(f, &(f->shared->meta_aggr), &new_ma_addr, &new_ma_size); + + if (new_ma_addr != (addr + TEST_BLOCK_SIZE2058)) + TEST_ERROR + if (new_ma_size != f->shared->meta_aggr.size) TEST_ERROR + + /* Free the allocated blocks */ + H5MF_xfree(f, type, H5P_DATASET_XFER_DEFAULT, addr, (hsize_t)TEST_BLOCK_SIZE2058); if(H5Fclose(file) < 0) FAIL_STACK_ERROR diff --git a/test/objcopy.c b/test/objcopy.c index f5555e8..2270d19 100644 --- a/test/objcopy.c +++ b/test/objcopy.c @@ -1567,7 +1567,7 @@ compare_idx_type(hid_t fapl, hid_t did, H5D_chunk_index_t new_type, H5D_chunk_in H5F_libver_t low; /* File format low bound */ /* Get the chunk index type */ - if(H5D_layout_idx_type_test(did, &idx_type) < 0) + if(H5D__layout_idx_type_test(did, &idx_type) < 0) FAIL_STACK_ERROR /* Check if we are using the latest version of the format */ diff --git a/test/testfiles/error_test_1 b/test/testfiles/error_test_1 index 8d6e208..b322460 100644 --- a/test/testfiles/error_test_1 +++ b/test/testfiles/error_test_1 @@ -44,13 +44,13 @@ HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): #000: (file name) line (number) in H5Dread(): can't read data major: Dataset minor: Read failed - #001: (file name) line (number) in H5D_read(): can't read data + #001: (file name) line (number) in H5D__read(): can't read data major: Dataset minor: Read failed - #002: (file name) line (number) in H5D_chunk_read(): unable to read raw data chunk + #002: (file name) line (number) in H5D__chunk_read(): unable to read raw data chunk major: Low-level I/O minor: Read failed - #003: (file name) line (number) in H5D_chunk_lock(): data pipeline read failed + #003: (file name) line (number) in H5D__chunk_lock(): data pipeline read failed major: Data filters minor: Filter operation failed #004: (file name) line (number) in H5Z_pipeline(): required filter 'bogus' is not registered diff --git a/test/tgenprop.c b/test/tgenprop.c index 5f9a69b..3dbaa14 100644 --- a/test/tgenprop.c +++ b/test/tgenprop.c @@ -1575,6 +1575,46 @@ test_genprop_class_addprop(void) /**************************************************************** ** +** test_genprop_list_add_remove_prop(): Test adding then removing the +** same properties to a standard HDF5 property list. This is testing +** also for a memory leak that could be caused by not freeing the +** removed property resources from the property list. +** +****************************************************************/ +static void +test_genprop_list_add_remove_prop(void) +{ + hid_t pid; /* Property List ID */ + herr_t ret; /* Generic return value */ + + /* Create a dataset creation property list */ + pid = H5Pcreate(H5P_DATASET_CREATE); + CHECK(pid, FAIL, "H5Pcreate"); + + /* Insert temporary property into class (with no callbacks) */ + ret = H5Pinsert2(pid, PROP1_NAME, PROP1_SIZE, PROP1_DEF_VALUE, NULL, NULL, NULL, NULL, NULL, NULL); + CHECK_I(ret, "H5Pinsert2"); + + /* Delete added property */ + ret = H5Premove(pid, PROP1_NAME); + CHECK_I(ret, "H5Premove"); + + /* Insert temporary property into class (with no callbacks) */ + ret = H5Pinsert2(pid, PROP1_NAME, PROP1_SIZE, PROP1_DEF_VALUE, NULL, NULL, NULL, NULL, NULL, NULL); + CHECK_I(ret, "H5Pinsert2"); + + /* Delete added property */ + ret = H5Premove(pid, PROP1_NAME); + CHECK_I(ret, "H5Premove"); + + /* Close property list */ + ret = H5Pclose(pid); + CHECK(ret, FAIL, "H5Pclose"); + +} /* end test_genprop_list_add_remove_prop() */ + +/**************************************************************** +** ** test_genprop_equal(): Test basic generic property list code. ** More tests for H5Pequal() ** @@ -1990,6 +2030,8 @@ test_genprop(void) test_genprop_list_addprop(); /* Test adding properties to HDF5 property list */ test_genprop_class_addprop(); /* Test adding properties to HDF5 property class */ + test_genprop_list_add_remove_prop(); /* Test adding and removing the same property several times to HDF5 property list */ + test_genprop_equal(); /* Tests for more H5Pequal verification */ test_genprop_path(); /* Tests for class path verification */ test_genprop_refcount(); /* Tests for class reference counting */ diff --git a/test/tid.c b/test/tid.c index 97b28ca..87f3d37 100644 --- a/test/tid.c +++ b/test/tid.c @@ -451,11 +451,11 @@ out: /* Test boundary cases with lots of types */ -/* Type IDs range from H5I_NTYPES to MAX_NUM_TYPES. The system will assign */ -/* IDs in sequential order until MAX_NUM_TYPES IDs have been given out, at which */ +/* Type IDs range from H5I_NTYPES to H5I_MAX_NUM_TYPES. The system will assign */ +/* IDs in sequential order until H5I_MAX_NUM_TYPES IDs have been given out, at which */ /* point it will search for type IDs that were allocated but have since been */ /* deleted. */ -/* This test will allocate IDs up to MAX_NUM_TYPES, ensure that IDs wrap around */ +/* This test will allocate IDs up to H5I_MAX_NUM_TYPES, ensure that IDs wrap around */ /* to low values successfully, ensure that an error is thrown when all possible */ /* type IDs are taken, then ensure that deleting types frees up their IDs. */ /* Note that this test depends on the implementation of IDs, so may break */ @@ -463,7 +463,7 @@ out: /* Also note that if someone else registered a user-defined type and forgot to */ /* destroy it, this test will mysteriously fail (because it will expect there to */ /* be one more "free" type ID than there is). */ -/* H5I_NTYPES is defined in h5public.h, MAX_NUM_TYPES is defined in h5pkg.h */ +/* H5I_NTYPES is defined in h5public.h, H5I_MAX_NUM_TYPES is defined in h5pkg.h */ static int test_id_type_list(void) { H5I_type_t startType; /* The first type ID we were assigned in this test */ @@ -477,14 +477,14 @@ static int test_id_type_list(void) goto out; /* Sanity check */ - if(startType >= MAX_NUM_TYPES || startType < H5I_NTYPES) + if(startType >= H5I_MAX_NUM_TYPES || startType < H5I_NTYPES) { /* Error condition, throw an error */ CHECK(1, 1, "H5Iregister_type"); goto out; } - /* Create types up to MAX_NUM_TYPES */ - for(i = startType + 1; i < MAX_NUM_TYPES; i++) + /* Create types up to H5I_MAX_NUM_TYPES */ + for(i = startType + 1; i < H5I_MAX_NUM_TYPES; i++) { currentType = H5Iregister_type((size_t)8, 0, (H5I_free_t) free ); CHECK(currentType, H5I_BADID, "H5Iregister_type"); @@ -519,7 +519,7 @@ static int test_id_type_list(void) goto out; /* Cleanup. Destroy all types. */ - for(i = H5I_NTYPES; i < MAX_NUM_TYPES; i++) + for(i = H5I_NTYPES; i < H5I_MAX_NUM_TYPES; i++) H5Idestroy_type((H5I_type_t) i); return 0; @@ -527,7 +527,7 @@ static int test_id_type_list(void) out: /* Cleanup. For simplicity, just destroy all types and ignore errors. */ H5E_BEGIN_TRY - for(i = H5I_NTYPES; i < MAX_NUM_TYPES; i++) + for(i = H5I_NTYPES; i < H5I_MAX_NUM_TYPES; i++) H5Idestroy_type((H5I_type_t) i); H5E_END_TRY return -1; diff --git a/test/tmisc.c b/test/tmisc.c index 5539cee..6fcf557 100644 --- a/test/tmisc.c +++ b/test/tmisc.c @@ -3460,14 +3460,14 @@ test_misc20(void) CHECK(did, FAIL, "H5Dopen2"); /* Get the layout version */ - ret = H5D_layout_version_test(did,&version); - CHECK(ret, FAIL, "H5D_layout_version_test"); - VERIFY(version, 3, "H5D_layout_version_test"); + ret = H5D__layout_version_test(did,&version); + CHECK(ret, FAIL, "H5D__layout_version_test"); + VERIFY(version, 3, "H5D__layout_version_test"); /* Get the layout contiguous storage size */ - ret = H5D_layout_contig_size_test(did,&contig_size); - CHECK(ret, FAIL, "H5D_layout_contig_size_test"); - VERIFY(contig_size, (MISC20_SPACE_DIM0 * MISC20_SPACE_DIM1 * H5Tget_size(H5T_NATIVE_INT)), "H5D_layout_contig_size_test"); + ret = H5D__layout_contig_size_test(did,&contig_size); + CHECK(ret, FAIL, "H5D__layout_contig_size_test"); + VERIFY(contig_size, (MISC20_SPACE_DIM0 * MISC20_SPACE_DIM1 * H5Tget_size(H5T_NATIVE_INT)), "H5D__layout_contig_size_test"); /* Close datasset */ ret = H5Dclose(did); @@ -3478,14 +3478,14 @@ test_misc20(void) CHECK(did, FAIL, "H5Dopen2"); /* Get the layout version */ - ret = H5D_layout_version_test(did,&version); - CHECK(ret, FAIL, "H5D_layout_version_test"); - VERIFY(version, 3, "H5D_layout_version_test"); + ret = H5D__layout_version_test(did,&version); + CHECK(ret, FAIL, "H5D__layout_version_test"); + VERIFY(version, 3, "H5D__layout_version_test"); /* Get the layout contiguous storage size */ - ret = H5D_layout_contig_size_test(did,&contig_size); - CHECK(ret, FAIL, "H5D_layout_contig_size_test"); - VERIFY(contig_size, (MISC20_SPACE2_DIM0 * MISC20_SPACE2_DIM1 * H5Tget_size(H5T_NATIVE_INT)), "H5D_layout_contig_size_test"); + ret = H5D__layout_contig_size_test(did,&contig_size); + CHECK(ret, FAIL, "H5D__layout_contig_size_test"); + VERIFY(contig_size, (MISC20_SPACE2_DIM0 * MISC20_SPACE2_DIM1 * H5Tget_size(H5T_NATIVE_INT)), "H5D__layout_contig_size_test"); /* Close datasset */ ret = H5Dclose(did); @@ -3508,14 +3508,14 @@ test_misc20(void) CHECK(did, FAIL, "H5Dopen2"); /* Get the layout version */ - ret = H5D_layout_version_test(did,&version); - CHECK(ret, FAIL, "H5D_layout_version_test"); - VERIFY(version, 2, "H5D_layout_version_test"); + ret = H5D__layout_version_test(did,&version); + CHECK(ret, FAIL, "H5D__layout_version_test"); + VERIFY(version, 2, "H5D__layout_version_test"); /* Get the layout contiguous storage size */ - ret = H5D_layout_contig_size_test(did,&contig_size); - CHECK(ret, FAIL, "H5D_layout_contig_size_test"); - VERIFY(contig_size, (MISC20_SPACE_DIM0 * MISC20_SPACE_DIM1 * H5Tget_size(H5T_STD_I32LE)), "H5D_layout_contig_size_test"); + ret = H5D__layout_contig_size_test(did,&contig_size); + CHECK(ret, FAIL, "H5D__layout_contig_size_test"); + VERIFY(contig_size, (MISC20_SPACE_DIM0 * MISC20_SPACE_DIM1 * H5Tget_size(H5T_STD_I32LE)), "H5D__layout_contig_size_test"); /* Close datasset */ ret = H5Dclose(did); @@ -4963,10 +4963,10 @@ test_misc28(void) CHECK(did, FAIL, "H5Dcreate2"); /* Verify that the chunk cache is empty */ - ret = H5D_current_cache_size_test(did, &nbytes_used, &nused); - CHECK(ret, FAIL, "H5D_current_cache_size_test"); - VERIFY(nbytes_used, (size_t) 0, "H5D_current_cache_size_test"); - VERIFY(nused, 0, "H5D_current_cache_size_test"); + ret = H5D__current_cache_size_test(did, &nbytes_used, &nused); + CHECK(ret, FAIL, "H5D__current_cache_size_test"); + VERIFY(nbytes_used, (size_t) 0, "H5D__current_cache_size_test"); + VERIFY(nused, 0, "H5D__current_cache_size_test"); /* Initialize write buffer */ for(i=0; i Type: object reference /COPY/Dset_REGREF Dataset {2/2} - Location: 1:9400 + Location: 1:5304 Links: 1 Storage:
Type: dataset region reference diff --git a/tools/h5copy/testfiles/h5copytst.out.ls b/tools/h5copy/testfiles/h5copytst.out.ls index 62c860b..4044aaf 100644 --- a/tools/h5copy/testfiles/h5copytst.out.ls +++ b/tools/h5copy/testfiles/h5copytst.out.ls @@ -3,57 +3,57 @@ Opened "./testfiles/h5copytst.out.h5" with sec2 driver. Location: 1:96 Links: 1 /A Group - Location: 1:88336 + Location: 1:84304 Links: 1 /A/B1 Group - Location: 1:89040 + Location: 1:85008 Links: 1 /A/B1/simple Dataset {6/6} - Location: 1:88208 + Location: 1:84176 Links: 1 Storage:
Type: 32-bit little-endian integer /A/B2 Group - Location: 1:92576 + Location: 1:88544 Links: 1 /A/B2/simple2 Dataset {6/6} - Location: 1:92448 + Location: 1:88416 Links: 1 Storage:
Type: 32-bit little-endian integer /C Group - Location: 1:95784 + Location: 1:91752 Links: 1 /C/D Group - Location: 1:96488 + Location: 1:92456 Links: 1 /C/D/simple Dataset {6/6} - Location: 1:95656 + Location: 1:91624 Links: 1 Storage:
Type: 32-bit little-endian integer /E Group - Location: 1:110400 + Location: 1:106368 Links: 1 /E/F Group - Location: 1:111104 + Location: 1:107072 Links: 1 /E/F/grp_dsets Group - Location: 1:98600 + Location: 1:94568 Links: 1 /E/F/grp_dsets/chunk Dataset {6/6} - Location: 1:102784 + Location: 1:98752 Links: 1 Chunks: {2} 8 bytes Storage:
Type: 32-bit little-endian integer /E/F/grp_dsets/compact Dataset {6/6} - Location: 1:103240 + Location: 1:99208 Links: 1 Storage:
Type: 32-bit little-endian integer /E/F/grp_dsets/compound Dataset {2/2} - Location: 1:103376 + Location: 1:99344 Links: 1 Storage:
Type: struct { @@ -61,60 +61,60 @@ Opened "./testfiles/h5copytst.out.h5" with sec2 driver. "str2" +20 20-byte null-terminated ASCII string } 40 bytes /E/F/grp_dsets/compressed Dataset {6/6} - Location: 1:105688 + Location: 1:101656 Links: 1 Chunks: {2} 8 bytes Storage:
Filter-0: deflate-1 OPT {1} Type: 32-bit little-endian integer /E/F/grp_dsets/named_vl Dataset {2/2} - Location: 1:109952 + Location: 1:105920 Links: 1 Storage:
- Type: shared-1:110080 variable length of + Type: shared-1:106048 variable length of 32-bit little-endian integer /E/F/grp_dsets/nested_vl Dataset {2/2} - Location: 1:110128 + Location: 1:106096 Links: 1 Storage:
Type: variable length of variable length of 32-bit little-endian integer /E/F/grp_dsets/simple Dataset {6/6} - Location: 1:110272 + Location: 1:106240 Links: 1 Storage:
Type: 32-bit little-endian integer /E/F/grp_dsets/vl Type - Location: 1:110080 + Location: 1:106048 Links: 2 - Type: shared-1:110080 variable length of + Type: shared-1:106048 variable length of 32-bit little-endian integer /G Group - Location: 1:126048 + Location: 1:122016 Links: 1 /G/H Group - Location: 1:126752 + Location: 1:122720 Links: 1 /G/H/grp_nested Group - Location: 1:113128 + Location: 1:109096 Links: 1 /G/H/grp_nested/grp_dsets Group - Location: 1:113920 + Location: 1:109888 Links: 1 /G/H/grp_nested/grp_dsets/chunk Dataset {6/6} - Location: 1:118104 + Location: 1:114072 Links: 1 Chunks: {2} 8 bytes Storage:
Type: 32-bit little-endian integer /G/H/grp_nested/grp_dsets/compact Dataset {6/6} - Location: 1:118560 + Location: 1:114528 Links: 1 Storage:
Type: 32-bit little-endian integer /G/H/grp_nested/grp_dsets/compound Dataset {2/2} - Location: 1:118696 + Location: 1:114664 Links: 1 Storage:
Type: struct { @@ -122,34 +122,34 @@ Opened "./testfiles/h5copytst.out.h5" with sec2 driver. "str2" +20 20-byte null-terminated ASCII string } 40 bytes /G/H/grp_nested/grp_dsets/compressed Dataset {6/6} - Location: 1:121008 + Location: 1:116976 Links: 1 Chunks: {2} 8 bytes Storage:
Filter-0: deflate-1 OPT {1} Type: 32-bit little-endian integer /G/H/grp_nested/grp_dsets/named_vl Dataset {2/2} - Location: 1:125272 + Location: 1:121240 Links: 1 Storage:
- Type: shared-1:125400 variable length of + Type: shared-1:121368 variable length of 32-bit little-endian integer /G/H/grp_nested/grp_dsets/nested_vl Dataset {2/2} - Location: 1:125448 + Location: 1:121416 Links: 1 Storage:
Type: variable length of variable length of 32-bit little-endian integer /G/H/grp_nested/grp_dsets/simple Dataset {6/6} - Location: 1:125592 + Location: 1:121560 Links: 1 Storage:
Type: 32-bit little-endian integer /G/H/grp_nested/grp_dsets/vl Type - Location: 1:125400 + Location: 1:121368 Links: 2 - Type: shared-1:125400 variable length of + Type: shared-1:121368 variable length of 32-bit little-endian integer /chunk Dataset {6/6} Location: 1:6312 @@ -178,21 +178,21 @@ Opened "./testfiles/h5copytst.out.h5" with sec2 driver. Filter-0: deflate-1 OPT {1} Type: 32-bit little-endian integer /grp_dsets Group - Location: 1:32160 + Location: 1:28128 Links: 1 /grp_dsets/chunk Dataset {6/6} - Location: 1:36344 + Location: 1:32312 Links: 1 Chunks: {2} 8 bytes Storage:
Type: 32-bit little-endian integer /grp_dsets/compact Dataset {6/6} - Location: 1:36800 + Location: 1:32768 Links: 1 Storage:
Type: 32-bit little-endian integer /grp_dsets/compound Dataset {2/2} - Location: 1:36936 + Location: 1:32904 Links: 1 Storage:
Type: struct { @@ -200,62 +200,62 @@ Opened "./testfiles/h5copytst.out.h5" with sec2 driver. "str2" +20 20-byte null-terminated ASCII string } 40 bytes /grp_dsets/compressed Dataset {6/6} - Location: 1:39248 + Location: 1:35216 Links: 1 Chunks: {2} 8 bytes Storage:
Filter-0: deflate-1 OPT {1} Type: 32-bit little-endian integer /grp_dsets/named_vl Dataset {2/2} - Location: 1:43512 + Location: 1:39480 Links: 1 Storage:
- Type: shared-1:43640 variable length of + Type: shared-1:39608 variable length of 32-bit little-endian integer /grp_dsets/nested_vl Dataset {2/2} - Location: 1:43688 + Location: 1:39656 Links: 1 Storage:
Type: variable length of variable length of 32-bit little-endian integer /grp_dsets/simple Dataset {6/6} - Location: 1:43832 + Location: 1:39800 Links: 1 Storage:
Type: 32-bit little-endian integer /grp_dsets/simple_group Dataset {6/6} - Location: 1:59944 + Location: 1:55912 Links: 1 Storage:
Type: 32-bit little-endian integer /grp_dsets/vl Type - Location: 1:43640 + Location: 1:39608 Links: 2 - Type: shared-1:43640 variable length of + Type: shared-1:39608 variable length of 32-bit little-endian integer /grp_empty Group - Location: 1:31368 + Location: 1:27336 Links: 1 /grp_nested Group - Location: 1:44624 + Location: 1:40592 Links: 1 /grp_nested/grp_dsets Group - Location: 1:45416 + Location: 1:41384 Links: 1 /grp_nested/grp_dsets/chunk Dataset {6/6} - Location: 1:49600 + Location: 1:45568 Links: 1 Chunks: {2} 8 bytes Storage:
Type: 32-bit little-endian integer /grp_nested/grp_dsets/compact Dataset {6/6} - Location: 1:50056 + Location: 1:46024 Links: 1 Storage:
Type: 32-bit little-endian integer /grp_nested/grp_dsets/compound Dataset {2/2} - Location: 1:50192 + Location: 1:46160 Links: 1 Storage:
Type: struct { @@ -263,51 +263,51 @@ Opened "./testfiles/h5copytst.out.h5" with sec2 driver. "str2" +20 20-byte null-terminated ASCII string } 40 bytes /grp_nested/grp_dsets/compressed Dataset {6/6} - Location: 1:52504 + Location: 1:48472 Links: 1 Chunks: {2} 8 bytes Storage:
Filter-0: deflate-1 OPT {1} Type: 32-bit little-endian integer /grp_nested/grp_dsets/named_vl Dataset {2/2} - Location: 1:56768 + Location: 1:52736 Links: 1 Storage:
- Type: shared-1:56896 variable length of + Type: shared-1:52864 variable length of 32-bit little-endian integer /grp_nested/grp_dsets/nested_vl Dataset {2/2} - Location: 1:56944 + Location: 1:52912 Links: 1 Storage:
Type: variable length of variable length of 32-bit little-endian integer /grp_nested/grp_dsets/simple Dataset {6/6} - Location: 1:57088 + Location: 1:53056 Links: 1 Storage:
Type: 32-bit little-endian integer /grp_nested/grp_dsets/vl Type - Location: 1:56896 + Location: 1:52864 Links: 2 - Type: shared-1:56896 variable length of + Type: shared-1:52864 variable length of 32-bit little-endian integer /grp_rename Group - Location: 1:61152 + Location: 1:57120 Links: 1 /grp_rename/chunk Dataset {6/6} - Location: 1:65336 + Location: 1:61304 Links: 1 Chunks: {2} 8 bytes Storage:
Type: 32-bit little-endian integer /grp_rename/compact Dataset {6/6} - Location: 1:65792 + Location: 1:61760 Links: 1 Storage:
Type: 32-bit little-endian integer /grp_rename/compound Dataset {2/2} - Location: 1:65928 + Location: 1:61896 Links: 1 Storage:
Type: struct { @@ -315,28 +315,28 @@ Opened "./testfiles/h5copytst.out.h5" with sec2 driver. "str2" +20 20-byte null-terminated ASCII string } 40 bytes /grp_rename/compressed Dataset {6/6} - Location: 1:68240 + Location: 1:64208 Links: 1 Chunks: {2} 8 bytes Storage:
Filter-0: deflate-1 OPT {1} Type: 32-bit little-endian integer /grp_rename/grp_dsets Group - Location: 1:74032 + Location: 1:70000 Links: 1 /grp_rename/grp_dsets/chunk Dataset {6/6} - Location: 1:78216 + Location: 1:74184 Links: 1 Chunks: {2} 8 bytes Storage:
Type: 32-bit little-endian integer /grp_rename/grp_dsets/compact Dataset {6/6} - Location: 1:78672 + Location: 1:74640 Links: 1 Storage:
Type: 32-bit little-endian integer /grp_rename/grp_dsets/compound Dataset {2/2} - Location: 1:78808 + Location: 1:74776 Links: 1 Storage:
Type: struct { @@ -344,73 +344,73 @@ Opened "./testfiles/h5copytst.out.h5" with sec2 driver. "str2" +20 20-byte null-terminated ASCII string } 40 bytes /grp_rename/grp_dsets/compressed Dataset {6/6} - Location: 1:81120 + Location: 1:77088 Links: 1 Chunks: {2} 8 bytes Storage:
Filter-0: deflate-1 OPT {1} Type: 32-bit little-endian integer /grp_rename/grp_dsets/named_vl Dataset {2/2} - Location: 1:85384 + Location: 1:81352 Links: 1 Storage:
- Type: shared-1:85512 variable length of + Type: shared-1:81480 variable length of 32-bit little-endian integer /grp_rename/grp_dsets/nested_vl Dataset {2/2} - Location: 1:85560 + Location: 1:81528 Links: 1 Storage:
Type: variable length of variable length of 32-bit little-endian integer /grp_rename/grp_dsets/simple Dataset {6/6} - Location: 1:85704 + Location: 1:81672 Links: 1 Storage:
Type: 32-bit little-endian integer /grp_rename/grp_dsets/vl Type - Location: 1:85512 + Location: 1:81480 Links: 2 - Type: shared-1:85512 variable length of + Type: shared-1:81480 variable length of 32-bit little-endian integer /grp_rename/named_vl Dataset {2/2} - Location: 1:72504 + Location: 1:68472 Links: 1 Storage:
- Type: shared-1:72632 variable length of + Type: shared-1:68600 variable length of 32-bit little-endian integer /grp_rename/nested_vl Dataset {2/2} - Location: 1:72680 + Location: 1:68648 Links: 1 Storage:
Type: variable length of variable length of 32-bit little-endian integer /grp_rename/simple Dataset {6/6} - Location: 1:72824 + Location: 1:68792 Links: 1 Storage:
Type: 32-bit little-endian integer /grp_rename/vl Type - Location: 1:72632 + Location: 1:68600 Links: 2 - Type: shared-1:72632 variable length of + Type: shared-1:68600 variable length of 32-bit little-endian integer /named_vl Dataset {2/2} - Location: 1:19296 + Location: 1:17280 Links: 1 Storage:
- Type: shared-1:19424 variable length of + Type: shared-1:17408 variable length of 32-bit little-endian integer /nested_vl Dataset {2/2} - Location: 1:25792 + Location: 1:21760 Links: 1 Storage:
Type: variable length of variable length of 32-bit little-endian integer /rename Dataset {2/2} - Location: 1:30160 + Location: 1:26128 Links: 1 Storage:
Type: struct { @@ -423,7 +423,7 @@ Opened "./testfiles/h5copytst.out.h5" with sec2 driver. Storage:
Type: 32-bit little-endian integer /simple_top Dataset {6/6} - Location: 1:27984 + Location: 1:23952 Links: 1 Storage:
Type: 32-bit little-endian integer diff --git a/tools/h5diff/h5diffgentest.c b/tools/h5diff/h5diffgentest.c index 8b62d38..fb44eb4 100644 --- a/tools/h5diff/h5diffgentest.c +++ b/tools/h5diff/h5diffgentest.c @@ -2351,7 +2351,7 @@ static int test_dangle_links(const char *fname1, const char *fname2) goto out; } - status = H5Lcreate_external("no_file1.h5", "no_obj", fid1, "ext_link4", H5P_DEFAULT, H5P_DEFAULT); + status = H5Lcreate_external("no_file.h5", "no_obj", fid1, "ext_link4", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { fprintf(stderr, "Error: %s> H5Lcreate_external failed.\n", fname1); @@ -2384,7 +2384,7 @@ static int test_dangle_links(const char *fname1, const char *fname2) goto out; } - status = H5Lcreate_external("no_file2.h5", "no_obj", fid2, "ext_link4", H5P_DEFAULT, H5P_DEFAULT); + status = H5Lcreate_external("no_file.h5", "no_obj", fid2, "ext_link4", H5P_DEFAULT, H5P_DEFAULT); if (status < 0) { fprintf(stderr, "Error: %s> H5Lcreate_external failed.\n", fname2); diff --git a/tools/h5diff/testh5diff.sh b/tools/h5diff/testh5diff.sh index ef472bb..be6a28e 100755 --- a/tools/h5diff/testh5diff.sh +++ b/tools/h5diff/testh5diff.sh @@ -320,11 +320,9 @@ COPY_TESTFILES_TO_TESTDIR() echo $tstfile | tr -d ' ' | grep '^#' > /dev/null RET=$? if [ $RET -eq 1 ]; then - if [ -a $tstfile ]; then - $CP -f $tstfile $TESTDIR - else + $CP -f $tstfile $TESTDIR + if [ $? -ne 0 ]; then echo "Error: FAILED to copy $tstfile ." - echo " $tstfile doesn't exist!" # Comment out this to CREATE expected file exit $EXIT_FAILURE @@ -829,9 +827,10 @@ TOOLTEST h5diff_221.txt -c non_comparables1.h5 non_comparables2.h5 /g2 # entire file # All the comparables should display differences. -if test -n "$pmode" -a "$mydomainname" = hdfgroup.uiuc.edu; then +if test -n "$pmode"; then # parallel mode: - # skip due to ph5diff hangs on koala (linux64-LE) randomly. + # skip due to ph5diff hangs on koala (linux64-LE) and ember intermittently. + # (HDFFV-8003 - TBD) SKIP -c non_comparables1.h5 non_comparables2.h5 else TOOLTEST h5diff_222.txt -c non_comparables1.h5 non_comparables2.h5 diff --git a/tools/h5dump/CMakeLists.txt b/tools/h5dump/CMakeLists.txt index 3bc481d..cf442d4 100644 --- a/tools/h5dump/CMakeLists.txt +++ b/tools/h5dump/CMakeLists.txt @@ -43,362 +43,420 @@ IF (BUILD_TESTING) # Copy all the HDF5 files from the test directory into the source directory # -------------------------------------------------------------------- SET (HDF5_REFERENCE_FILES - charsets.ddl - file_space.ddl - filter_fail.ddl - packedbits.ddl - tall-1.ddl - tall-2.ddl - tall-2A.ddl - tall-2B.ddl - tall-3.ddl - tall-4s.ddl - tall-5s.ddl - tall-6.ddl - tallfilters.ddl - tarray1.ddl - tarray1_big.ddl - tarray2.ddl - tarray3.ddl - tarray4.ddl - tarray5.ddl - tarray6.ddl - tarray7.ddl - tarray8.ddl - tattr-1.ddl - tattrintsize.ddl - tattr-2.ddl - tattr-3.ddl - tattr-4_be.ddl - tattrreg.ddl - tattrregR.ddl - tbin1.ddl - tbin1.ddl - tbin2.ddl - tbin3.ddl - tbin4.ddl - tbinregR.ddl - tbigdims.ddl - tboot1.ddl - tboot2.ddl - tchar1.ddl - tchunked.ddl - tcmpdattrintsize.ddl - tcmpdintsize.ddl - tcomp-1.ddl - tcomp-2.ddl - tcomp-3.ddl - tcomp-4.ddl - tcompact.ddl - tcontents.ddl - tcontiguos.ddl - tdatareg.ddl - tdataregR.ddl - tdeflate.ddl - tdset-1.ddl - tdset-2.ddl - tdset-3s.ddl - tempty.ddl - texceedsubstart.ddl - texceedsubcount.ddl - texceedsubstride.ddl - texceedsubblock.ddl - texternal.ddl - textlinksrc.ddl - textlinkfar.ddl - textlink.ddl - tfamily.ddl - tfill.ddl - tfletcher32.ddl - tfpformat.ddl - tgroup-1.ddl - tgroup-2.ddl - tgrp_comments.ddl - thlink-1.ddl - thlink-2.ddl - thlink-3.ddl - thlink-4.ddl - thlink-5.ddl - thyperslab.ddl - tindicesno.ddl - tindicessub1.ddl - tindicessub2.ddl - tindicessub3.ddl - tindicessub4.ddl - tindicesyes.ddl - tlarge_objname.ddl - #tldouble.ddl - tlonglinks.ddl - tloop-1.ddl - tmulti.ddl - tmultifile.ddl -# tqmarkfile.ddl -# tstarfile.ddl - tnamed_dtype_attr.ddl - tnestcomp-1.ddl - tnbit.ddl - tno-subset.ddl - tnullspace.ddl - zerodim.ddl - tordergr1.ddl - tordergr2.ddl - tordergr3.ddl - tordergr4.ddl - tordergr5.ddl - torderattr1.ddl - torderattr2.ddl - torderattr3.ddl - torderattr4.ddl - tperror.ddl - treference.ddl - tsaf.ddl - tscaleoffset.ddl - tshuffle.ddl - tslink-1.ddl - tslink-2.ddl - tslink-D.ddl - tsplit_file.ddl - tstr-1.ddl - tstr-2.ddl - tstring.ddl - tstring2.ddl - tstringe.ddl - tszip.ddl - tudlink-1.ddl - tudlink-2.ddl - tuserfilter.ddl - tvldtypes1.ddl - tvldtypes2.ddl - tvldtypes3.ddl - tvldtypes4.ddl - tvldtypes5.ddl - tvlstr.ddl - tvms.ddl - h5dump-help.txt - out3.h5import - ) - SET (HDF5_XML_REFERENCE_FILES - tall.h5.xml - tall-2A.h5.xml - tarray1.h5.xml - tarray2.h5.xml - tarray3.h5.xml - tarray6.h5.xml - tarray7.h5.xml - tattr.h5.xml - tbitfields.h5.xml - tcompound_complex.h5.xml - tcompound.h5.xml - tcompound2.h5.xml - tdatareg.h5.xml - tdset.h5.xml - tdset2.h5.xml - tempty.h5.xml - tempty-dtd.h5.xml - tempty-dtd-2.h5.xml - tempty-dtd-uri.h5.xml - tempty-nons.h5.xml - tempty-nons-2.h5.xml - tempty-nons-uri.h5.xml - tempty-ns.h5.xml - tempty-ns-2.h5.xml - tenum.h5.xml - textlink.h5.xml - tfpformat.h5.xml - tgroup.h5.xml - thlink.h5.xml - tloop.h5.xml - tloop2.h5.xml - tmany.h5.xml - tname-amp.h5.xml - tname-apos.h5.xml - tnamed_dtype_attr.h5.xml - tname-gt.h5.xml - tname-lt.h5.xml - tname-quot.h5.xml - tname-sp.h5.xml - tnestedcomp.h5.xml - tnodata.h5.xml - tobjref.h5.xml - topaque.h5.xml - torderattr1.h5.xml - torderattr2.h5.xml - torderattr3.h5.xml - torderattr4.h5.xml - tref.h5.xml - tref-escapes.h5.xml - tref-escapes-at.h5.xml - tsaf.h5.xml - tslink.h5.xml - tstr.h5.xml - tstr2.h5.xml - tstring.h5.xml - tstring-at.h5.xml - tudlink.h5.xml - tvldtypes1.h5.xml - tvldtypes2.h5.xml - tvldtypes3.h5.xml - tvldtypes4.h5.xml - tvldtypes5.h5.xml - tvlstr.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/charsets.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/file_space.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/filter_fail.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/packedbits.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall-2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall-2A.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall-2B.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall-3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall-4s.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall-5s.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall-6.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tallfilters.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1_big.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray5.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray6.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray7.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray8.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattr-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattr-2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattr-3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattr-4_be.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattrcontents1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattrcontents2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattrintsize.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattrreg.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattrregR.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbin1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbin2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbin3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbin4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbinregR.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbigdims.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tboot1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tboot2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tchar1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tchunked.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdattrintsize.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdintsize.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompact.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcontents.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcontiguos.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdataregR.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdeflate.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdset-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdset-2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdset-3s.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/texceedsubstart.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/texceedsubcount.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/texceedsubstride.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/texceedsubblock.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/texternal.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/textlinkfar.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/textlink.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfill.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfletcher32.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfpformat.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup-2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tgrp_comments.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/thlink-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/thlink-2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/thlink-3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/thlink-4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/thlink-5.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/thyperslab.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tindicesno.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tindicessub1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tindicessub2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tindicessub3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tindicessub4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tindicesyes.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tlarge_objname.ddl + #${HDF5_TOOLS_SRC_DIR}/testfiles/tldouble.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tlonglinks.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tloop-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmulti.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmultifile.ddl + #${HDF5_TOOLS_SRC_DIR}/testfiles/tqmarkfile.ddl + #${HDF5_TOOLS_SRC_DIR}/testfiles/tstarfile.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnamed_dtype_attr.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnestcomp-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnestedcmpddt.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnbit.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tno-subset.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnullspace.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/zerodim.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr5.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tordercontents1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tordercontents2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderlinks1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderlinks2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tperror.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/treference.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tscaleoffset.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tshuffle.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tslink-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tslink-2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tslink-D.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tsplit_file.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstr-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstr-2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstring.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstring2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstringe.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tszip.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink-1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink-2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tuserfilter.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes3.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes5.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvlstr.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvms.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/twidedisplay.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/h5dump-help.txt + ${HDF5_TOOLS_SRC_DIR}/testfiles/out3.h5import ) SET (HDF5_REFERENCE_TEST_FILES - charsets.h5 - file_space.h5 - filter_fail.h5 - packedbits.h5 - taindices.h5 - tall.h5 - tarray1.h5 - tarray1_big.h5 - tarray2.h5 - tarray3.h5 - tarray4.h5 - tarray5.h5 - tarray6.h5 - tarray7.h5 - tarray8.h5 - tattr.h5 - tattr2.h5 - tattr4_be.h5 - tattrintsize.h5 - tattrreg.h5 - tbigdims.h5 - tbinary.h5 - tchar.h5 - tcmpdattrintsize.h5 - tcmpdintsize.h5 - tcompound.h5 - tcompound_complex.h5 - tdatareg.h5 - tdset.h5 - tempty.h5 - tsoftlinks.h5 - textlinkfar.h5 - textlinksrc.h5 - textlinktar.h5 - textlink.h5 - tfamily00000.h5 - tfamily00001.h5 - tfamily00002.h5 - tfamily00003.h5 - tfamily00004.h5 - tfamily00005.h5 - tfamily00006.h5 - tfamily00007.h5 - tfamily00008.h5 - tfamily00009.h5 - tfamily00010.h5 - tfcontents1.h5 - tfcontents2.h5 - tfilters.h5 - tfpformat.h5 - tfvalues.h5 - tgroup.h5 - tgrp_comments.h5 - thlink.h5 - thyperslab.h5 - tlarge_objname.h5 - #tldouble.h5 - tlonglinks.h5 - tloop.h5 - tmulti-b.h5 - tmulti-g.h5 - tmulti-l.h5 - tmulti-o.h5 - tmulti-r.h5 - tmulti-s.h5 - tnamed_dtype_attr.h5 - tnestedcomp.h5 - tno-subset.h5 - tnullspace.h5 - zerodim.h5 - torderattr.h5 - tordergr.h5 - tsaf.h5 - tslink.h5 - tsplit_file-m.h5 - tsplit_file-r.h5 - tstr.h5 - tstr2.h5 - tstr3.h5 - tudlink.h5 - tvldtypes1.h5 - tvldtypes2.h5 - tvldtypes3.h5 - tvldtypes4.h5 - tvldtypes5.h5 - tvlstr.h5 - tvms.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/charsets.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/file_space.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/filter_fail.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/packedbits.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/taindices.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1_big.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray2.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray3.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray4.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray5.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray6.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray7.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray8.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattr.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattr2.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattr4_be.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattrintsize.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattrreg.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbigdims.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbinary.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tchar.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdattrintsize.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdintsize.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_complex.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdset.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tsoftlinks.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/textlinkfar.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/textlinksrc.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/textlinktar.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/textlink.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00000.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00001.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00002.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00003.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00004.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00005.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00006.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00007.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00008.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00009.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfamily00010.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfcontents1.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfcontents2.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfilters.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfpformat.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfvalues.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tgrp_comments.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/thlink.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/thyperslab.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tlarge_objname.h5 + #${HDF5_TOOLS_SRC_DIR}/testfiles/tldouble.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tlonglinks.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tloop.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmulti-b.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmulti-g.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmulti-l.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmulti-o.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmulti-r.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmulti-s.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnamed_dtype_attr.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnestedcomp.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnestedcmpddt.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tno-subset.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnullspace.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/zerodim.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tordergr.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tslink.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tsplit_file-m.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tsplit_file-r.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstr.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstr2.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstr3.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes1.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes2.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes3.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes4.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes5.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvlstr.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvms.h5 ) - SET (HDF5_XML_REFERENCE_TEST_FILES - tbitfields.h5 - tcompound2.h5 - tdset2.h5 - tenum.h5 - textlink.h5 - tloop2.h5 - tmany.h5 - tname-amp.h5 - tname-apos.h5 - tname-gt.h5 - tname-lt.h5 - tname-quot.h5 - tname-sp.h5 - tnodata.h5 - tobjref.h5 - topaque.h5 - tref.h5 - tref-escapes.h5 - tref-escapes-at.h5 - tstring.h5 - tstring-at.h5 + SET (HDF5_ERROR_REFERENCE_TEST_FILES + ${PROJECT_SOURCE_DIR}/errfiles/filter_fail.err + ${PROJECT_SOURCE_DIR}/errfiles/tall-1.err + ${PROJECT_SOURCE_DIR}/errfiles/tall-2A.err + ${PROJECT_SOURCE_DIR}/errfiles/tall-2B.err + ${PROJECT_SOURCE_DIR}/errfiles/tarray1_big.err + ${PROJECT_SOURCE_DIR}/errfiles/tattrregR.err + ${PROJECT_SOURCE_DIR}/errfiles/tattr-3.err + ${PROJECT_SOURCE_DIR}/errfiles/tcomp-3.err + ${PROJECT_SOURCE_DIR}/errfiles/tdataregR.err + ${PROJECT_SOURCE_DIR}/errfiles/tdset-2.err + ${PROJECT_SOURCE_DIR}/errfiles/texceedsubblock.err + ${PROJECT_SOURCE_DIR}/errfiles/texceedsubcount.err + ${PROJECT_SOURCE_DIR}/errfiles/texceedsubstart.err + ${PROJECT_SOURCE_DIR}/errfiles/texceedsubstride.err + ${PROJECT_SOURCE_DIR}/errfiles/textlink.err + ${PROJECT_SOURCE_DIR}/errfiles/textlinkfar.err + ${PROJECT_SOURCE_DIR}/errfiles/textlinksrc.err + ${PROJECT_SOURCE_DIR}/errfiles/torderlinks1.err + ${PROJECT_SOURCE_DIR}/errfiles/torderlinks2.err + ${PROJECT_SOURCE_DIR}/errfiles/tgroup-2.err + ${PROJECT_SOURCE_DIR}/errfiles/tperror.err + ${PROJECT_SOURCE_DIR}/errfiles/tslink-D.err ) - FOREACH (ddl_file ${HDF5_REFERENCE_FILES}) - SET (ddldest "${PROJECT_BINARY_DIR}/${ddl_file}") - #MESSAGE (STATUS " Copying ${ddl_file}") + # make test dir + FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") + + # + # copy test files from source dir to test dir + # + FOREACH (tst_h5_file ${HDF5_REFERENCE_TEST_FILES}) + GET_FILENAME_COMPONENT(fname "${tst_h5_file}" NAME) + SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}") + #MESSAGE (STATUS " Copying ${tst_h5_file}") ADD_CUSTOM_COMMAND ( TARGET h5dump POST_BUILD COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${ddl_file} ${ddldest} + ARGS -E copy_if_different ${tst_h5_file} ${dest} ) - ENDFOREACH (ddl_file ${HDF5_REFERENCE_FILES}) + ENDFOREACH (tst_h5_file ${HDF5_REFERENCE_TEST_FILES}) - FOREACH (xml_file ${HDF5_XML_REFERENCE_FILES}) - SET (xmldest "${PROJECT_BINARY_DIR}/${xml_file}") - #MESSAGE (STATUS " Copying ${xml_file}") + FOREACH (tst_other_file ${HDF5_REFERENCE_FILES}) + GET_FILENAME_COMPONENT(fname "${tst_other_file}" NAME) + SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}") + #MESSAGE (STATUS " Copying ${tst_other_file}") ADD_CUSTOM_COMMAND ( TARGET h5dump POST_BUILD COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${xml_file} ${xmldest} + ARGS -E copy_if_different ${tst_other_file} ${dest} ) - ENDFOREACH (xml_file ${HDF5_XML_REFERENCE_FILES}) + ENDFOREACH (tst_other_file ${HDF5_REFERENCE_FILES}) - FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES}) - SET (dest "${PROJECT_BINARY_DIR}/${h5_file}") - #MESSAGE (STATUS " Copying ${h5_file}") + FOREACH (tst_error_file ${HDF5_ERROR_REFERENCE_TEST_FILES}) + GET_FILENAME_COMPONENT(fname "${tst_error_file}" NAME) + SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}") + #MESSAGE (STATUS " Copying ${tst_error_file}") ADD_CUSTOM_COMMAND ( TARGET h5dump POST_BUILD COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_file} ${dest} + ARGS -E copy_if_different ${tst_error_file} ${dest} ) - ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES}) + ENDFOREACH (tst_error_file ${HDF5_ERROR_REFERENCE_TEST_FILES}) - FOREACH (h5_xml_file ${HDF5_XML_REFERENCE_TEST_FILES}) - SET (dest "${PROJECT_BINARY_DIR}/${h5_xml_file}") - #MESSAGE (STATUS " Copying ${h5_xml_file}") + # + # copy XML test files from source dir to test dir + # + SET (HDF5_XML_REFERENCE_TEST_FILES + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbitfields.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound2.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdset2.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tenum.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/textlink.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tloop2.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmany.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-amp.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-apos.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-gt.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-lt.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-quot.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-sp.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnodata.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tobjref.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/topaque.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tref.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tref-escapes.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tref-escapes-at.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstring.h5 + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstring-at.h5 + ) + SET (HDF5_XML_REFERENCE_FILES + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tall-2A.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray1.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray3.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray6.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tarray7.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tattr.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tbitfields.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_complex.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdset.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tdset2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-dtd.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-dtd-2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-dtd-uri.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-nons.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-nons-2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-nons-uri.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-ns.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tempty-ns-2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tenum.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/textlink.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tfpformat.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tgroup.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/thlink.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tloop.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tloop2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tmany.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-amp.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-apos.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnamed_dtype_attr.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-gt.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-lt.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-quot.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tname-sp.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnestedcomp.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnodata.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tobjref.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/topaque.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr1.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr3.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/torderattr4.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tref.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tref-escapes.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tref-escapes-at.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tsaf.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tslink.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstr.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstr2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstring.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tstring-at.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tudlink.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes1.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes2.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes3.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes4.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvldtypes5.h5.xml + ${HDF5_TOOLS_SRC_DIR}/testfiles/tvlstr.h5.xml + ) + + FOREACH (tst_xml_h5_file ${HDF5_XML_REFERENCE_TEST_FILES}) + GET_FILENAME_COMPONENT(fname "${tst_xml_h5_file}" NAME) + SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}") + #MESSAGE (STATUS " Copying ${tst_xml_h5_file}") ADD_CUSTOM_COMMAND ( TARGET h5dump POST_BUILD COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_xml_file} ${dest} + ARGS -E copy_if_different ${tst_xml_h5_file} ${dest} ) - ENDFOREACH (h5_xml_file ${HDF5_XML_REFERENCE_TEST_FILES}) + ENDFOREACH (tst_xml_h5_file ${HDF5_XML_REFERENCE_TEST_FILES}) + FOREACH (tst_xml_other_file ${HDF5_XML_REFERENCE_FILES}) + GET_FILENAME_COMPONENT(fname "${tst_xml_other_file}" NAME) + SET (dest "${PROJECT_BINARY_DIR}/testfiles/${fname}") + #MESSAGE (STATUS " Copying ${tst_xml_other_file}") + ADD_CUSTOM_COMMAND ( + TARGET h5dump + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different ${tst_xml_other_file} ${dest} + ) + ENDFOREACH (tst_xml_other_file ${HDF5_XML_REFERENCE_FILES}) + # -------------------------------------------------------------------- # Special file handling # -------------------------------------------------------------------- @@ -406,18 +464,18 @@ IF (BUILD_TESTING) TARGET h5dump POST_BUILD COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_TOOLS_SOURCE_DIR}/testfiles/tbin1.ddl ${PROJECT_BINARY_DIR}/tbin1LE.ddl + ARGS -E copy_if_different ${HDF5_TOOLS_SOURCE_DIR}/testfiles/tbin1.ddl ${PROJECT_BINARY_DIR}/testfiles/tbin1LE.ddl ) IF (WIN32 AND NOT CYGWIN) FILE (READ ${HDF5_TOOLS_SRC_DIR}/testfiles/tbinregR.exp TEST_STREAM) - FILE (WRITE ${PROJECT_BINARY_DIR}/tbinregR.exp "${TEST_STREAM}") + FILE (WRITE ${PROJECT_BINARY_DIR}/testfiles/tbinregR.exp "${TEST_STREAM}") ELSE (WIN32 AND NOT CYGWIN) ADD_CUSTOM_COMMAND ( TARGET h5dump POST_BUILD COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/tbinregR.exp ${PROJECT_BINARY_DIR}/tbinregR.exp + ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/tbinregR.exp ${PROJECT_BINARY_DIR}/testfiles/tbinregR.exp ) ENDIF (WIN32 AND NOT CYGWIN) @@ -426,71 +484,99 @@ IF (BUILD_TESTING) # -------------------------------------------------------------------- #-- Copy all the HDF5 files from the test directory into the source directory SET (HDF5_REFERENCE_PBITS - tnofilename-with-packed-bits.ddl - tpbitsArray.ddl - tpbitsCompound.ddl - tpbitsIncomplete.ddl - tpbitsLengthExceeded.ddl - tpbitsCharLengthExceeded.ddl - tpbitsIntLengthExceeded.ddl - tpbitsLongLengthExceeded.ddl - tpbitsLengthPositive.ddl - tpbitsMax.ddl - tpbitsMaxExceeded.ddl - tpbitsOffsetExceeded.ddl - tpbitsCharOffsetExceeded.ddl - tpbitsIntOffsetExceeded.ddl - tpbitsLongOffsetExceeded.ddl - tpbitsOffsetNegative.ddl - tpbitsOverlapped.ddl - tpbitsSigned.ddl - tpbitsUnsigned.ddl - tpbitsSignedInt.ddl - tpbitsUnsignedInt.ddl - tpbitsSignedLong.ddl - tpbitsUnsignedLong.ddl - tpbitsSignedLongLong.ddl - tpbitsUnsignedLongLong.ddl - tpbitsSignedWhole.ddl - tpbitsUnsignedWhole.ddl - tpbitsSignedIntWhole.ddl - tpbitsUnsignedIntWhole.ddl - tpbitsSignedLongWhole.ddl - tpbitsUnsignedLongWhole.ddl - tpbitsSignedLongLongWhole.ddl - tpbitsUnsignedLongLongWhole.ddl - tpbitsSignedLongLongWhole1.ddl - tpbitsUnsignedLongLongWhole1.ddl - tpbitsSignedLongLongWhole63.ddl - tpbitsUnsignedLongLongWhole63.ddl - tpbitsSigned4.ddl - tpbitsUnsigned4.ddl - tpbitsSignedInt8.ddl - tpbitsUnsignedInt8.ddl - tpbitsSignedLong16.ddl - tpbitsUnsignedLong16.ddl - tpbitsSignedLongLong32.ddl - tpbitsUnsignedLongLong32.ddl - tpbitsSigned2.ddl - tpbitsUnsigned2.ddl - tpbitsSignedInt4.ddl - tpbitsUnsignedInt4.ddl - tpbitsSignedLong8.ddl - tpbitsUnsignedLong8.ddl - tpbitsSignedLongLong16.ddl - tpbitsUnsignedLongLong16.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tnofilename-with-packed-bits.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsArray.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsCompound.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsIncomplete.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsLengthExceeded.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsCharLengthExceeded.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsIntLengthExceeded.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsLongLengthExceeded.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsLengthPositive.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsMax.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsMaxExceeded.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsOffsetExceeded.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsCharOffsetExceeded.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsIntOffsetExceeded.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsLongOffsetExceeded.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsOffsetNegative.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsOverlapped.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSigned.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsigned.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedInt.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedInt.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLong.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLong.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLong.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLong.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedWhole.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedWhole.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedIntWhole.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedIntWhole.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongWhole.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongWhole.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLongWhole.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLongWhole.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLongWhole1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLongWhole1.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLongWhole63.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLongWhole63.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSigned4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsigned4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedInt8.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedInt8.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLong16.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLong16.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLong32.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLong32.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSigned2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsigned2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedInt4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedInt4.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLong8.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLong8.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsSignedLongLong16.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tpbitsUnsignedLongLong16.ddl + ) + SET (HDF5_ERROR_REFERENCE_PBITS + ${PROJECT_SOURCE_DIR}/errfiles/tnofilename-with-packed-bits.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsCharLengthExceeded.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsCharOffsetExceeded.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsIncomplete.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsIntLengthExceeded.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsIntOffsetExceeded.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsLengthExceeded.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsLengthPositive.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsLongLengthExceeded.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsLongOffsetExceeded.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsMaxExceeded.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsOffsetExceeded.err + ${PROJECT_SOURCE_DIR}/errfiles/tpbitsOffsetNegative.err ) FOREACH (ddl_pbits ${HDF5_REFERENCE_PBITS}) - SET (ddldest "${PROJECT_BINARY_DIR}/${ddl_pbits}") - #MESSAGE (STATUS " Translating ${ddl_pbits}") + GET_FILENAME_COMPONENT(fname "${ddl_pbits}" NAME) + SET (ddldest "${PROJECT_BINARY_DIR}/testfiles/${fname}") + #MESSAGE (STATUS " Copying ${ddl_pbits}") ADD_CUSTOM_COMMAND ( TARGET h5dump POST_BUILD COMMAND ${CMAKE_COMMAND} - ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${ddl_pbits} ${ddldest} + ARGS -E copy_if_different ${ddl_pbits} ${ddldest} ) ENDFOREACH (ddl_pbits ${HDF5_REFERENCE_PBITS}) + + FOREACH (ddl_pbits ${HDF5_ERROR_REFERENCE_PBITS}) + GET_FILENAME_COMPONENT(fname "${ddl_pbits}" NAME) + SET (ddldest "${PROJECT_BINARY_DIR}/testfiles/${fname}") + #MESSAGE (STATUS " Copying ${ddl_pbits}") + ADD_CUSTOM_COMMAND ( + TARGET h5dump + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different ${ddl_pbits} ${ddldest} + ) + ENDFOREACH (ddl_pbits ${HDF5_ERROR_REFERENCE_PBITS}) ############################################################################## ############################################################################## @@ -502,6 +588,7 @@ IF (BUILD_TESTING) # If using memchecker add tests without using scripts IF (HDF5_ENABLE_USING_MEMCHECKER) ADD_TEST (NAME H5DUMP-${testname} COMMAND $ ${ARGN}) + SET_TESTS_PROPERTIES (H5DUMP-${testname} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") IF (NOT "${last_test}" STREQUAL "") SET_TESTS_PROPERTIES (H5DUMP-${testname} PROPERTIES DEPENDS ${last_test}) ENDIF (NOT "${last_test}" STREQUAL "") @@ -512,12 +599,13 @@ IF (BUILD_TESTING) COMMAND ${CMAKE_COMMAND} -E remove h5dump-${testname}.out h5dump-${testname}.out.err ) + SET_TESTS_PROPERTIES (H5DUMP-clear-h5dump-${testname}-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") ADD_TEST ( NAME H5DUMP-h5dump-${testname} COMMAND "${CMAKE_COMMAND}" -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=${ARGN}" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles" -D "TEST_OUTPUT=h5dump-${testname}.out" -D "TEST_EXPECT=${resultcode}" -D "TEST_REFERENCE=h5dump-${testname}.txt" @@ -544,6 +632,7 @@ IF (BUILD_TESTING) # If using memchecker add tests without using scripts IF (HDF5_ENABLE_USING_MEMCHECKER) ADD_TEST (NAME H5DUMP-${resultfile} COMMAND $ ${ARGN}) + SET_TESTS_PROPERTIES (H5DUMP-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") IF (NOT ${resultcode} STREQUAL "0") SET_TESTS_PROPERTIES (H5DUMP-${resultfile} PROPERTIES WILL_FAIL "true") ENDIF (NOT ${resultcode} STREQUAL "0") @@ -557,12 +646,13 @@ IF (BUILD_TESTING) COMMAND ${CMAKE_COMMAND} -E remove ${resultfile}.out ${resultfile}.out.err ) + SET_TESTS_PROPERTIES (H5DUMP-clear-${resultfile}-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") ADD_TEST ( NAME H5DUMP-${resultfile} COMMAND "${CMAKE_COMMAND}" -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=${ARGN}" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles" -D "TEST_OUTPUT=${resultfile}.out" -D "TEST_EXPECT=${resultcode}" -D "TEST_REFERENCE=${resultfile}.ddl" @@ -575,8 +665,9 @@ IF (BUILD_TESTING) MACRO (ADD_H5_EXPORT_TEST resultfile targetfile resultcode) ADD_TEST ( NAME H5DUMP-output-${resultfile} - COMMAND $ ${ARGN} ${PROJECT_BINARY_DIR}/${resultfile}.txt ${PROJECT_BINARY_DIR}/${targetfile} + COMMAND $ ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile}.txt ${PROJECT_BINARY_DIR}/testfiles/${targetfile} ) + SET_TESTS_PROPERTIES (H5DUMP-output-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") IF (NOT "${last_test}" STREQUAL "") SET_TESTS_PROPERTIES (H5DUMP-output-${resultfile} PROPERTIES DEPENDS ${last_test}) ENDIF (NOT "${last_test}" STREQUAL "") @@ -585,7 +676,7 @@ IF (BUILD_TESTING) ADD_TEST ( NAME H5DUMP-output-cmp-${resultfile} COMMAND ${CMAKE_COMMAND} - -E compare_files ${PROJECT_BINARY_DIR}/${resultfile}.txt ${PROJECT_BINARY_DIR}/${resultfile}.exp + -E compare_files ${PROJECT_BINARY_DIR}/testfiles/${resultfile}.txt ${PROJECT_BINARY_DIR}/testfiles/${resultfile}.exp ) IF (NOT "${last_test}" STREQUAL "") SET_TESTS_PROPERTIES (H5DUMP-output-cmp-${resultfile} PROPERTIES DEPENDS ${last_test}) @@ -601,12 +692,13 @@ IF (BUILD_TESTING) COMMAND ${CMAKE_COMMAND} -E remove ${resultfile}.out ${resultfile}.out.err ) + SET_TESTS_PROPERTIES (H5DUMP-clear-${resultfile}-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") ADD_TEST ( NAME H5DUMP-${resultfile} COMMAND "${CMAKE_COMMAND}" -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=${ARGN}" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles" -D "TEST_OUTPUT=${resultfile}.out" -D "TEST_EXPECT=${resultcode}" -D "TEST_REFERENCE=${resultfile}.ddl" @@ -617,6 +709,31 @@ IF (BUILD_TESTING) ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER) ENDMACRO (ADD_H5_MASK_TEST file) + MACRO (ADD_H5ERR_MASK_TEST resultfile resultcode) + IF (NOT HDF5_ENABLE_USING_MEMCHECKER) + ADD_TEST ( + NAME H5DUMP-clear-${resultfile}-objects + COMMAND ${CMAKE_COMMAND} + -E remove ${resultfile}.out ${resultfile}.out.err + ) + SET_TESTS_PROPERTIES (H5DUMP-clear-${resultfile}-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") + ADD_TEST ( + NAME H5DUMP-${resultfile} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=${ARGN}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles" + -D "TEST_OUTPUT=${resultfile}.out" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_REFERENCE=${resultfile}.ddl" + -D "TEST_ERRREF=${resultfile}.err" + -D "TEST_MASK_ERROR=true" + -P "${HDF5_RESOURCES_DIR}/runTest.cmake" + ) + SET_TESTS_PROPERTIES (H5DUMP-${resultfile} PROPERTIES DEPENDS "H5DUMP-clear-${resultfile}-objects") + ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER) + ENDMACRO (ADD_H5ERR_MASK_TEST file) + MACRO (ADD_XML_SKIP_H5_TEST skipresultfile skipresultcode testtype) IF (${testtype} STREQUAL "SKIP") IF (NOT HDF5_ENABLE_USING_MEMCHECKER) @@ -633,6 +750,7 @@ IF (BUILD_TESTING) MACRO (ADD_XML_H5_TEST resultfile resultcode) IF (HDF5_ENABLE_USING_MEMCHECKER) ADD_TEST (NAME H5DUMP-XML-${resultfile} COMMAND $ --xml ${ARGN}) + SET_TESTS_PROPERTIES (H5DUMP-XML-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") IF (NOT ${resultcode} STREQUAL "0") SET_TESTS_PROPERTIES (H5DUMP-XML-${resultfile} PROPERTIES WILL_FAIL "true") ENDIF (NOT ${resultcode} STREQUAL "0") @@ -646,12 +764,13 @@ IF (BUILD_TESTING) COMMAND ${CMAKE_COMMAND} -E remove ${resultfile}.out ${resultfile}.out.err ) + SET_TESTS_PROPERTIES (H5DUMP-XML-clear-${resultfile}-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") ADD_TEST ( NAME H5DUMP-XML-${resultfile} COMMAND "${CMAKE_COMMAND}" -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=--xml;${ARGN}" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles" -D "TEST_OUTPUT=${resultfile}.out" -D "TEST_EXPECT=${resultcode}" -D "TEST_REFERENCE=${resultfile}.xml" @@ -673,7 +792,7 @@ IF (BUILD_TESTING) ############################################################################## ############################################################################## -### T H E T E S T S ### +### T H E T E S T S HDF5_ENABLE_USING_MEMCHECKER ### ############################################################################## ############################################################################## @@ -736,6 +855,10 @@ IF (BUILD_TESTING) tattr-3.out.err tattr-4_be.out tattr-4_be.out.err + tattrcontents1.out + tattrcontents1.out.err + tattrcontents2.out + tattrcontents2.out.err tattrintsize.out tattrintsize.out.err tattrreg.out @@ -860,6 +983,8 @@ IF (BUILD_TESTING) tnamed_dtype_attr.out.err tnestcomp-1.out tnestcomp-1.out.err + tnestedcmpddt.out + tnestedcmpddt.out.err tnbit.out tnbit.out.err tno-subset.out @@ -886,6 +1011,14 @@ IF (BUILD_TESTING) torderattr3.out.err torderattr4.out torderattr4.out.err + tordercontents1.out + tordercontents1.out.err + tordercontents2.out + tordercontents2.out.err + torderlinks1.out + torderlinks1.out.err + torderlinks2.out + torderlinks2.out.err tperror.out tperror.out.err treference.out @@ -936,7 +1069,10 @@ IF (BUILD_TESTING) tvlstr.out.err tvms.out tvms.out.err + twidedisplay.out + twidedisplay.out.err ) + SET_TESTS_PROPERTIES (H5DUMP-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") IF (NOT "${last_test}" STREQUAL "") SET_TESTS_PROPERTIES (H5DUMP-clearall-objects PROPERTIES DEPENDS ${last_test}) ENDIF (NOT "${last_test}" STREQUAL "") @@ -945,6 +1081,9 @@ IF (BUILD_TESTING) ADD_HELP_TEST(help 0 -h) + # test for maximum display datasets + ADD_H5_TEST (twidedisplay 0 --enable-error-stack -w0 packedbits.h5) + # test for signed/unsigned datasets ADD_H5_TEST (packedbits 0 --enable-error-stack packedbits.h5) # test for compound signed/unsigned datasets @@ -956,21 +1095,19 @@ IF (BUILD_TESTING) # test for displaying groups ADD_H5_TEST (tgroup-1 0 --enable-error-stack tgroup.h5) # test for displaying the selected groups - # JIRA HDFFV-7936 ADD_H5_MASK_TEST (tgroup-2 1 --enable-error-stack --group=/g2 --group / -g /y tgroup.h5) - # cannot use TEST_MASK_ERROR and --enable-error-stack on this test because group names are similar to version numbers - ADD_H5_TEST (tgroup-2 1 --group=/g2 --group / -g /y tgroup.h5) + ADD_H5ERR_MASK_TEST (tgroup-2 1 --enable-error-stack --group=/g2 --group / -g /y tgroup.h5) # test for displaying simple space datasets ADD_H5_TEST (tdset-1 0 --enable-error-stack tdset.h5) # test for displaying selected datasets - ADD_H5_MASK_TEST (tdset-2 1 --enable-error-stack -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5) + ADD_H5ERR_MASK_TEST (tdset-2 1 --enable-error-stack -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5) # test for displaying attributes ADD_H5_TEST (tattr-1 0 --enable-error-stack tattr.h5) # test for displaying the selected attributes of string type and scalar space ADD_H5_TEST (tattr-2 0 --enable-error-stack -a /\\\\/attr1 --attribute /attr4 --attribute=/attr5 tattr.h5) # test for header and error messages - ADD_H5_MASK_TEST (tattr-3 1 --enable-error-stack --header -a /attr2 --attribute=/attr tattr.h5) + ADD_H5ERR_MASK_TEST (tattr-3 1 --enable-error-stack --header -a /attr2 --attribute=/attr tattr.h5) # test for displaying attributes in shared datatype (also in group and dataset) ADD_H5_TEST (tnamed_dtype_attr 0 --enable-error-stack tnamed_dtype_attr.h5) # test for displaying at least 9 attributes on root from a be machine @@ -983,7 +1120,7 @@ IF (BUILD_TESTING) ADD_H5_TEST (tslink-2 0 --enable-error-stack -l slink2 tslink.h5) ADD_H5_TEST (tudlink-2 0 --enable-error-stack -l udlink2 tudlink.h5) # test for displaying dangling soft links - ADD_H5_MASK_TEST (tslink-D 0 --enable-error-stack -d /slink1 tslink.h5) + ADD_H5ERR_MASK_TEST (tslink-D 0 --enable-error-stack -d /slink1 tslink.h5) # tests for hard links ADD_H5_TEST (thlink-1 0 --enable-error-stack thlink.h5) @@ -997,18 +1134,16 @@ IF (BUILD_TESTING) # test for named data types ADD_H5_TEST (tcomp-2 0 --enable-error-stack -t /type1 --datatype /type2 --datatype=/group1/type3 tcompound.h5) # test for unamed type - # JIRA HDFFV-7936 ADD_H5_TEST (tcomp-3 0 "--enable-error-stack;-t;/#6632;-g;/group2;tcompound.h5") - ADD_H5_TEST (tcomp-3 0 "-t;/#6632;-g;/group2;tcompound.h5") + ADD_H5ERR_MASK_TEST (tcomp-3 0 "--enable-error-stack;-t;/#6632;-g;/group2;tcompound.h5") # test complicated compound datatype ADD_H5_TEST (tcomp-4 0 --enable-error-stack tcompound_complex.h5) #test for the nested compound type ADD_H5_TEST (tnestcomp-1 0 --enable-error-stack tnestedcomp.h5) + ADD_H5_TEST (tnestedcmpddt 0 --enable-error-stack tnestedcmpddt.h5) # test for options - # JIRA HDFFV-7936 ADD_H5_MASK_TEST (tall-1 0 --enable-error-stack tall.h5) - # cannot use TEST_MASK_ERROR and --enable-error-stack on this test because group/dataset names are similar to version numbers - ADD_H5_TEST (tall-1 0 tall.h5) + ADD_H5ERR_MASK_TEST (tall-1 0 --enable-error-stack tall.h5) ADD_H5_TEST (tall-2 0 --enable-error-stack --header -g /g1/g1.1 -a attr2 tall.h5) ADD_H5_TEST (tall-3 0 --enable-error-stack -d /g2/dset2.1 -l /g1/g1.2/g1.2.1/slink tall.h5) @@ -1035,8 +1170,7 @@ IF (BUILD_TESTING) # test for files with array data ADD_H5_TEST (tarray1 0 --enable-error-stack tarray1.h5) # # added for bug# 2092 - tarray1_big.h5 - # JIRA HDFFV-7936 ADD_H5_TEST (tarray1_big 0 --enable-error-stack -R tarray1_big.h5) - ADD_H5_TEST (tarray1_big 0 -R tarray1_big.h5) + ADD_H5ERR_MASK_TEST (tarray1_big 0 --enable-error-stack -R tarray1_big.h5) ADD_H5_TEST (tarray2 0 --enable-error-stack tarray2.h5) ADD_H5_TEST (tarray3 0 --enable-error-stack tarray3.h5) ADD_H5_TEST (tarray4 0 --enable-error-stack tarray4.h5) @@ -1065,13 +1199,10 @@ IF (BUILD_TESTING) ADD_H5_TEST (tlarge_objname 0 --enable-error-stack -w157 tlarge_objname.h5) # test '-A' to suppress data but print attr's - # JIRA HDFFV-7936 ADD_H5_MASK_TEST (tall-2A 0 --enable-error-stack -A tall.h5) - # cannot use TEST_MASK_ERROR and --enable-error-stack on this test because group/dataset names are similar to version numbers - ADD_H5_TEST (tall-2A 0 -A tall.h5) + ADD_H5ERR_MASK_TEST (tall-2A 0 --enable-error-stack -A tall.h5) # test '-r' to print attributes in ASCII instead of decimal - # JIRA HDFFV-7936 ADD_H5_TEST (tall-2B 0 --enable-error-stack -A -r tall.h5) - ADD_H5_TEST (tall-2B 0 -A -r tall.h5) + ADD_H5ERR_MASK_TEST (tall-2B 0 --enable-error-stack -A -r tall.h5) # test Subsetting ADD_H5_TEST (tall-4s 0 --enable-error-stack --dataset=/g1/g1.1/dset1.1.1 --start=1,1 --stride=2,3 --count=3,2 --block=1,1 tall.h5) @@ -1092,10 +1223,14 @@ IF (BUILD_TESTING) ADD_H5_TEST (file_space 0 --enable-error-stack -B file_space.h5) # test -p with a non existing dataset - ADD_H5_MASK_TEST (tperror 1 --enable-error-stack -p -d bogus tfcontents1.h5) + ADD_H5ERR_MASK_TEST (tperror 1 --enable-error-stack -p -d bogus tfcontents1.h5) # test for file contents ADD_H5_TEST (tcontents 0 --enable-error-stack -n tfcontents1.h5) + ADD_H5_TEST (tordercontents1 0 --enable-error-stack -n --sort_by=name --sort_order=ascending tfcontents1.h5) + ADD_H5_TEST (tordercontents2 0 --enable-error-stack -n --sort_by=name --sort_order=descending tfcontents1.h5) + ADD_H5_TEST (tattrcontents1 0 --enable-error-stack -n 1 --sort_order=ascending tall.h5) + ADD_H5_TEST (tattrcontents2 0 --enable-error-stack -n 1 --sort_order=descending tall.h5) # tests for storage layout # compact @@ -1221,20 +1356,32 @@ IF (BUILD_TESTING) # NATIVE default. the NATIVE test can be validated with h5import/h5diff ADD_H5_TEST (tbin1 0 --enable-error-stack -d integer -o out1.bin -b tbinary.h5) + IF (NOT "${last_test}" STREQUAL "") + SET_TESTS_PROPERTIES (H5DUMP-tbin1 PROPERTIES DEPENDS ${last_test}) + ENDIF (NOT "${last_test}" STREQUAL "") + SET (last_test "H5DUMP-tbin1") + IF (NOT HDF5_ENABLE_USING_MEMCHECKER) - IF (NOT "${last_test}" STREQUAL "") - SET_TESTS_PROPERTIES (H5DUMP-tbin1 PROPERTIES DEPENDS ${last_test}) - ENDIF (NOT "${last_test}" STREQUAL "") - SET (last_test "H5DUMP-tbin1") + ADD_TEST (NAME H5DUMP-clear-out1D COMMAND ${CMAKE_COMMAND} -E remove ./testfiles/out1D.h5) + SET_TESTS_PROPERTIES (H5DUMP-clear-out1D PROPERTIES DEPENDS H5DUMP-tbin1) + ADD_TEST (NAME H5DUMP-h5import-out1D COMMAND h5import out1.bin -c tbin1.out -o out1D.h5) + SET_TESTS_PROPERTIES (H5DUMP-h5import-out1D PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") + SET_TESTS_PROPERTIES (H5DUMP-h5import-out1D PROPERTIES DEPENDS H5DUMP-clear-out1D) + ADD_TEST (NAME H5DUMP-h5diff-out1D COMMAND h5diff tbinary.h5 out1D.h5 /integer /integer) + SET_TESTS_PROPERTIES (H5DUMP-h5diff-out1D PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") + SET_TESTS_PROPERTIES (H5DUMP-h5diff-out1D PROPERTIES DEPENDS H5DUMP-h5import-out1D) + SET (last_test "H5DUMP-h5diff-out1D") ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER) - ADD_TEST (NAME H5DUMP-clear-out1 COMMAND ${CMAKE_COMMAND} -E remove out1.h5) + ADD_TEST (NAME H5DUMP-clear-out1 COMMAND ${CMAKE_COMMAND} -E remove ./testfiles/out1.h5) IF (NOT "${last_test}" STREQUAL "") SET_TESTS_PROPERTIES (H5DUMP-clear-out1 PROPERTIES DEPENDS ${last_test}) ENDIF (NOT "${last_test}" STREQUAL "") ADD_TEST (NAME H5DUMP-h5import-out1 COMMAND h5import out1.bin -c out3.h5import -o out1.h5) + SET_TESTS_PROPERTIES (H5DUMP-h5import-out1 PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") SET_TESTS_PROPERTIES (H5DUMP-h5import-out1 PROPERTIES DEPENDS H5DUMP-clear-out1) ADD_TEST (NAME H5DUMP-h5diff-out1 COMMAND h5diff tbinary.h5 out1.h5 /integer /integer) + SET_TESTS_PROPERTIES (H5DUMP-h5diff-out1 PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") SET_TESTS_PROPERTIES (H5DUMP-h5diff-out1 PROPERTIES DEPENDS H5DUMP-h5import-out1) SET (last_test "H5DUMP-h5diff-out1") @@ -1248,20 +1395,32 @@ IF (BUILD_TESTING) # the NATIVE test can be validated with h5import/h5diff ADD_H5_TEST (tbin3 0 --enable-error-stack -d integer -o out3.bin -b NATIVE tbinary.h5) + IF (NOT "${last_test}" STREQUAL "") + SET_TESTS_PROPERTIES (H5DUMP-tbin3 PROPERTIES DEPENDS ${last_test}) + ENDIF (NOT "${last_test}" STREQUAL "") + SET (last_test "H5DUMP-tbin3") + IF (NOT HDF5_ENABLE_USING_MEMCHECKER) - IF (NOT "${last_test}" STREQUAL "") - SET_TESTS_PROPERTIES (H5DUMP-tbin3 PROPERTIES DEPENDS ${last_test}) - ENDIF (NOT "${last_test}" STREQUAL "") - SET (last_test "H5DUMP-tbin3") + ADD_TEST (NAME H5DUMP-clear-out3D COMMAND ${CMAKE_COMMAND} -E remove ./testfiles/out3D.h5) + SET_TESTS_PROPERTIES (H5DUMP-clear-out3D PROPERTIES DEPENDS H5DUMP-tbin3) + ADD_TEST (NAME H5DUMP-h5import-out3D COMMAND h5import out3.bin -c tbin3.out -o out3D.h5) + SET_TESTS_PROPERTIES (H5DUMP-h5import-out3D PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") + SET_TESTS_PROPERTIES (H5DUMP-h5import-out3D PROPERTIES DEPENDS H5DUMP-clear-out3D) + ADD_TEST (NAME H5DUMP-h5diff-out3D COMMAND h5diff tbinary.h5 out3D.h5 /integer /integer -q) + SET_TESTS_PROPERTIES (H5DUMP-h5diff-out3D PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") + SET_TESTS_PROPERTIES (H5DUMP-h5diff-out3D PROPERTIES DEPENDS H5DUMP-h5import-out3D) + SET (last_test "H5DUMP-h5diff-out3D") ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER) - ADD_TEST (NAME H5DUMP-clear-out3 COMMAND ${CMAKE_COMMAND} -E remove out3.h5) + ADD_TEST (NAME H5DUMP-clear-out3 COMMAND ${CMAKE_COMMAND} -E remove ./testfiles/out3.h5) IF (NOT "${last_test}" STREQUAL "") SET_TESTS_PROPERTIES (H5DUMP-clear-out3 PROPERTIES DEPENDS ${last_test}) ENDIF (NOT "${last_test}" STREQUAL "") ADD_TEST (NAME H5DUMP-h5import-out3 COMMAND h5import out3.bin -c out3.h5import -o out3.h5) + SET_TESTS_PROPERTIES (H5DUMP-h5import-out3 PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") SET_TESTS_PROPERTIES (H5DUMP-h5import-out3 PROPERTIES DEPENDS H5DUMP-clear-out3) ADD_TEST (NAME H5DUMP-h5diff-out3 COMMAND h5diff tbinary.h5 out3.h5 /integer /integer -q) + SET_TESTS_PROPERTIES (H5DUMP-h5diff-out3 PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") SET_TESTS_PROPERTIES (H5DUMP-h5diff-out3 PROPERTIES DEPENDS H5DUMP-h5import-out3) SET (last_test "H5DUMP-h5diff-out3") @@ -1287,19 +1446,17 @@ IF (BUILD_TESTING) out1.h5 out3.h5 ) + SET_TESTS_PROPERTIES (H5DUMP-clear-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") + IF (NOT "${last_test}" STREQUAL "") + SET_TESTS_PROPERTIES (H5DUMP-clear-objects PROPERTIES DEPENDS ${last_test}) + ENDIF (NOT "${last_test}" STREQUAL "") + SET (last_test "H5DUMP-clear-objects") ENDIF (NOT HDF5_NOCLEANUP) - IF (NOT "${last_test}" STREQUAL "") - SET_TESTS_PROPERTIES (H5DUMP-clear-objects PROPERTIES DEPENDS ${last_test}) - ENDIF (NOT "${last_test}" STREQUAL "") - SET (last_test "H5DUMP-clear-objects") # test for dataset region references ADD_H5_TEST (tdatareg 0 --enable-error-stack tdatareg.h5) - # JIRA HDFFV-7936 ADD_H5_TEST (tdataregR 0 --enable-error-stack -R tdatareg.h5) - ADD_H5_TEST (tdataregR 0 -R tdatareg.h5) - ADD_H5_TEST (tattrreg 0 --enable-error-stack tattrreg.h5) - # JIRA HDFFV-7936 ADD_H5_TEST (tattrregR 0 --enable-error-stack -R tattrreg.h5) - ADD_H5_TEST (tattrregR 0 -R tattrreg.h5) + ADD_H5ERR_MASK_TEST (tdataregR 0 --enable-error-stack -R tdatareg.h5) + ADD_H5ERR_MASK_TEST (tattrregR 0 -R --enable-error-stack tattrreg.h5) ADD_H5_EXPORT_TEST (tbinregR tdatareg.h5 0 --enable-error-stack -d /Dataset1 -s 0 -R -y -o) # tests for group creation order @@ -1316,20 +1473,22 @@ IF (BUILD_TESTING) ADD_H5_TEST (torderattr3 0 --enable-error-stack -H --sort_by=creation_order --sort_order=ascending torderattr.h5) ADD_H5_TEST (torderattr4 0 --enable-error-stack -H --sort_by=creation_order --sort_order=descending torderattr.h5) + # tests for link references and order + ADD_H5ERR_MASK_TEST (torderlinks1 0 --enable-error-stack --sort_by=name --sort_order=ascending tfcontents1.h5) + ADD_H5ERR_MASK_TEST (torderlinks2 0 --enable-error-stack --sort_by=name --sort_order=descending tfcontents1.h5) + # tests for floating point user defined printf format ADD_H5_TEST (tfpformat 0 --enable-error-stack -m %.7f tfpformat.h5) # tests for traversal of external links - # JIRA HDFFV-7936 ADD_H5_TEST (textlinksrc 0 --enable-error-stack textlinksrc.h5) - ADD_H5_TEST (textlinksrc 0 textlinksrc.h5) - # JIRA HDFFV-7936 ADD_H5_TEST (textlinkfar 0 --enable-error-stack textlinkfar.h5) - ADD_H5_TEST (textlinkfar 0 textlinkfar.h5) + ADD_H5ERR_MASK_TEST (textlinksrc 0 --enable-error-stack textlinksrc.h5) + ADD_H5ERR_MASK_TEST (textlinkfar 0 --enable-error-stack textlinkfar.h5) # test for dangling external links - ADD_H5_MASK_TEST (textlink 0 --enable-error-stack textlink.h5) + ADD_H5ERR_MASK_TEST (textlink 0 --enable-error-stack textlink.h5) # test for error stack display (BZ2048) - ADD_H5_MASK_TEST (filter_fail 1 --enable-error-stack filter_fail.h5) + ADD_H5ERR_MASK_TEST (filter_fail 1 --enable-error-stack filter_fail.h5) # test for -o -y for dataset with attributes ADD_H5_TEST (tall-6 0 --enable-error-stack -y -o data -d /g1/g1.1/dset1.1.1 tall.h5) @@ -1448,6 +1607,7 @@ IF (BUILD_TESTING) tpbitsUnsignedLongLong16.out tpbitsUnsignedLongLong16.out.err ) + SET_TESTS_PROPERTIES (H5DUMP_PACKED_BITS-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") IF (NOT "${last_test}" STREQUAL "") SET_TESTS_PROPERTIES (H5DUMP_PACKED_BITS-clearall-objects PROPERTIES DEPENDS ${last_test}) ENDIF (NOT "${last_test}" STREQUAL "") @@ -1668,6 +1828,7 @@ IF (BUILD_TESTING) tvlstr.h5.out tvlstr.h5.out.err ) + SET_TESTS_PROPERTIES (H5DUMP-XML-clearall-objects PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") IF (NOT "${last_test}" STREQUAL "") SET_TESTS_PROPERTIES (H5DUMP-XML-clearall-objects PROPERTIES DEPENDS ${last_test}) ENDIF (NOT "${last_test}" STREQUAL "") diff --git a/tools/h5dump/Makefile.am b/tools/h5dump/Makefile.am index 38864f5..f80d12e 100644 --- a/tools/h5dump/Makefile.am +++ b/tools/h5dump/Makefile.am @@ -46,6 +46,6 @@ h5dump_SOURCES=h5dump.c h5dump_ddl.c h5dump_xml.c # Temporary files. *.h5 are generated by h5dumpgentest. They should # copied to the testfiles/ directory if update is required. CHECK_CLEANFILES+=*.h5 *.bin -DISTCLEANFILES=testh5dump.sh +DISTCLEANFILES=testh5dump.sh testh5dumppbits.sh testh5dumpxml.sh include $(top_srcdir)/config/conclude.am diff --git a/tools/h5dump/errfiles/filter_fail.err b/tools/h5dump/errfiles/filter_fail.err new file mode 100644 index 0000000..8f0f990 --- /dev/null +++ b/tools/h5dump/errfiles/filter_fail.err @@ -0,0 +1,21 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Dread(): can't read data + major: Dataset + minor: Read failed + #001: (file name) line (number) in H5D__read(): can't read data + major: Dataset + minor: Read failed + #002: (file name) line (number) in H5D__chunk_read(): unable to read raw data chunk + major: Low-level I/O + minor: Read failed + #003: (file name) line (number) in H5D__chunk_lock(): data pipeline read failed + major: Data filters + minor: Filter operation failed + #004: (file name) line (number) in H5Z_pipeline(): required filter 'filter_fail_test' is not registered + major: Data filters + minor: Read failed +h5dump error: unable to print data +H5tools-DIAG: Error detected in HDF5:tools (version (number)) thread (IDs): + #000: (file name) line (number) in h5tools_dump_simple_dset(): H5Dread failed + major: Failure in tools library + minor: error in function diff --git a/tools/h5dump/errfiles/tall-1.err b/tools/h5dump/errfiles/tall-1.err new file mode 100644 index 0000000..ba691d0 --- /dev/null +++ b/tools/h5dump/errfiles/tall-1.err @@ -0,0 +1,25 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Oopen(): unable to open object + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'somefile', temp_file_name = 'somefile' + major: Links + minor: Unable to open file diff --git a/tools/h5dump/errfiles/tall-2A.err b/tools/h5dump/errfiles/tall-2A.err new file mode 100644 index 0000000..ba691d0 --- /dev/null +++ b/tools/h5dump/errfiles/tall-2A.err @@ -0,0 +1,25 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Oopen(): unable to open object + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'somefile', temp_file_name = 'somefile' + major: Links + minor: Unable to open file diff --git a/tools/h5dump/errfiles/tall-2B.err b/tools/h5dump/errfiles/tall-2B.err new file mode 100644 index 0000000..ba691d0 --- /dev/null +++ b/tools/h5dump/errfiles/tall-2B.err @@ -0,0 +1,25 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Oopen(): unable to open object + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'somefile', temp_file_name = 'somefile' + major: Links + minor: Unable to open file diff --git a/tools/h5dump/errfiles/tarray1_big.err b/tools/h5dump/errfiles/tarray1_big.err new file mode 100644 index 0000000..457afdd --- /dev/null +++ b/tools/h5dump/errfiles/tarray1_big.err @@ -0,0 +1,67 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Rdereference2(): unable to dereference object + major: References + minor: Unable to initialize object + #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information + major: References + minor: Read failed + #002: (file name) line (number) in H5HG_read(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #003: (file name) line (number) in H5HG_protect(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. + major: Object cache + minor: Unable to protect metadata + #005: (file name) line (number) in H5C_protect(): incorrect cache entry type + major: Object cache + minor: Inappropriate type +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Rdereference2(): unable to dereference object + major: References + minor: Unable to initialize object + #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information + major: References + minor: Read failed + #002: (file name) line (number) in H5HG_read(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #003: (file name) line (number) in H5HG_protect(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. + major: Object cache + minor: Unable to protect metadata + #005: (file name) line (number) in H5C_protect(): incorrect cache entry type + major: Object cache + minor: Inappropriate type +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Rdereference2(): unable to dereference object + major: References + minor: Unable to initialize object + #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information + major: References + minor: Read failed + #002: (file name) line (number) in H5HG_read(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #003: (file name) line (number) in H5HG_protect(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. + major: Object cache + minor: Unable to protect metadata + #005: (file name) line (number) in H5C_protect(): incorrect cache entry type + major: Object cache + minor: Inappropriate type +H5tools-DIAG: Error detected in HDF5:tools (version (number)) thread (IDs): + #000: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed + major: Failure in tools library + minor: error in function + #001: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed + major: Failure in tools library + minor: error in function + #002: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed + major: Failure in tools library + minor: error in function diff --git a/tools/h5dump/errfiles/tattr-3.err b/tools/h5dump/errfiles/tattr-3.err new file mode 100644 index 0000000..ce8ddda --- /dev/null +++ b/tools/h5dump/errfiles/tattr-3.err @@ -0,0 +1,8 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Aopen(): unable to load attribute info from object header for attribute: 'attr' + major: Attribute + minor: Unable to initialize object + #001: (file name) line (number) in H5O_attr_open_by_name(): can't locate attribute: 'attr' + major: Attribute + minor: Object not found +h5dump error: unable to open attribute "attr" diff --git a/tools/h5dump/errfiles/tattrregR.err b/tools/h5dump/errfiles/tattrregR.err new file mode 100644 index 0000000..7ab9afd --- /dev/null +++ b/tools/h5dump/errfiles/tattrregR.err @@ -0,0 +1,45 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Rdereference2(): unable to dereference object + major: References + minor: Unable to initialize object + #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information + major: References + minor: Read failed + #002: (file name) line (number) in H5HG_read(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #003: (file name) line (number) in H5HG_protect(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. + major: Object cache + minor: Unable to protect metadata + #005: (file name) line (number) in H5C_protect(): incorrect cache entry type + major: Object cache + minor: Inappropriate type +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Rdereference2(): unable to dereference object + major: References + minor: Unable to initialize object + #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information + major: References + minor: Read failed + #002: (file name) line (number) in H5HG_read(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #003: (file name) line (number) in H5HG_protect(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. + major: Object cache + minor: Unable to protect metadata + #005: (file name) line (number) in H5C_protect(): incorrect cache entry type + major: Object cache + minor: Inappropriate type +H5tools-DIAG: Error detected in HDF5:tools (version (number)) thread (IDs): + #000: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed + major: Failure in tools library + minor: error in function + #001: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed + major: Failure in tools library + minor: error in function diff --git a/tools/h5dump/errfiles/tcomp-3.err b/tools/h5dump/errfiles/tcomp-3.err new file mode 100644 index 0000000..ee47ee5 --- /dev/null +++ b/tools/h5dump/errfiles/tcomp-3.err @@ -0,0 +1,16 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Topen2(): not found + major: Datatype + minor: Object not found + #001: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #004: (file name) line (number) in H5G_loc_find_cb(): object '#6632' doesn't exist + major: Symbol table + minor: Object not found diff --git a/tools/h5dump/errfiles/tdataregR.err b/tools/h5dump/errfiles/tdataregR.err new file mode 100644 index 0000000..7ab9afd --- /dev/null +++ b/tools/h5dump/errfiles/tdataregR.err @@ -0,0 +1,45 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Rdereference2(): unable to dereference object + major: References + minor: Unable to initialize object + #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information + major: References + minor: Read failed + #002: (file name) line (number) in H5HG_read(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #003: (file name) line (number) in H5HG_protect(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. + major: Object cache + minor: Unable to protect metadata + #005: (file name) line (number) in H5C_protect(): incorrect cache entry type + major: Object cache + minor: Inappropriate type +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Rdereference2(): unable to dereference object + major: References + minor: Unable to initialize object + #001: (file name) line (number) in H5R_dereference(): Unable to read dataset region information + major: References + minor: Read failed + #002: (file name) line (number) in H5HG_read(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #003: (file name) line (number) in H5HG_protect(): unable to protect global heap + major: Heap + minor: Unable to protect metadata + #004: (file name) line (number) in H5AC_protect(): H5C_protect() failed. + major: Object cache + minor: Unable to protect metadata + #005: (file name) line (number) in H5C_protect(): incorrect cache entry type + major: Object cache + minor: Inappropriate type +H5tools-DIAG: Error detected in HDF5:tools (version (number)) thread (IDs): + #000: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed + major: Failure in tools library + minor: error in function + #001: (file name) line (number) in h5tools_dump_simple_data(): H5Rdereference failed + major: Failure in tools library + minor: error in function diff --git a/tools/h5dump/errfiles/tdset-2.err b/tools/h5dump/errfiles/tdset-2.err new file mode 100644 index 0000000..d9b92f3 --- /dev/null +++ b/tools/h5dump/errfiles/tdset-2.err @@ -0,0 +1,33 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Dopen2(): not found + major: Dataset + minor: Object not found + #001: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #004: (file name) line (number) in H5G_loc_find_cb(): object 'dset3' doesn't exist + major: Symbol table + minor: Object not found +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Lget_info(): unable to get link info + major: Symbol table + minor: Object not found + #001: (file name) line (number) in H5L_get_info(): name doesn't exist + major: Symbol table + minor: Object already exists + #002: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #004: (file name) line (number) in H5L_get_info_cb(): name doesn't exist + major: Symbol table + minor: Object not found +h5dump error: unable to get link info from "dset3" diff --git a/tools/h5dump/errfiles/texceedsubblock.err b/tools/h5dump/errfiles/texceedsubblock.err new file mode 100644 index 0000000..4c87ab9 --- /dev/null +++ b/tools/h5dump/errfiles/texceedsubblock.err @@ -0,0 +1 @@ +h5dump error: number of block dims (2) exceed dataset dims (1) diff --git a/tools/h5dump/errfiles/texceedsubcount.err b/tools/h5dump/errfiles/texceedsubcount.err new file mode 100644 index 0000000..de1c9d1 --- /dev/null +++ b/tools/h5dump/errfiles/texceedsubcount.err @@ -0,0 +1 @@ +h5dump error: number of count dims (2) exceed dataset dims (1) diff --git a/tools/h5dump/errfiles/texceedsubstart.err b/tools/h5dump/errfiles/texceedsubstart.err new file mode 100644 index 0000000..4555224 --- /dev/null +++ b/tools/h5dump/errfiles/texceedsubstart.err @@ -0,0 +1 @@ +h5dump error: number of start dims (2) exceed dataset dims (1) diff --git a/tools/h5dump/errfiles/texceedsubstride.err b/tools/h5dump/errfiles/texceedsubstride.err new file mode 100644 index 0000000..32d5725 --- /dev/null +++ b/tools/h5dump/errfiles/texceedsubstride.err @@ -0,0 +1 @@ +h5dump error: number of stride dims (2) exceed dataset dims (1) diff --git a/tools/h5dump/errfiles/textlink.err b/tools/h5dump/errfiles/textlink.err new file mode 100644 index 0000000..03c0550 --- /dev/null +++ b/tools/h5dump/errfiles/textlink.err @@ -0,0 +1,50 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Oopen(): unable to open object + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'filename', temp_file_name = 'filename' + major: Links + minor: Unable to open file +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Oopen(): unable to open object + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'anotherfile', temp_file_name = 'anotherfile' + major: Links + minor: Unable to open file diff --git a/tools/h5dump/errfiles/textlinkfar.err b/tools/h5dump/errfiles/textlinkfar.err new file mode 100644 index 0000000..969e17c --- /dev/null +++ b/tools/h5dump/errfiles/textlinkfar.err @@ -0,0 +1,243 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Oopen(): unable to open object + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #007: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #008: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #009: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #010: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #011: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #012: (file name) line (number) in H5G__traverse_special(): symbolic link traversal failed + major: Links + minor: Link traversal failure + #013: (file name) line (number) in H5G_traverse_slink(): unable to follow symbolic link + major: Symbol table + minor: Object not found + #014: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #015: (file name) line (number) in H5G_traverse_slink_cb(): component not found + major: Symbol table + minor: Object not found +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #001: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #003: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #004: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #005: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #006: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #007: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #008: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #009: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #010: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #011: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #012: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #013: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #014: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #015: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #016: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #017: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #018: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #019: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #020: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #021: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #022: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #023: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #024: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #025: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #026: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #027: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #028: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #029: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #030: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #031: (file name) line (number) in H5G__traverse_special(): too many links + major: Links + minor: Too many soft links in path +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #001: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #003: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #004: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #005: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #006: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #007: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #008: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #009: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #010: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #011: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #012: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #013: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #014: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #015: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #016: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #017: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #018: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #019: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #020: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #021: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #022: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #023: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #024: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #025: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #026: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #027: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #028: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #029: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #030: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #031: (file name) line (number) in H5G__traverse_special(): too many links + major: Links + minor: Too many soft links in path diff --git a/tools/h5dump/errfiles/textlinksrc.err b/tools/h5dump/errfiles/textlinksrc.err new file mode 100644 index 0000000..969e17c --- /dev/null +++ b/tools/h5dump/errfiles/textlinksrc.err @@ -0,0 +1,243 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Oopen(): unable to open object + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #007: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #008: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #009: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #010: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #011: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #012: (file name) line (number) in H5G__traverse_special(): symbolic link traversal failed + major: Links + minor: Link traversal failure + #013: (file name) line (number) in H5G_traverse_slink(): unable to follow symbolic link + major: Symbol table + minor: Object not found + #014: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #015: (file name) line (number) in H5G_traverse_slink_cb(): component not found + major: Symbol table + minor: Object not found +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #001: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #003: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #004: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #005: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #006: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #007: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #008: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #009: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #010: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #011: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #012: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #013: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #014: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #015: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #016: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #017: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #018: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #019: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #020: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #021: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #022: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #023: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #024: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #025: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #026: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #027: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #028: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #029: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #030: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #031: (file name) line (number) in H5G__traverse_special(): too many links + major: Links + minor: Too many soft links in path +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #001: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #003: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #004: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #005: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #006: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #007: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #008: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #009: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #010: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #011: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #012: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #013: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #014: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #015: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #016: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #017: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #018: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #019: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #020: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #021: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #022: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #023: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #024: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #025: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #026: (file name) line (number) in H5L_extern_traverse(): unable to open object + major: Symbol table + minor: Can't open object + #027: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #028: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #029: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #030: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #031: (file name) line (number) in H5G__traverse_special(): too many links + major: Links + minor: Too many soft links in path diff --git a/tools/h5dump/errfiles/tgroup-2.err b/tools/h5dump/errfiles/tgroup-2.err new file mode 100644 index 0000000..3659b5c --- /dev/null +++ b/tools/h5dump/errfiles/tgroup-2.err @@ -0,0 +1,20 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Gopen2(): unable to open group + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5G__open_name(): group not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #005: (file name) line (number) in H5G_loc_find_cb(): object 'y' doesn't exist + major: Symbol table + minor: Object not found +h5dump error: unable to open group "/y" diff --git a/tools/h5dump/errfiles/tnofilename-with-packed-bits.err b/tools/h5dump/errfiles/tnofilename-with-packed-bits.err new file mode 100644 index 0000000..84a7011 --- /dev/null +++ b/tools/h5dump/errfiles/tnofilename-with-packed-bits.err @@ -0,0 +1 @@ +h5dump error: missing file name diff --git a/tools/h5dump/errfiles/torderlinks1.err b/tools/h5dump/errfiles/torderlinks1.err new file mode 100644 index 0000000..780c7e6 --- /dev/null +++ b/tools/h5dump/errfiles/torderlinks1.err @@ -0,0 +1,25 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Oopen(): unable to open object + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'fname', temp_file_name = 'fname' + major: Links + minor: Unable to open file diff --git a/tools/h5dump/errfiles/torderlinks2.err b/tools/h5dump/errfiles/torderlinks2.err new file mode 100644 index 0000000..780c7e6 --- /dev/null +++ b/tools/h5dump/errfiles/torderlinks2.err @@ -0,0 +1,25 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Oopen(): unable to open object + major: Symbol table + minor: Can't open object + #001: (file name) line (number) in H5O_open_name(): object not found + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed + major: Links + minor: Link traversal failure + #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID + major: Symbol table + minor: Unable to find atom information (already closed?) + #007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'fname', temp_file_name = 'fname' + major: Links + minor: Unable to open file diff --git a/tools/h5dump/errfiles/tpbitsCharLengthExceeded.err b/tools/h5dump/errfiles/tpbitsCharLengthExceeded.err new file mode 100644 index 0000000..e5854ea --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsCharLengthExceeded.err @@ -0,0 +1 @@ +h5dump error: Packed Bit offset+length value(9) too large. Max is 8 diff --git a/tools/h5dump/errfiles/tpbitsCharOffsetExceeded.err b/tools/h5dump/errfiles/tpbitsCharOffsetExceeded.err new file mode 100644 index 0000000..e5854ea --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsCharOffsetExceeded.err @@ -0,0 +1 @@ +h5dump error: Packed Bit offset+length value(9) too large. Max is 8 diff --git a/tools/h5dump/errfiles/tpbitsIncomplete.err b/tools/h5dump/errfiles/tpbitsIncomplete.err new file mode 100644 index 0000000..e0abee5 --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsIncomplete.err @@ -0,0 +1 @@ +h5dump error: Bad mask list(0,2,2,1,0,2,2,) diff --git a/tools/h5dump/errfiles/tpbitsIntLengthExceeded.err b/tools/h5dump/errfiles/tpbitsIntLengthExceeded.err new file mode 100644 index 0000000..7dd88ed --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsIntLengthExceeded.err @@ -0,0 +1 @@ +h5dump error: Packed Bit offset+length value(17) too large. Max is 16 diff --git a/tools/h5dump/errfiles/tpbitsIntOffsetExceeded.err b/tools/h5dump/errfiles/tpbitsIntOffsetExceeded.err new file mode 100644 index 0000000..7dd88ed --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsIntOffsetExceeded.err @@ -0,0 +1 @@ +h5dump error: Packed Bit offset+length value(17) too large. Max is 16 diff --git a/tools/h5dump/errfiles/tpbitsLengthExceeded.err b/tools/h5dump/errfiles/tpbitsLengthExceeded.err new file mode 100644 index 0000000..d4673f2 --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsLengthExceeded.err @@ -0,0 +1 @@ +h5dump error: Packed Bit offset+length value(65) too large. Max is 64 diff --git a/tools/h5dump/errfiles/tpbitsLengthPositive.err b/tools/h5dump/errfiles/tpbitsLengthPositive.err new file mode 100644 index 0000000..4928007 --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsLengthPositive.err @@ -0,0 +1 @@ +h5dump error: Packed Bit length value(0) must be positive. diff --git a/tools/h5dump/errfiles/tpbitsLongLengthExceeded.err b/tools/h5dump/errfiles/tpbitsLongLengthExceeded.err new file mode 100644 index 0000000..0318f79 --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsLongLengthExceeded.err @@ -0,0 +1 @@ +h5dump error: Packed Bit offset+length value(33) too large. Max is 32 diff --git a/tools/h5dump/errfiles/tpbitsLongOffsetExceeded.err b/tools/h5dump/errfiles/tpbitsLongOffsetExceeded.err new file mode 100644 index 0000000..0318f79 --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsLongOffsetExceeded.err @@ -0,0 +1 @@ +h5dump error: Packed Bit offset+length value(33) too large. Max is 32 diff --git a/tools/h5dump/errfiles/tpbitsMaxExceeded.err b/tools/h5dump/errfiles/tpbitsMaxExceeded.err new file mode 100644 index 0000000..a8d12fc --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsMaxExceeded.err @@ -0,0 +1 @@ +h5dump error: Too many masks requested (max. 8). Mask list(0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1) diff --git a/tools/h5dump/errfiles/tpbitsOffsetExceeded.err b/tools/h5dump/errfiles/tpbitsOffsetExceeded.err new file mode 100644 index 0000000..b7d6dad --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsOffsetExceeded.err @@ -0,0 +1 @@ +h5dump error: Packed Bit offset value(64) must be between 0 and 63 diff --git a/tools/h5dump/errfiles/tpbitsOffsetNegative.err b/tools/h5dump/errfiles/tpbitsOffsetNegative.err new file mode 100644 index 0000000..8a027c1 --- /dev/null +++ b/tools/h5dump/errfiles/tpbitsOffsetNegative.err @@ -0,0 +1 @@ +h5dump error: Bad mask list(-1,1) diff --git a/tools/h5dump/errfiles/tperror.err b/tools/h5dump/errfiles/tperror.err new file mode 100644 index 0000000..19a7a73 --- /dev/null +++ b/tools/h5dump/errfiles/tperror.err @@ -0,0 +1,33 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Dopen2(): not found + major: Dataset + minor: Object not found + #001: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #004: (file name) line (number) in H5G_loc_find_cb(): object 'bogus' doesn't exist + major: Symbol table + minor: Object not found +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Lget_info(): unable to get link info + major: Symbol table + minor: Object not found + #001: (file name) line (number) in H5L_get_info(): name doesn't exist + major: Symbol table + minor: Object already exists + #002: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #004: (file name) line (number) in H5L_get_info_cb(): name doesn't exist + major: Symbol table + minor: Object not found +h5dump error: unable to get link info from "bogus" diff --git a/tools/h5dump/errfiles/tqmarkfile.err b/tools/h5dump/errfiles/tqmarkfile.err new file mode 100644 index 0000000..06519fb --- /dev/null +++ b/tools/h5dump/errfiles/tqmarkfile.err @@ -0,0 +1,33 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Dopen2(): not found + major: Dataset + minor: Object not found + #001: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #004: (file name) line (number) in H5G_loc_find_cb(): object 'Dataset1' doesn't exist + major: Symbol table + minor: Object not found +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Lget_info(): unable to get link info + major: Symbol table + minor: Object not found + #001: (file name) line (number) in H5L_get_info(): name doesn't exist + major: Symbol table + minor: Object already exists + #002: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #004: (file name) line (number) in H5L_get_info_cb(): name doesn't exist + major: Symbol table + minor: Object not found +h5dump error: unable to get link info from "Dataset1" diff --git a/tools/h5dump/errfiles/tslink-D.err b/tools/h5dump/errfiles/tslink-D.err new file mode 100644 index 0000000..b98e324 --- /dev/null +++ b/tools/h5dump/errfiles/tslink-D.err @@ -0,0 +1,25 @@ +HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): + #000: (file name) line (number) in H5Dopen2(): not found + major: Dataset + minor: Object not found + #001: (file name) line (number) in H5G_loc_find(): can't find object + major: Symbol table + minor: Object not found + #002: (file name) line (number) in H5G_traverse(): internal path traversal failed + major: Symbol table + minor: Object not found + #003: (file name) line (number) in H5G_traverse_real(): special link traversal failed + major: Links + minor: Link traversal failure + #004: (file name) line (number) in H5G__traverse_special(): symbolic link traversal failed + major: Links + minor: Link traversal failure + #005: (file name) line (number) in H5G_traverse_slink(): unable to follow symbolic link + major: Symbol table + minor: Object not found + #006: (file name) line (number) in H5G_traverse_real(): traversal operator failed + major: Symbol table + minor: Callback failed + #007: (file name) line (number) in H5G_traverse_slink_cb(): component not found + major: Symbol table + minor: Object not found diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c index 2799d95..23fd1d9 100644 --- a/tools/h5dump/h5dump.c +++ b/tools/h5dump/h5dump.c @@ -71,11 +71,11 @@ struct handler_t { */ /* The following initialization makes use of C language cancatenating */ /* "xxx" "yyy" into "xxxyyy". */ -static const char *s_opts = "hnpeyBHirVa:c:d:f:g:k:l:t:w:xD:uX:o:b*F:s:S:Aq:z:m:RECM:"; +static const char *s_opts = "hn*peyBHirVa:c:d:f:g:k:l:t:w:xD:uX:o:b*F:s:S:Aq:z:m:RECM:"; static struct long_options l_opts[] = { { "help", no_arg, 'h' }, { "hel", no_arg, 'h' }, - { "contents", no_arg, 'n' }, + { "contents", optional_arg, 'n' }, { "properties", no_arg, 'p' }, { "boot-block", no_arg, 'B' }, { "boot-bloc", no_arg, 'B' }, @@ -235,6 +235,7 @@ usage(const char *prog) HDfprintf(rawoutstream, " OPTIONS\n"); HDfprintf(rawoutstream, " -h, --help Print a usage message and exit\n"); HDfprintf(rawoutstream, " -n, --contents Print a list of the file contents and exit\n"); + HDfprintf(rawoutstream, " Optional value 1 also prints attributes.\n"); HDfprintf(rawoutstream, " -B, --superblock Print the content of the super block\n"); HDfprintf(rawoutstream, " -H, --header Print the header only; no data is displayed\n"); HDfprintf(rawoutstream, " -A, --onlyattr Print the header and value of attributes\n"); @@ -296,10 +297,20 @@ usage(const char *prog) HDfprintf(rawoutstream, " number of dimensions in the dataspace being queried\n"); HDfprintf(rawoutstream, "\n"); HDfprintf(rawoutstream, " D - is the file driver to use in opening the file. Acceptable values\n"); - HDfprintf(rawoutstream, " are \"sec2\", \"family\", \"split\", \"multi\", \"direct\", and \"stream\". Without\n"); - HDfprintf(rawoutstream, " the file driver flag, the file will be opened with each driver in\n"); - HDfprintf(rawoutstream, " turn and in the order specified above until one driver succeeds\n"); - HDfprintf(rawoutstream, " in opening the file.\n"); + HDfprintf(rawoutstream, " are \"sec2\", \"family\", \"split\", \"multi\", \"direct\", and \"stream\". Without\n"); + HDfprintf(rawoutstream, " the file driver flag, the file will be opened with each driver in\n"); + HDfprintf(rawoutstream, " turn and in the order specified above until one driver succeeds\n"); + HDfprintf(rawoutstream, " in opening the file.\n"); + HDfprintf(rawoutstream, " These are the letters that are appended to the file name(without .h5) when opening\n"); + HDfprintf(rawoutstream, " names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are:\n"); + HDfprintf(rawoutstream, " m: All meta data when using the split driver.\n"); + HDfprintf(rawoutstream, " s: The userblock, superblock, and driver info block\n"); + HDfprintf(rawoutstream, " b: B-tree nodes\n"); + HDfprintf(rawoutstream, " r: Dataset raw data\n"); + HDfprintf(rawoutstream, " g: Global heap\n"); + HDfprintf(rawoutstream, " l: local heap (object names)\n"); + HDfprintf(rawoutstream, " o: object headers\n"); + HDfprintf(rawoutstream, "\n"); HDfprintf(rawoutstream, " F - is a filename.\n"); HDfprintf(rawoutstream, " P - is the full path from the root group to the object.\n"); HDfprintf(rawoutstream, " N - is an integer greater than 1.\n"); @@ -336,9 +347,13 @@ usage(const char *prog) HDfprintf(rawoutstream, "\n"); HDfprintf(rawoutstream, " h5dump -d /dset -M 0,1,4,3 quux.h5\n"); HDfprintf(rawoutstream, "\n"); - HDfprintf(rawoutstream, " 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5\n"); + HDfprintf(rawoutstream, " 5) Dataset foo in files file1.h5 file2.h5 file3.h5\n"); + HDfprintf(rawoutstream, "\n"); + HDfprintf(rawoutstream, " h5dump -d /foo file1.h5 file2.h5 file3.h5\n"); HDfprintf(rawoutstream, "\n"); - HDfprintf(rawoutstream, " h5dump -d /foo multi1.h5 multi2.h5 multi3.h5\n"); + HDfprintf(rawoutstream, " 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5\n"); + HDfprintf(rawoutstream, "\n"); + HDfprintf(rawoutstream, " h5dump -d /foo -f split splitfile\n"); HDfprintf(rawoutstream, "\n"); } @@ -999,6 +1014,9 @@ parse_start: case 'n': display_fi = TRUE; last_was_dset = FALSE; + if ( opt_arg != NULL) { + h5trav_set_verbose(HDatoi(opt_arg)); + } break; case 'p': display_dcpl = TRUE; @@ -1035,6 +1053,9 @@ parse_start: break; case 'w': h5tools_nCols = HDatoi(opt_arg); + if (h5tools_nCols==0) { + h5tools_nCols = 65535; + } last_was_dset = FALSE; break; case 'a': @@ -1461,6 +1482,9 @@ main(int argc, const char *argv[]) h5tools_setstatus(EXIT_FAILURE); goto done; } + /* Initialize indexing options */ + h5trav_set_index(sort_by, sort_order); + while(opt_ind < argc) { fname = HDstrdup(argv[opt_ind++]); diff --git a/tools/h5dump/h5dump_ddl.c b/tools/h5dump/h5dump_ddl.c index b8deaf9..6f5fd3f 100644 --- a/tools/h5dump/h5dump_ddl.c +++ b/tools/h5dump/h5dump_ddl.c @@ -543,6 +543,56 @@ done: } /*------------------------------------------------------------------------- + * Function: attr_iteration + * + * Purpose: Iterate and display attributes within the specified group + * + * Return: void + * + *------------------------------------------------------------------------- + */ +void +attr_iteration(hid_t gid, unsigned attr_crt_order_flags) +{ + /* attribute iteration: if there is a request to do H5_INDEX_CRT_ORDER and tracking order is set + in the group for attributes, then, sort by creation order, otherwise by name */ + + if((sort_by == H5_INDEX_CRT_ORDER) && (attr_crt_order_flags & H5P_CRT_ORDER_TRACKED)) { + if(H5Aiterate2(gid, sort_by, sort_order, NULL, dump_attr_cb, NULL) < 0) { + error_msg("error getting attribute information\n"); + h5tools_setstatus(EXIT_FAILURE); + } /* end if */ + } /* end if */ + else { + if(H5Aiterate2(gid, H5_INDEX_NAME, sort_order, NULL, dump_attr_cb, NULL) < 0) { + error_msg("error getting attribute information\n"); + h5tools_setstatus(EXIT_FAILURE); + } /* end if */ + } /* end else */ +} + +/*------------------------------------------------------------------------- + * Function: link_iteration + * + * Purpose: Iterate and display links within the specified group + * + * Return: void + * + *------------------------------------------------------------------------- + */ +void +link_iteration(hid_t gid, unsigned crt_order_flags) +{ + + /* if there is a request to do H5_INDEX_CRT_ORDER and tracking order is set + in the group, then, sort by creation order, otherwise by name */ + if((sort_by == H5_INDEX_CRT_ORDER) && (crt_order_flags & H5P_CRT_ORDER_TRACKED)) + H5Literate(gid, sort_by, sort_order, NULL, dump_all_cb, NULL); + else + H5Literate(gid, H5_INDEX_NAME, sort_order, NULL, dump_all_cb, NULL); +} + +/*------------------------------------------------------------------------- * Function: dump_named_datatype * * Purpose: Dump named datatype @@ -659,21 +709,7 @@ dump_named_datatype(hid_t tid, const char *name) /* print attributes */ dump_indent += COL; - /* attribute iteration: if there is a request to do H5_INDEX_CRT_ORDER and tracking order is set - in the datatype's create property list for attributes, then, sort by creation order, otherwise by name */ - - if((sort_by == H5_INDEX_CRT_ORDER) && (attr_crt_order_flags & H5P_CRT_ORDER_TRACKED)) { - if(H5Aiterate2(tid, sort_by, sort_order, NULL, dump_attr_cb, NULL) < 0) { - error_msg("error getting attribute information\n"); - h5tools_setstatus(EXIT_FAILURE); - } /* end if */ - } /* end if */ - else { - if(H5Aiterate2(tid, H5_INDEX_NAME, sort_order, NULL, dump_attr_cb, NULL) < 0) { - error_msg("error getting attribute information\n"); - h5tools_setstatus(EXIT_FAILURE); - } /* end if */ - } /* end else */ + attr_iteration(tid, attr_crt_order_flags); dump_indent -= COL; @@ -829,53 +865,13 @@ dump_group(hid_t gid, const char *name) } else { found_obj->displayed = TRUE; - /* attribute iteration: if there is a request to do H5_INDEX_CRT_ORDER and tracking order is set - in the group for attributes, then, sort by creation order, otherwise by name */ - - if((sort_by == H5_INDEX_CRT_ORDER) && (attr_crt_order_flags & H5P_CRT_ORDER_TRACKED)) { - if(H5Aiterate2(gid, sort_by, sort_order, NULL, dump_attr_cb, NULL) < 0) { - error_msg("error getting attribute information\n"); - h5tools_setstatus(EXIT_FAILURE); - } /* end if */ - } /* end if */ - else { - if(H5Aiterate2(gid, H5_INDEX_NAME, sort_order, NULL, dump_attr_cb, NULL) < 0) { - error_msg("error getting attribute information\n"); - h5tools_setstatus(EXIT_FAILURE); - } /* end if */ - } /* end else */ - - /* if there is a request to do H5_INDEX_CRT_ORDER and tracking order is set - in the group, then, sort by creation order, otherwise by name */ - if((sort_by == H5_INDEX_CRT_ORDER) && (crt_order_flags & H5P_CRT_ORDER_TRACKED)) - H5Literate(gid, sort_by, sort_order, NULL, dump_all_cb, NULL); - else - H5Literate(gid, H5_INDEX_NAME, sort_order, NULL, dump_all_cb, NULL); + attr_iteration(gid, attr_crt_order_flags); + link_iteration(gid, crt_order_flags); } } else { - /* attribute iteration: if there is a request to do H5_INDEX_CRT_ORDER and tracking order is set - in the group for attributes, then, sort by creation order, otherwise by name */ - - if((sort_by == H5_INDEX_CRT_ORDER) && (attr_crt_order_flags & H5P_CRT_ORDER_TRACKED)) { - if(H5Aiterate2(gid, sort_by, sort_order, NULL, dump_attr_cb, NULL) < 0) { - error_msg("error getting attribute information\n"); - h5tools_setstatus(EXIT_FAILURE); - } /* end if */ - } /* end if */ - else { - if(H5Aiterate2(gid, H5_INDEX_NAME, sort_order, NULL, dump_attr_cb, NULL) < 0) { - error_msg("error getting attribute information\n"); - h5tools_setstatus(EXIT_FAILURE); - } /* end if */ - } /* end else */ - - /* if there is a request to do H5_INDEX_CRT_ORDER and tracking order is set - in the group, then, sort by creation order, otherwise by name */ - if((sort_by == H5_INDEX_CRT_ORDER) && (crt_order_flags & H5P_CRT_ORDER_TRACKED)) - H5Literate(gid, sort_by, sort_order, NULL, dump_all_cb, NULL); - else - H5Literate(gid, H5_INDEX_NAME, sort_order, NULL, dump_all_cb, NULL); + attr_iteration(gid, attr_crt_order_flags); + link_iteration(gid, crt_order_flags); } dump_indent -= COL; @@ -1050,20 +1046,7 @@ dump_dataset(hid_t did, const char *name, struct subset_t *sset) H5Tclose(type); if (!bin_output) { - /* attribute iteration: if there is a request to do H5_INDEX_CRT_ORDER and tracking order is set - in the group for attributes, then, sort by creation order, otherwise by name */ - if((sort_by == H5_INDEX_CRT_ORDER) && (attr_crt_order_flags & H5P_CRT_ORDER_TRACKED)) { - if(H5Aiterate2(did, sort_by, sort_order, NULL, dump_attr_cb, NULL) < 0) { - error_msg("error getting attribute information\n"); - h5tools_setstatus(EXIT_FAILURE); - } /* end if */ - } /* end if */ - else { - if(H5Aiterate2(did, H5_INDEX_NAME, sort_order, NULL, dump_attr_cb, NULL) < 0) { - error_msg("error getting attribute information\n"); - h5tools_setstatus(EXIT_FAILURE); - } /* end if */ - } /* end else */ + attr_iteration(did, attr_crt_order_flags); } ctx.indent_level--; dump_indent -= COL; @@ -1488,15 +1471,18 @@ handle_datasets(hid_t fid, const char *dset, void *data, int pe, const char *dis if(sset) { unsigned int i; + unsigned int ndims; hid_t sid = H5Dget_space(dsetid); - int ndims = H5Sget_simple_extent_ndims(sid); + int ndims_res = H5Sget_simple_extent_ndims(sid); H5Sclose(sid); - if(ndims < 0) { + if(ndims_res < 0) { error_msg("H5Sget_simple_extent_ndims failed\n"); h5tools_setstatus(EXIT_FAILURE); return; } + else + ndims = ndims_res; if(!sset->start.data || !sset->stride.data || !sset->count.data || !sset->block.data) { /* they didn't specify a ``stride'' or ``block''. default to 1 in all diff --git a/tools/h5dump/h5dump_xml.c b/tools/h5dump/h5dump_xml.c index 1b247f1..1a29659 100644 --- a/tools/h5dump/h5dump_xml.c +++ b/tools/h5dump/h5dump_xml.c @@ -1781,7 +1781,6 @@ xml_dump_data(hid_t obj_id, int obj_data, struct subset_t UNUSED * sset, int UNU hsize_t nelmts = 1; int ndims; int i; - int depth; int status = -1; int stdindent = COL; /* should be 3 */ void *buf = NULL; diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c index a37f908..b8ea020 100644 --- a/tools/h5dump/h5dumpgentest.c +++ b/tools/h5dump/h5dumpgentest.c @@ -97,11 +97,12 @@ #define FILE65 "file_space.h5" #define FILE66 "packedbits.h5" #define FILE67 "zerodim.h5" -#define FILE68a "tdset_idx.h5" #define FILE68 "charsets.h5" +#define FILE68a "tdset_idx.h5" #define FILE69 "tattrintsize.h5" #define FILE70 "tcmpdintsize.h5" #define FILE71 "tcmpdattrintsize.h5" +#define FILE72 "tnestedcmpddt.h5" /*------------------------------------------------------------------------- * prototypes @@ -113,16 +114,16 @@ static int make_dset(hid_t loc_id, const char *name, hid_t sid, hid_t tid, hid_t dcpl, void *buf); static int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, - hid_t tid, void *buf); + hid_t tid, void *buf); static int write_dset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, - hid_t tid, void *buf ); + hid_t tid, void *buf ); /* a filter operation callback function */ static size_t myfilter(unsigned int UNUSED flags, size_t UNUSED cd_nelmts, - const unsigned int UNUSED *cd_values, size_t nbytes, - size_t UNUSED *buf_size, void UNUSED **buf); + const unsigned int UNUSED *cd_values, size_t nbytes, + size_t UNUSED *buf_size, void UNUSED **buf); /* a "set local" callback */ static herr_t @@ -132,35 +133,35 @@ set_local_myfilter(hid_t dcpl_id, hid_t tid, hid_t UNUSED sid); /* This message derives from H5Z */ const H5Z_class2_t H5Z_MYFILTER[1] = {{ - H5Z_CLASS_T_VERS, - MYFILTER_ID, /* Filter id number */ - 1, 1, - "myfilter", /* Filter name for debugging */ - NULL, /* The "can apply" callback */ - set_local_myfilter, /* The "set local" callback */ - myfilter, /* The actual filter function */ + H5Z_CLASS_T_VERS, + MYFILTER_ID, /* Filter id number */ + 1, 1, + "myfilter", /* Filter name for debugging */ + NULL, /* The "can apply" callback */ + set_local_myfilter, /* The "set local" callback */ + myfilter, /* The actual filter function */ }}; /* A UD link traversal function. Shouldn't actually be called. */ static hid_t UD_traverse(UNUSED const char * link_name, UNUSED hid_t cur_group, - UNUSED const void * udata, UNUSED size_t udata_size, UNUSED hid_t lapl_id) + UNUSED const void * udata, UNUSED size_t udata_size, UNUSED hid_t lapl_id) { -return -1; + return -1; } #define MY_LINKCLASS 187 const H5L_class_t UD_link_class[1] = {{ - H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ - (H5L_type_t)MY_LINKCLASS, /* Link type id number */ - "UD link class", /* name for debugging */ - NULL, /* Creation callback */ - NULL, /* Move/rename callback */ - NULL, /* Copy callback */ - UD_traverse, /* The actual traversal function */ - NULL, /* Deletion callback */ - NULL /* Query callback */ + H5L_LINK_CLASS_T_VERS, /* H5L_class_t version */ + (H5L_type_t)MY_LINKCLASS, /* Link type id number */ + "UD link class", /* name for debugging */ + NULL, /* Creation callback */ + NULL, /* Move/rename callback */ + NULL, /* Copy callback */ + UD_traverse, /* The actual traversal function */ + NULL, /* Deletion callback */ + NULL /* Query callback */ }}; @@ -189,18 +190,18 @@ const H5L_class_t UD_link_class[1] = {{ #define POINT1_NPOINTS 10 typedef enum{ - RED, - GREEN, - BLUE, - WHITE, - BLACK + RED, + GREEN, + BLUE, + WHITE, + BLACK } enumtype; /* Compound datatype */ typedef struct s1_t { - unsigned int a; - unsigned int b; - float c; + unsigned int a; + unsigned int b; + float c; } s1_t; @@ -262,7 +263,7 @@ typedef struct s1_t { #define STRATEGY H5F_FILE_SPACE_AGGR_VFD /* File space handling strategy */ #define THRESHOLD10 10 /* Free space section threshold */ -/* "FILE66" macros */ +/* "FILE66" macros and for FILE69 */ #define F66_XDIM 8 #define F66_DATASETU08 "DU08BITS" #define F66_DATASETS08 "DS08BITS" @@ -279,14 +280,14 @@ typedef struct s1_t { #define F66_DUMMYDBL "DummyDBL" /* Declarations for gent_dataset_idx() for "FILE68a" */ -#define DSET_FIXED "dset_fixed" -#define DSET_FIXED_FILTER "dset_filter" -#define DSET_BTREE "dset_btree" -#define DIM200 200 -#define DIM100 100 -#define DIM20 20 -#define DIM10 10 -#define CHUNK 5 +#define F68a_DSET_FIXED "dset_fixed" +#define F68a_DSET_FIXED_FILTER "dset_filter" +#define F68a_DSET_BTREE "dset_btree" +#define F68a_DIM200 200 +#define F68a_DIM100 100 +#define F68a_DIM20 20 +#define F68a_DIM10 10 +#define F68a_CHUNK 5 /* "FILE70" macros and for FILE71 */ /* Name of dataset to create in datafile */ @@ -374,8 +375,8 @@ gent_dataset(void) dataset = H5Dcreate2(fid, "/dset1", H5T_STD_I32BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); for(i = 0; i < 10; i++) - for(j = 0; j < 20; j++) - dset1[i][j] = j + i; + for(j = 0; j < 20; j++) + dset1[i][j] = j + i; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); H5Sclose(space); @@ -387,8 +388,8 @@ gent_dataset(void) dataset = H5Dcreate2(fid, "/dset2", H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); for(i = 0; i < 30; i++) - for(j = 0; j < 20; j++) - dset2[i][j] = 0.0001 * j + i; + for(j = 0; j < 20; j++) + dset2[i][j] = 0.0001 * j + i; H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); @@ -419,8 +420,8 @@ gent_dataset2(void) dataset = H5Dcreate2(fid, "/dset1", H5T_STD_I32BE, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); for(i = 0; i < 10; i++) - for(j = 0; j < 20; j++) - dset1[i][j] = j; + for(j = 0; j < 20; j++) + dset1[i][j] = j; H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); H5Sclose(space); @@ -433,8 +434,8 @@ gent_dataset2(void) dataset = H5Dcreate2(fid, "/dset2", H5T_IEEE_F64BE, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); for(i = 0; i < 30; i++) - for(j = 0; j < 10; j++) - dset2[i][j] = j; + for(j = 0; j < 10; j++) + dset2[i][j] = j; H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); @@ -547,9 +548,9 @@ static int gent_softlink2(void) int data2[NX][NY] = {{0,0},{0,1},{0,2},{3,3}}; herr_t status = SUCCEED; - /*----------------------------------------------------------------------- - * FILE - *------------------------------------------------------------------------*/ + /*----------------------------------------------------------------------- + * FILE + *------------------------------------------------------------------------*/ /* Create a new file */ fileid1 = H5Fcreate(FILE4_1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if (fileid1 < 0) @@ -559,9 +560,9 @@ static int gent_softlink2(void) goto out; } - /*----------------------------------------------------------------------- - * Groups - *------------------------------------------------------------------------*/ + /*----------------------------------------------------------------------- + * Groups + *------------------------------------------------------------------------*/ gid1 = H5Gcreate2(fileid1, "group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (gid1 < 0) { @@ -578,9 +579,9 @@ static int gent_softlink2(void) goto out; } - /*----------------------------------------------------------------------- - * Named datatype - *------------------------------------------------------------------------*/ + /*----------------------------------------------------------------------- + * Named datatype + *------------------------------------------------------------------------*/ datatype = H5Tcopy(H5T_NATIVE_INT); status = H5Tcommit2(fileid1, "dtype", datatype, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (status < 0) @@ -590,9 +591,9 @@ static int gent_softlink2(void) goto out; } - /*----------------------------------------------------------------------- - * Datasets - *------------------------------------------------------------------------*/ + /*----------------------------------------------------------------------- + * Datasets + *------------------------------------------------------------------------*/ /* * Describe the size of the array and create the data space for fixed * size dataset. @@ -610,7 +611,7 @@ static int gent_softlink2(void) */ /* Create a new dataset as sample object */ dset1 = H5Dcreate2(fileid1, "/dset1", H5T_NATIVE_INT, dataspace, - H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (dset1 < 0) { fprintf(stderr, "Error: %s> H5Dcreate2 failed.\n", FILE4_1); @@ -631,7 +632,7 @@ static int gent_softlink2(void) */ /* Create a new dataset as sample object */ dset2 = H5Dcreate2(fileid1, "/dset2", H5T_NATIVE_INT, dataspace, - H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); if (dset2 < 0) { fprintf(stderr, "Error: %s> H5Dcreate2 failed.\n", FILE4_1); @@ -647,9 +648,9 @@ static int gent_softlink2(void) goto out; } - /*----------------------------------------------------------------------- - * Soft links - *------------------------------------------------------------------------*/ + /*----------------------------------------------------------------------- + * Soft links + *------------------------------------------------------------------------*/ /* * create various soft links under '/' root */ @@ -746,7 +747,7 @@ static int gent_softlink2(void) goto out; } -out: + out: /* * Close/release resources. */ @@ -793,7 +794,7 @@ out: dset2 g1.1 | dset3 -*/ + */ static void gent_hardlink(void) { @@ -824,7 +825,7 @@ static void gent_hardlink(void) H5Lcreate_hard(group, "/g2", H5L_SAME_LOC, "g1.1", H5P_DEFAULT, H5P_DEFAULT); H5Gclose(group); - /* create a link to the root group */ + /* create a link to the root group */ H5Lcreate_hard(fid, "/", H5L_SAME_LOC, "g3", H5P_DEFAULT, H5P_DEFAULT); H5Fclose(fid); } @@ -865,38 +866,38 @@ static void gent_udlink(void) | dset2 -*/ + */ static void gent_compound_dt(void) { /* test compound data type */ hid_t fid, group, dataset, space, space3, type, type2; hid_t array_dt; typedef struct { - int a; - float b; - double c; + int a; + float b; + double c; } dset1_t; dset1_t dset1[5]; typedef struct { - int a; - float b; + int a; + float b; } dset2_t; dset2_t dset2[5]; typedef struct { - int a[4]; - float b[5][6]; + int a[4]; + float b[5][6]; } dset3_t; dset3_t dset3[3][6]; typedef struct { - int a; - float b; + int a; + float b; } dset4_t; dset4_t dset4[5]; typedef struct { - int a; - float b; + int a; + float b; } dset5_t; dset5_t dset5[5]; @@ -990,13 +991,13 @@ static void gent_compound_dt(void) { /* test compound data type */ space3 = H5Screate_simple(2, dset3_dim, NULL); dataset = H5Dcreate2(group, "dset3", type, space3, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); for(i = 0; i < (int)dset3_dim[0]; i++) - for(j = 0; j < (int)dset3_dim[1]; j++) { - for(k = 0; k < 4; k++) - dset3[i][j].a[k] = k + j + i; - for(k = 0; k < 5; k++) - for(l = 0; l < 6; l++) - dset3[i][j].b[k][l] = (float)((k + 1) + l + j + i); - } + for(j = 0; j < (int)dset3_dim[1]; j++) { + for(k = 0; k < 4; k++) + dset3[i][j].a[k] = k + j + i; + for(k = 0; k < 5; k++) + for(l = 0; l < 6; l++) + dset3[i][j].b[k][l] = (float)((k + 1) + l + j + i); + } H5Dwrite(dataset, type2, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset3); H5Sclose(space3); H5Tclose(type); @@ -1051,38 +1052,38 @@ static void gent_compound_dt(void) { /* test compound data type */ | dset2 -*/ + */ static void gent_compound_dt2(void) { /* test compound data type */ hid_t fid, group, dataset, space, type, create_plist, type2; hid_t array_dt; typedef struct { - int a; - float b; - double c; + int a; + float b; + double c; } dset1_t; dset1_t dset1[10]; typedef struct { - int a; - float b; + int a; + float b; } dset2_t; dset2_t dset2[10]; typedef struct { - int a[4]; - float b[5][6]; + int a[4]; + float b[5][6]; } dset3_t; typedef struct { - int a; - float b; + int a; + float b; } dset4_t; dset4_t dset4[10]; typedef struct { - int a; - float b; + int a; + float b; } dset5_t; dset5_t dset5[10]; @@ -1237,7 +1238,7 @@ g1.2 : g1.2.1 extlink g1.2.1 : slink g2 : dset2.1 dset2.2 udlink -*/ + */ static void gent_all(void) { @@ -1379,7 +1380,7 @@ static void gent_all(void) o - group objects -*/ + */ static void gent_loop(void) { hid_t fid, group; @@ -1429,7 +1430,7 @@ static void gent_loop2(void) | | (g1) (dset2) (dset3) (elink) udlink dset1 link1 slink6 (dset1) (udlink) -*/ + */ static void gent_many(void) @@ -1446,9 +1447,9 @@ gent_many(void) hsize_t sdim, maxdim; typedef struct { /* compound type has members with rank > 1 */ - int a[2][2][2][2]; /* arrays are 2x2x2x2 */ - double b[2][2][2][2]; - double c[2][2][2][2]; + int a[2][2][2][2]; /* arrays are 2x2x2x2 */ + double b[2][2][2][2]; + double c[2][2][2][2]; } dset1_t; dset1_t dset1[6]; @@ -1628,13 +1629,13 @@ gent_many(void) } static hid_t mkstr(int size, H5T_str_t pad) { -hid_t type; + hid_t type; - if((type=H5Tcopy(H5T_C_S1)) < 0) return -1; - if(H5Tset_size(type, (size_t)size) < 0) return -1; - if(H5Tset_strpad(type, pad) < 0) return -1; + if((type=H5Tcopy(H5T_C_S1)) < 0) return -1; + if(H5Tset_size(type, (size_t)size) < 0) return -1; + if(H5Tset_strpad(type, pad) < 0) return -1; - return type; + return type; } static void gent_str(void) { @@ -1643,131 +1644,131 @@ static void gent_str(void) { hsize_t dims1[] = { 3, 4}; char string1[12][3] = {"s1","s2","s3","s4","s5","s6","s7","s8","s9", - "s0","s1","s2"}; + "s0","s1","s2"}; hsize_t dims2[]={20}; char string2[20][10] = {"ab cd ef1", "ab cd ef2", "ab cd ef3", "ab cd ef4", - "ab cd ef5", "ab cd ef6", "ab cd ef7", "ab cd ef8", - "ab cd ef9", "ab cd ef0", "ab cd ef1", "ab cd ef2", - "ab cd ef3", "ab cd ef4", "ab cd ef5", "ab cd ef6", - "ab cd ef7", "ab cd ef8", "ab cd ef9", "ab cd ef0"}; + "ab cd ef5", "ab cd ef6", "ab cd ef7", "ab cd ef8", + "ab cd ef9", "ab cd ef0", "ab cd ef1", "ab cd ef2", + "ab cd ef3", "ab cd ef4", "ab cd ef5", "ab cd ef6", + "ab cd ef7", "ab cd ef8", "ab cd ef9", "ab cd ef0"}; hsize_t dims3[] = { 27}; char string3[27][6] = {"abcd0", "abcd1", "abcd2", "abcd3", - "abcd4", "abcd5", "abcd6", "abcd7", - "abcd8", "abcd9", "abcd0", "abcd1", - "abcd2", "abcd3", "abcd4", "abcd5", - "abcd6", "abcd7", "abcd8", "abcd9", - "abcd0", "abcd1", "abcd2", "abcd3", - "abcd4", "abcd5", "abcd6"}; + "abcd4", "abcd5", "abcd6", "abcd7", + "abcd8", "abcd9", "abcd0", "abcd1", + "abcd2", "abcd3", "abcd4", "abcd5", + "abcd6", "abcd7", "abcd8", "abcd9", + "abcd0", "abcd1", "abcd2", "abcd3", + "abcd4", "abcd5", "abcd6"}; int i, j, k, l; hsize_t dims4[] = { 3 }; char string4[3][21] = { "s1234567890123456789", "s1234567890123456789", - "s1234567890123456789"}; + "s1234567890123456789"}; hsize_t dims5[] = { 3, 6}; typedef struct { - int a[8][10]; - char s[12][33]; + int a[8][10]; + char s[12][33]; } compound_t; compound_t comp1[3][6]; hsize_t mdims[2]; - fid = H5Fcreate(FILE13, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - - /* string 1 : nullterm string */ - space = H5Screate_simple(2, dims1, NULL); - f_type = mkstr(5, H5T_STR_NULLTERM); - m_type = mkstr(3, H5T_STR_NULLTERM); - dataset = H5Dcreate2(fid, "/string1", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string1); - H5Tclose(m_type); - H5Tclose(f_type); - H5Sclose(space); - H5Dclose(dataset); - - /* string 2 : space pad string */ - space = H5Screate_simple(1, dims2, NULL); - f_type = mkstr(11, H5T_STR_SPACEPAD); - m_type = mkstr(10, H5T_STR_NULLTERM); - dataset = H5Dcreate2(fid, "/string2", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string2); - H5Tclose(m_type); - H5Tclose(f_type); - H5Sclose(space); - H5Dclose(dataset); - - /* string 3 : null pad string */ - space = H5Screate_simple(1, dims3, NULL); - f_type = mkstr(8, H5T_STR_NULLPAD); - m_type = mkstr(6, H5T_STR_NULLTERM); - dataset = H5Dcreate2(fid, "/string3", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string3); - H5Tclose(m_type); - H5Tclose(f_type); - H5Sclose(space); - H5Dclose(dataset); - - /* string 4 : space pad long string */ - space = H5Screate_simple(1, dims4, NULL); - f_type = mkstr(168, H5T_STR_SPACEPAD); - m_type = mkstr(21, H5T_STR_NULLTERM); - dataset = H5Dcreate2(fid, "/string4", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string4); - H5Tclose(m_type); - H5Tclose(f_type); - H5Sclose(space); - H5Dclose(dataset); - - /* compound data */ - space = H5Screate_simple(2, dims5, NULL); - f_type = H5Tcreate (H5T_COMPOUND, sizeof(compound_t)); - f_type2 = H5Tcreate (H5T_COMPOUND, sizeof(compound_t)); - - mdims[0] = 8; mdims[1] = 10; - - array_dt = H5Tarray_create2(H5T_STD_I32BE, 2, mdims); - H5Tinsert(f_type, "int_array", HOFFSET(compound_t, a), array_dt); - H5Tclose(array_dt); - - array_dt = H5Tarray_create2(H5T_NATIVE_INT, 2, mdims); - H5Tinsert(f_type2, "int_array", HOFFSET(compound_t, a), array_dt); - H5Tclose(array_dt); - - mdims[0] = 3; mdims[1] = 4; - - str_type = mkstr(32, H5T_STR_SPACEPAD); - array_dt = H5Tarray_create2(str_type, 2, mdims); - H5Tinsert(f_type, "string", HOFFSET(compound_t, s), array_dt); - H5Tclose(array_dt); - H5Tclose(str_type); - - str_type = mkstr(33, H5T_STR_NULLTERM); - array_dt = H5Tarray_create2(str_type, 2, mdims); - H5Tinsert(f_type2, "string", HOFFSET(compound_t, s), array_dt); - H5Tclose(array_dt); - H5Tclose(str_type); - - for(i = 0; i < 3; i++) - for(j = 0; j < 6; j++) { - for(k = 0 ; k < 8; k++) + fid = H5Fcreate(FILE13, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + + /* string 1 : nullterm string */ + space = H5Screate_simple(2, dims1, NULL); + f_type = mkstr(5, H5T_STR_NULLTERM); + m_type = mkstr(3, H5T_STR_NULLTERM); + dataset = H5Dcreate2(fid, "/string1", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string1); + H5Tclose(m_type); + H5Tclose(f_type); + H5Sclose(space); + H5Dclose(dataset); + + /* string 2 : space pad string */ + space = H5Screate_simple(1, dims2, NULL); + f_type = mkstr(11, H5T_STR_SPACEPAD); + m_type = mkstr(10, H5T_STR_NULLTERM); + dataset = H5Dcreate2(fid, "/string2", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string2); + H5Tclose(m_type); + H5Tclose(f_type); + H5Sclose(space); + H5Dclose(dataset); + + /* string 3 : null pad string */ + space = H5Screate_simple(1, dims3, NULL); + f_type = mkstr(8, H5T_STR_NULLPAD); + m_type = mkstr(6, H5T_STR_NULLTERM); + dataset = H5Dcreate2(fid, "/string3", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string3); + H5Tclose(m_type); + H5Tclose(f_type); + H5Sclose(space); + H5Dclose(dataset); + + /* string 4 : space pad long string */ + space = H5Screate_simple(1, dims4, NULL); + f_type = mkstr(168, H5T_STR_SPACEPAD); + m_type = mkstr(21, H5T_STR_NULLTERM); + dataset = H5Dcreate2(fid, "/string4", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(dataset, m_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, string4); + H5Tclose(m_type); + H5Tclose(f_type); + H5Sclose(space); + H5Dclose(dataset); + + /* compound data */ + space = H5Screate_simple(2, dims5, NULL); + f_type = H5Tcreate (H5T_COMPOUND, sizeof(compound_t)); + f_type2 = H5Tcreate (H5T_COMPOUND, sizeof(compound_t)); + + mdims[0] = 8; mdims[1] = 10; + + array_dt = H5Tarray_create2(H5T_STD_I32BE, 2, mdims); + H5Tinsert(f_type, "int_array", HOFFSET(compound_t, a), array_dt); + H5Tclose(array_dt); + + array_dt = H5Tarray_create2(H5T_NATIVE_INT, 2, mdims); + H5Tinsert(f_type2, "int_array", HOFFSET(compound_t, a), array_dt); + H5Tclose(array_dt); + + mdims[0] = 3; mdims[1] = 4; + + str_type = mkstr(32, H5T_STR_SPACEPAD); + array_dt = H5Tarray_create2(str_type, 2, mdims); + H5Tinsert(f_type, "string", HOFFSET(compound_t, s), array_dt); + H5Tclose(array_dt); + H5Tclose(str_type); + + str_type = mkstr(33, H5T_STR_NULLTERM); + array_dt = H5Tarray_create2(str_type, 2, mdims); + H5Tinsert(f_type2, "string", HOFFSET(compound_t, s), array_dt); + H5Tclose(array_dt); + H5Tclose(str_type); + + for(i = 0; i < 3; i++) + for(j = 0; j < 6; j++) { + for(k = 0 ; k < 8; k++) for(l = 0; l < 10; l++) - comp1[i][j].a[k][l] = (l + j + k) * (l + j + k); - for(k = 0 ; k < 12; k++) - strcpy(comp1[i][j].s[k], "abcdefgh12345678abcdefgh12345678"); - } + comp1[i][j].a[k][l] = (l + j + k) * (l + j + k); + for(k = 0 ; k < 12; k++) + strcpy(comp1[i][j].s[k], "abcdefgh12345678abcdefgh12345678"); + } - dataset = H5Dcreate2(fid, "/comp1", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(dataset, f_type2, H5S_ALL, H5S_ALL, H5P_DEFAULT, comp1); + dataset = H5Dcreate2(fid, "/comp1", f_type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(dataset, f_type2, H5S_ALL, H5S_ALL, H5P_DEFAULT, comp1); - H5Tclose(f_type); - H5Tclose(f_type2); - H5Sclose(space); - H5Dclose(dataset); + H5Tclose(f_type); + H5Tclose(f_type2); + H5Sclose(space); + H5Dclose(dataset); - H5Fclose(fid); + H5Fclose(fid); } /* @@ -1777,163 +1778,163 @@ static void gent_str(void) { | | | | \ \ string1 string3 string5 string2 string4 string6 -*/ + */ static void gent_str2(void) { -hid_t fid, group, attr, dataset, space, space2, mem_space, hyper_space; -hid_t fxdlenstr, fxdlenstr2, memtype; -hsize_t dims[1], size[1], stride[1], count[1], block[1]; -hsize_t start[1]; - - -int i; -char buf[LENSTR+10]; -char buf2[3*LENSTR2]; -hsize_t sdim; - - fid = H5Fcreate(FILE14, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - - fxdlenstr = H5Tcopy(H5T_C_S1); - H5Tset_size(fxdlenstr, LENSTR); - H5Tset_cset(fxdlenstr, H5T_CSET_ASCII); - H5Tset_strpad(fxdlenstr, H5T_STR_NULLTERM); - - memtype = H5Tcopy(H5T_C_S1); - H5Tset_size(memtype, LENSTR); - H5Tset_cset(memtype, H5T_CSET_ASCII); - H5Tset_strpad(memtype, H5T_STR_NULLTERM); - - sdim = 10; - size[0] = sdim; - space = H5Screate_simple(1, size, NULL); - size[0] = 1; - mem_space = H5Screate_simple(1,size,NULL); - hyper_space = H5Scopy(space); - - /* dset1 */ - - group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - dataset = H5Dcreate2(group, "dset1", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - - /* add attributes to dset1 */ - - fxdlenstr2 = H5Tcopy(H5T_C_S1); - H5Tset_size(fxdlenstr2, LENSTR2); - H5Tset_cset(fxdlenstr2, H5T_CSET_ASCII); - H5Tset_strpad(fxdlenstr2, H5T_STR_NULLTERM); - - dims[0] = 3; - space2 = H5Screate_simple(1, dims, NULL); - attr = H5Acreate2(dataset, "attr1", fxdlenstr2, space2, H5P_DEFAULT, H5P_DEFAULT); - sprintf(&(buf2[0*LENSTR2]), "0123456789"); - sprintf(&(buf2[1*LENSTR2]), "abcdefghij"); - sprintf(&(buf2[2*LENSTR2]), "ABCDEFGHIJ"); - H5Awrite(attr, fxdlenstr2, buf2); - H5Sclose(space2); - H5Tclose(fxdlenstr2); - H5Aclose(attr); - - stride[0]=1; - count[0]=1; - block[0]=1; - - for(i = 0; (hsize_t)i < sdim; i++) { - start[0] = i; - sprintf(buf, "This is row %1d of type H5T_STR_NULLTERM of", i); - H5Tset_size(memtype, HDstrlen(buf)+1); - H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); - H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); - } - H5Dclose(dataset); - H5Gclose(group); - - group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - dataset = H5Dcreate2(group, "dset2", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - - for(i = 0; (hsize_t)i < sdim; i++) { - start[0] = i; - sprintf(buf, "This is row %1d of type H5T_STR_NULLTERM of string array", i); - H5Tset_size(memtype, HDstrlen(buf)+1); - H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); - H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); - } - H5Dclose(dataset); - H5Gclose(group); - - - H5Tclose(fxdlenstr); - fxdlenstr = H5Tcopy(H5T_C_S1); - H5Tset_size(fxdlenstr, LENSTR); - H5Tset_cset(fxdlenstr, H5T_CSET_ASCII); - H5Tset_strpad(fxdlenstr, H5T_STR_NULLPAD); - - group = H5Gcreate2(fid, "/g3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - dataset = H5Dcreate2(group, "dset3", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - - for(i = 0;(hsize_t) i < sdim; i++) { - start[0] = i; - sprintf(buf, "This is row %1d of type H5T_STR_NULLPAD of", i); - H5Tset_size(memtype, HDstrlen(buf)+1); - H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); - H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); - } - H5Dclose(dataset); - H5Gclose(group); - - - group = H5Gcreate2(fid, "/g4", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - dataset = H5Dcreate2(group, "dset4", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - - for(i = 0; (hsize_t)i < sdim; i++) { - start[0] = i; - sprintf(buf, "This is row %1d of type H5T_STR_NULLPAD of string array", i); - H5Tset_size(memtype, HDstrlen(buf)+1); - H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); - H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); - } - H5Dclose(dataset); - H5Gclose(group); - - H5Tclose(fxdlenstr); - fxdlenstr = H5Tcopy(H5T_C_S1); - H5Tset_size(fxdlenstr, LENSTR); - H5Tset_cset(fxdlenstr, H5T_CSET_ASCII); - H5Tset_strpad(fxdlenstr, H5T_STR_SPACEPAD); - - group = H5Gcreate2(fid, "/g5", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - dataset = H5Dcreate2(group, "dset5", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - - for(i = 0; (hsize_t)i < sdim; i++) { - start[0] = i; - sprintf(buf, "This is row %1d of type H5T_STR_SPACEPAD of", i); - H5Tset_size(memtype, HDstrlen(buf) + 1); - H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); - H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); - } - H5Dclose(dataset); - H5Gclose(group); - - - group = H5Gcreate2(fid, "/g6", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - dataset = H5Dcreate2(group, "dset6", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - - for(i = 0; (hsize_t)i < sdim; i++) { - start[0] = i; - sprintf(buf, "This is row %1d of type H5T_STR_SPACEPAD of string array", i); - H5Tset_size(memtype, HDstrlen(buf) + 1); - H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); - H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); - } - - H5Dclose(dataset); - H5Gclose(group); - H5Tclose(fxdlenstr); - H5Tclose(memtype); - H5Sclose(mem_space); - H5Sclose(hyper_space); - H5Sclose(space); - H5Fclose(fid); + hid_t fid, group, attr, dataset, space, space2, mem_space, hyper_space; + hid_t fxdlenstr, fxdlenstr2, memtype; + hsize_t dims[1], size[1], stride[1], count[1], block[1]; + hsize_t start[1]; + + + int i; + char buf[LENSTR+10]; + char buf2[3*LENSTR2]; + hsize_t sdim; + + fid = H5Fcreate(FILE14, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + + fxdlenstr = H5Tcopy(H5T_C_S1); + H5Tset_size(fxdlenstr, LENSTR); + H5Tset_cset(fxdlenstr, H5T_CSET_ASCII); + H5Tset_strpad(fxdlenstr, H5T_STR_NULLTERM); + + memtype = H5Tcopy(H5T_C_S1); + H5Tset_size(memtype, LENSTR); + H5Tset_cset(memtype, H5T_CSET_ASCII); + H5Tset_strpad(memtype, H5T_STR_NULLTERM); + + sdim = 10; + size[0] = sdim; + space = H5Screate_simple(1, size, NULL); + size[0] = 1; + mem_space = H5Screate_simple(1,size,NULL); + hyper_space = H5Scopy(space); + + /* dset1 */ + + group = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataset = H5Dcreate2(group, "dset1", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + /* add attributes to dset1 */ + + fxdlenstr2 = H5Tcopy(H5T_C_S1); + H5Tset_size(fxdlenstr2, LENSTR2); + H5Tset_cset(fxdlenstr2, H5T_CSET_ASCII); + H5Tset_strpad(fxdlenstr2, H5T_STR_NULLTERM); + + dims[0] = 3; + space2 = H5Screate_simple(1, dims, NULL); + attr = H5Acreate2(dataset, "attr1", fxdlenstr2, space2, H5P_DEFAULT, H5P_DEFAULT); + sprintf(&(buf2[0*LENSTR2]), "0123456789"); + sprintf(&(buf2[1*LENSTR2]), "abcdefghij"); + sprintf(&(buf2[2*LENSTR2]), "ABCDEFGHIJ"); + H5Awrite(attr, fxdlenstr2, buf2); + H5Sclose(space2); + H5Tclose(fxdlenstr2); + H5Aclose(attr); + + stride[0]=1; + count[0]=1; + block[0]=1; + + for(i = 0; (hsize_t)i < sdim; i++) { + start[0] = i; + sprintf(buf, "This is row %1d of type H5T_STR_NULLTERM of", i); + H5Tset_size(memtype, HDstrlen(buf)+1); + H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); + H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); + } + H5Dclose(dataset); + H5Gclose(group); + + group = H5Gcreate2(fid, "/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataset = H5Dcreate2(group, "dset2", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + for(i = 0; (hsize_t)i < sdim; i++) { + start[0] = i; + sprintf(buf, "This is row %1d of type H5T_STR_NULLTERM of string array", i); + H5Tset_size(memtype, HDstrlen(buf)+1); + H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); + H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); + } + H5Dclose(dataset); + H5Gclose(group); + + + H5Tclose(fxdlenstr); + fxdlenstr = H5Tcopy(H5T_C_S1); + H5Tset_size(fxdlenstr, LENSTR); + H5Tset_cset(fxdlenstr, H5T_CSET_ASCII); + H5Tset_strpad(fxdlenstr, H5T_STR_NULLPAD); + + group = H5Gcreate2(fid, "/g3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataset = H5Dcreate2(group, "dset3", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + for(i = 0;(hsize_t) i < sdim; i++) { + start[0] = i; + sprintf(buf, "This is row %1d of type H5T_STR_NULLPAD of", i); + H5Tset_size(memtype, HDstrlen(buf)+1); + H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); + H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); + } + H5Dclose(dataset); + H5Gclose(group); + + + group = H5Gcreate2(fid, "/g4", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataset = H5Dcreate2(group, "dset4", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + for(i = 0; (hsize_t)i < sdim; i++) { + start[0] = i; + sprintf(buf, "This is row %1d of type H5T_STR_NULLPAD of string array", i); + H5Tset_size(memtype, HDstrlen(buf)+1); + H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); + H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); + } + H5Dclose(dataset); + H5Gclose(group); + + H5Tclose(fxdlenstr); + fxdlenstr = H5Tcopy(H5T_C_S1); + H5Tset_size(fxdlenstr, LENSTR); + H5Tset_cset(fxdlenstr, H5T_CSET_ASCII); + H5Tset_strpad(fxdlenstr, H5T_STR_SPACEPAD); + + group = H5Gcreate2(fid, "/g5", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataset = H5Dcreate2(group, "dset5", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + for(i = 0; (hsize_t)i < sdim; i++) { + start[0] = i; + sprintf(buf, "This is row %1d of type H5T_STR_SPACEPAD of", i); + H5Tset_size(memtype, HDstrlen(buf) + 1); + H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); + H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); + } + H5Dclose(dataset); + H5Gclose(group); + + + group = H5Gcreate2(fid, "/g6", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataset = H5Dcreate2(group, "dset6", fxdlenstr, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + for(i = 0; (hsize_t)i < sdim; i++) { + start[0] = i; + sprintf(buf, "This is row %1d of type H5T_STR_SPACEPAD of string array", i); + H5Tset_size(memtype, HDstrlen(buf) + 1); + H5Sselect_hyperslab(hyper_space, H5S_SELECT_SET, start, stride, count, block); + H5Dwrite(dataset, memtype, mem_space, hyper_space, H5P_DEFAULT, buf); + } + + H5Dclose(dataset); + H5Gclose(group); + H5Tclose(fxdlenstr); + H5Tclose(memtype); + H5Sclose(mem_space); + H5Sclose(hyper_space); + H5Sclose(space); + H5Fclose(fid); } static void gent_enum(void) @@ -1942,9 +1943,9 @@ static void gent_enum(void) hid_t file, type, space, dset; int val; enumtype data[] = {RED, GREEN, BLUE, GREEN, WHITE, - WHITE, BLACK, GREEN, BLUE, RED, - RED, BLUE, GREEN, BLACK, WHITE, - RED, WHITE, GREEN, GREEN, BLUE}; + WHITE, BLACK, GREEN, BLUE, RED, + RED, BLUE, GREEN, BLACK, WHITE, + RED, WHITE, GREEN, GREEN, BLUE}; hsize_t size[1] = {NELMTS(data)}; file = H5Fcreate(FILE15,H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -1969,7 +1970,7 @@ static void gent_enum(void) static void gent_objref(void) { -/*some code is taken from enum.c in the test dir */ + /*some code is taken from enum.c in the test dir */ hid_t fid1; /* HDF5 File IDs */ hid_t dataset; /* Dataset ID */ @@ -1978,8 +1979,8 @@ static void gent_objref(void) hid_t tid1; /* Datatype ID */ hsize_t dims1[] = {SPACE1_DIM1}; hobj_ref_t *wbuf, /* buffer to write to disk */ - *rbuf, /* buffer read from disk */ - *tbuf; /* temp. buffer read from disk */ + *rbuf, /* buffer read from disk */ + *tbuf; /* temp. buffer read from disk */ uint32_t *tu32; /* Temporary pointer to uint32 data */ int i; /* counting variables */ const char *write_comment = "Foo!"; /* Comments for group */ @@ -2077,20 +2078,20 @@ static void gent_datareg(void) hid_t fid1; /* HDF5 File IDs */ hid_t dset1, /* Dataset ID */ - dset2; /* Dereferenced dataset ID */ + dset2; /* Dereferenced dataset ID */ hid_t sid1, /* Dataspace ID #1 */ - sid2; /* Dataspace ID #2 */ + sid2; /* Dataspace ID #2 */ hsize_t dims1[] = {SPACE1_DIM1}, - dims2[] = {SPACE2_DIM1, SPACE2_DIM2}; + dims2[] = {SPACE2_DIM1, SPACE2_DIM2}; hsize_t start[SPACE2_RANK]; /* Starting location of hyperslab */ hsize_t stride[SPACE2_RANK]; /* Stride of hyperslab */ hsize_t count[SPACE2_RANK]; /* Element count of hyperslab */ hsize_t block[SPACE2_RANK]; /* Block size of hyperslab */ hsize_t coord1[POINT1_NPOINTS][SPACE2_RANK]; /* Coordinates for point selection */ hdset_reg_ref_t *wbuf, /* buffer to write to disk */ - *rbuf; /* buffer read from disk */ + *rbuf; /* buffer read from disk */ uint8_t *dwbuf, /* Buffer for writing numeric data to disk */ - *drbuf; /* Buffer for reading numeric data from disk */ + *drbuf; /* Buffer for reading numeric data from disk */ uint8_t *tu8; /* Temporary pointer to uint8 data */ int i; /* counting variables */ @@ -2233,7 +2234,7 @@ static void gent_attrreg(void) */ sid1 = H5Screate (H5S_NULL); dset1 = H5Dcreate2 (fid1, "Dataset1", H5T_STD_I32LE, sid1, H5P_DEFAULT, - H5P_DEFAULT, H5P_DEFAULT); + H5P_DEFAULT, H5P_DEFAULT); H5Sclose (sid1); /* Create references */ @@ -2273,7 +2274,7 @@ static void gent_attrreg(void) /* Create the attribute and write the region references to it. */ attr1 = H5Acreate2 (dset1, "Attribute1", H5T_STD_REF_DSETREG, sid3, H5P_DEFAULT, - H5P_DEFAULT); + H5P_DEFAULT); H5Awrite (attr1, H5T_STD_REF_DSETREG, wbuf); /* Close attribute dataspace */ @@ -2301,18 +2302,18 @@ static void gent_attrreg(void) /*taken from Elena's compound test file*/ static void gent_nestcomp(void) { - /* Compound memeber of the compound datatype*/ + /* Compound memeber of the compound datatype*/ typedef struct cmp_t { - char a; - float b[2]; + char a; + float b[2]; } cmp_t; /* First structure and dataset*/ typedef struct s1_t { - int a; - float b; - double c; - cmp_t d; + int a; + float b; + double c; + cmp_t d; } s2_t; hid_t cmp_tid; /* Handle for the compound datatype */ hid_t char_id; /* Handle for the string datatype */ @@ -2388,7 +2389,7 @@ static void gent_nestcomp(void) */ status = H5Dwrite(dataset, s2_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, s1); if(status < 0) - fprintf(stderr, "gent_nestcomp H5Dwrite failed\n"); + fprintf(stderr, "gent_nestcomp H5Dwrite failed\n"); /* * Release resources @@ -2459,14 +2460,14 @@ static void gent_bitfields(void) /* bitfield_1 */ nelmts = sizeof(buf); if((type = H5Tcopy(H5T_STD_B8LE)) < 0 || - (space = H5Screate_simple(1, &nelmts, NULL)) < 0 || - (dset = H5Dcreate2(grp, "bitfield_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) - goto error; + (space = H5Screate_simple(1, &nelmts, NULL)) < 0 || + (dset = H5Dcreate2(grp, "bitfield_1", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + goto error; for(i = 0; i < sizeof buf; i++) buf[i] = (unsigned char)0xff ^ (unsigned char)i; if(H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; + goto error; if(H5Sclose(space) < 0) goto error; if(H5Tclose(type) < 0) goto error; if(H5Dclose(dset) < 0) goto error; @@ -2474,25 +2475,25 @@ static void gent_bitfields(void) /* bitfield_2 */ nelmts = sizeof(buf)/2; if((type = H5Tcopy(H5T_STD_B16LE)) < 0 || - (space = H5Screate_simple(1, &nelmts, NULL)) < 0 || - (dset = H5Dcreate2(grp, "bitfield_2", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) - goto error; + (space = H5Screate_simple(1, &nelmts, NULL)) < 0 || + (dset = H5Dcreate2(grp, "bitfield_2", type, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + goto error; for(i = 0; i < sizeof buf; i++) buf[i] = (unsigned char)0xff ^ (unsigned char)i; if(H5Dwrite(dset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; + goto error; if(H5Sclose(space) < 0) goto error; if(H5Tclose(type) < 0) goto error; if(H5Dclose(dset) < 0) goto error; if(H5Gclose(grp) < 0) goto error; H5Fclose(file); - error: + error: H5E_BEGIN_TRY { - H5Gclose(grp); - H5Tclose(type); - H5Sclose(space); - H5Dclose(dset); + H5Gclose(grp); + H5Tclose(type); + H5Sclose(space); + H5Dclose(dset); } H5E_END_TRY; } @@ -2508,7 +2509,7 @@ static void gent_vldatatypes(void) /* Allocate and initialize VL dataset to write */ for(i = 0; i < SPACE1_DIM1; i++) { - int j; + int j; wdata[i].p = HDmalloc((i + 1) * sizeof(int)); wdata[i].len = i + 1; @@ -2535,7 +2536,7 @@ static void gent_vldatatypes(void) /* Allocate and initialize VL dataset to write */ for(i = 0; i < SPACE1_DIM1; i++) { - int j; + int j; wdata[i].p = HDmalloc((i + 1) * sizeof(float)); wdata[i].len = i + 1; @@ -2659,9 +2660,9 @@ gent_vldatatypes2(void) static void gent_vldatatypes3(void) { typedef struct { /* Struct that the VL sequences are composed of */ - int i; - float f; - hvl_t v; + int i; + float f; + hvl_t v; } s1; s1 wdata[SPACE1_DIM1]; /* Information to write */ hid_t fid1; /* HDF5 File IDs */ @@ -2729,8 +2730,8 @@ static void gent_vldatatypes3(void) static void gent_vldatatypes4(void) { typedef struct { /* Struct that the VL sequences are composed of */ - int i; - float f; + int i; + float f; } s1; hvl_t wdata[SPACE1_DIM1]; /* Information to write */ hid_t fid1; /* HDF5 File IDs */ @@ -2748,7 +2749,7 @@ static void gent_vldatatypes4(void) for(j=0; j<(i+1); j++) { ((s1 *)wdata[i].p)[j].i=i*10+j; ((s1 *)wdata[i].p)[j].f=(float)((i*20+j)/3.0); - } /* end for */ + } /* end for */ } /* end for */ /* Create file */ @@ -2859,7 +2860,7 @@ static void gent_vldatatypes5(void) via region reference for testing refion reference output. Note: this was added originally prepared for bug2092. before the fix h5dump didn't display array indices every 262 x N (N > 0) based on 2000x1000 dims. -*/ + */ #define SPACE_ARRAY1BIG_DIM 2000 #define ARRAY1BIG_DIM 1000 @@ -2875,7 +2876,7 @@ static void gent_array1_big(void) int i,j; /* counting variables */ herr_t ret; /* Generic return value */ - + /* for region reference dataset */ hid_t dset2; hid_t sid2; @@ -3100,8 +3101,8 @@ static void gent_array3(void) static void gent_array4(void) { typedef struct { /* Typedef for compound datatype */ - int i; - float f; + int i; + float f; } s2_t; s2_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ hid_t fid1; /* HDF5 File IDs */ @@ -3166,8 +3167,8 @@ static void gent_array4(void) static void gent_array5(void) { typedef struct { /* Typedef for compound datatype */ - int i; - float f[ARRAY1_DIM1]; + int i; + float f[ARRAY1_DIM1]; } s2_t; s2_t wdata[SPACE1_DIM1][ARRAY1_DIM1]; /* Information to write */ hid_t fid1; /* HDF5 File IDs */ @@ -3385,7 +3386,7 @@ static void gent_array8(void) * elements within the array datatype. */ for (i=0; i= 0); - status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf5); - HDassert(status >= 0); - status = H5Aclose(aid); - status = H5Tclose(tid); - status = H5Sclose(sid); + /*------------------------------------------------------------------------- + * H5T_ENUM + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "GREEN", (val = 1, &val)); + write_attr(loc_id,1,dims,"enum",tid,0); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ - tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); - write_attr(loc_id, 1, dims, "array", tid, buf6); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_VLEN + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ - write_attr(loc_id, 1, dims, "integer", H5T_NATIVE_INT, buf7); - write_attr(loc_id, 1, dims, "float", H5T_NATIVE_FLOAT, buf8); + /* Allocate and initialize VL dataset to write */ + buf5[0].len = 1; + buf5[0].p = HDmalloc(1 * sizeof(int)); + ((int *)buf5[0].p)[0] = 1; + buf5[1].len = 2; + buf5[1].p = HDmalloc(2 * sizeof(int)); + ((int *)buf5[1].p)[0] = 2; + ((int *)buf5[1].p)[1] = 3; + + sid = H5Screate_simple(1, dims, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(aid, tid, buf5); + HDassert(status >= 0); + status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf5); + HDassert(status >= 0); + status = H5Aclose(aid); + status = H5Tclose(tid); + status = H5Sclose(sid); -/*------------------------------------------------------------------------- - * 2D attributes - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_ARRAY + *------------------------------------------------------------------------- + */ + tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); + write_attr(loc_id, 1, dims, "array", tid, buf6); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_attr(loc_id,2,dims2,"string2D",tid,buf12); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ + write_attr(loc_id, 1, dims, "integer", H5T_NATIVE_INT, buf7); + write_attr(loc_id, 1, dims, "float", H5T_NATIVE_FLOAT, buf8); -/*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ - tid = H5Tcopy(H5T_STD_B8LE); - write_attr(loc_id,2,dims2,"bitfield2D",tid,buf22); - status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_OPAQUE, 1); - status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_attr(loc_id,2,dims2,"opaque2D",tid,buf22); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * 2D attributes + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); - H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); - H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_attr(loc_id,2,dims2,"compound2D",tid,buf32); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_STRING + *------------------------------------------------------------------------- + */ + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_attr(loc_id,2,dims2,"string2D",tid,buf12); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ - /* Create references to dataset */ - if(dset_name) - { - for(i = 0; i < 3; i++) { - for(j = 0; j < 2; j++) { - status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,-1); - } - } - write_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42); - } + /*------------------------------------------------------------------------- + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ + tid = H5Tcopy(H5T_STD_B8LE); + write_attr(loc_id,2,dims2,"bitfield2D",tid,buf22); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); - H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_attr(loc_id,2,dims2,"enum2D",tid,0); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_OPAQUE, 1); + status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ + write_attr(loc_id,2,dims2,"opaque2D",tid,buf22); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ + tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); + H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); + write_attr(loc_id,2,dims2,"compound2D",tid,buf32); + status = H5Tclose(tid); - /* Allocate and initialize VL dataset to write */ - n=0; - for(i = 0; i < 3; i++) { - for(j = 0; j < 2; j++) { - int l; - - buf52[i][j].p = HDmalloc((i + 1) * sizeof(int)); - buf52[i][j].len = i + 1; - for(l = 0; l < i + 1; l++) - ((int *)buf52[i][j].p)[l] = n++; - } - } - - sid = H5Screate_simple(2, dims2, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); - status = H5Awrite(aid, tid, buf52); - HDassert(status >= 0); - status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf52); - HDassert(status >= 0); - status = H5Aclose(aid); - status = H5Tclose(tid); - status = H5Sclose(sid); + /*------------------------------------------------------------------------- + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ + /* Create references to dataset */ + if(dset_name) + { + for(i = 0; i < 3; i++) { + for(j = 0; j < 2; j++) { + status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,-1); + } + } + write_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42); + } -/*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ - tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); - write_attr(loc_id, 2, dims2, "array2D", tid, buf62); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_ENUM + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "GREEN", (val = 1, &val)); + write_attr(loc_id,2,dims2,"enum2D",tid,0); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ - write_attr(loc_id, 2, dims2, "integer2D", H5T_NATIVE_INT, buf72); - write_attr(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82); + /*------------------------------------------------------------------------- + * H5T_VLEN + *------------------------------------------------------------------------- + */ + /* Allocate and initialize VL dataset to write */ + n=0; + for(i = 0; i < 3; i++) { + for(j = 0; j < 2; j++) { + int l; + + buf52[i][j].p = HDmalloc((i + 1) * sizeof(int)); + buf52[i][j].len = i + 1; + for(l = 0; l < i + 1; l++) + ((int *)buf52[i][j].p)[l] = n++; + } + } -/*------------------------------------------------------------------------- - * 3D attributes - *------------------------------------------------------------------------- - */ + sid = H5Screate_simple(2, dims2, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(aid, tid, buf52); + HDassert(status >= 0); + status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf52); + HDassert(status >= 0); + status = H5Aclose(aid); + status = H5Tclose(tid); + status = H5Sclose(sid); -/*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_attr(loc_id,3,dims3,"string3D",tid,buf13); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_ARRAY + *------------------------------------------------------------------------- + */ + tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); + write_attr(loc_id, 2, dims2, "array2D", tid, buf62); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ + write_attr(loc_id, 2, dims2, "integer2D", H5T_NATIVE_INT, buf72); + write_attr(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82); - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - buf23[i][j][k]=n++; - } - } - } - tid = H5Tcopy(H5T_STD_B8LE); - write_attr(loc_id,3,dims3,"bitfield3D",tid,buf23); - status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_OPAQUE, 1); - status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_attr(loc_id,3,dims3,"opaque3D",tid,buf23); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * 3D attributes + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_STRING + *------------------------------------------------------------------------- + */ + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_attr(loc_id,3,dims3,"string3D",tid,buf13); + status = H5Tclose(tid); - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - buf33[i][j][k].a=n++; - buf33[i][j][k].b=n++; - } - } - } - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); - H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); - H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_attr(loc_id,3,dims3,"compound3D",tid,buf33); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ - /* Create references to dataset */ - if(dset_name) - { - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) - status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,-1); - } - } - write_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43); - } + n=1; + for(i = 0; i < 4; i++) { + for(j = 0; j < 3; j++) { + for(k = 0; k < 2; k++) { + buf23[i][j][k]=n++; + } + } + } + tid = H5Tcopy(H5T_STD_B8LE); + write_attr(loc_id,3,dims3,"bitfield3D",tid,buf23); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); - H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_attr(loc_id,3,dims3,"enum3D",tid,0); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_OPAQUE, 1); + status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ + write_attr(loc_id,3,dims3,"opaque3D",tid,buf23); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ - /* Allocate and initialize VL dataset to write */ - n = 0; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - int l; - - buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int)); - buf53[i][j][k].len = i + 1; - for(l = 0; l < i + 1; l++) - ((int *)buf53[i][j][k].p)[l] = n++; - } - } - } - - sid = H5Screate_simple(3, dims3, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - aid = H5Acreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); - status = H5Awrite(aid, tid, buf53); - HDassert(status >= 0); - status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf53); - HDassert(status >= 0); - status = H5Aclose(aid); - status = H5Tclose(tid); - status = H5Sclose(sid); + n=1; + for(i = 0; i < 4; i++) { + for(j = 0; j < 3; j++) { + for(k = 0; k < 2; k++) { + buf33[i][j][k].a=n++; + buf33[i][j][k].b=n++; + } + } + } + tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); + H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); + write_attr(loc_id,3,dims3,"compound3D",tid,buf33); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ - n = 1; - for(i = 0; i < 24; i++) - for(j = 0; j < (int)dimarray[0]; j++) - buf63[i][j] = n++; + /*------------------------------------------------------------------------- + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ + /* Create references to dataset */ + if(dset_name) + { + for(i = 0; i < 4; i++) { + for(j = 0; j < 3; j++) { + for(k = 0; k < 2; k++) + status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,-1); + } + } + write_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43); + } - tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); - write_attr(loc_id, 3, dims3, "array3D", tid, buf63); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_ENUM + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "GREEN", (val = 1, &val)); + write_attr(loc_id,3,dims3,"enum3D",tid,0); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ - n=1; f=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - buf73[i][j][k]=n++; - buf83[i][j][k]=f++; - } - } - } - write_attr(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73); - write_attr(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83); + /*------------------------------------------------------------------------- + * H5T_VLEN + *------------------------------------------------------------------------- + */ + + /* Allocate and initialize VL dataset to write */ + n = 0; + for(i = 0; i < 4; i++) { + for(j = 0; j < 3; j++) { + for(k = 0; k < 2; k++) { + int l; + + buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int)); + buf53[i][j][k].len = i + 1; + for(l = 0; l < i + 1; l++) + ((int *)buf53[i][j][k].p)[l] = n++; + } + } + } + + sid = H5Screate_simple(3, dims3, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + aid = H5Acreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT); + status = H5Awrite(aid, tid, buf53); + HDassert(status >= 0); + status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf53); + HDassert(status >= 0); + status = H5Aclose(aid); + status = H5Tclose(tid); + status = H5Sclose(sid); + + /*------------------------------------------------------------------------- + * H5T_ARRAY + *------------------------------------------------------------------------- + */ + n = 1; + for(i = 0; i < 24; i++) + for(j = 0; j < (int)dimarray[0]; j++) + buf63[i][j] = n++; + + tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); + write_attr(loc_id, 3, dims3, "array3D", tid, buf63); + status = H5Tclose(tid); + + /*------------------------------------------------------------------------- + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ + n=1; f=1; + for(i = 0; i < 4; i++) { + for(j = 0; j < 3; j++) { + for(k = 0; k < 2; k++) { + buf73[i][j][k]=n++; + buf83[i][j][k]=f++; + } + } + } + write_attr(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73); + write_attr(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83); } @@ -4239,441 +4240,441 @@ static void write_attr_in(hid_t loc_id, */ static void write_dset_in(hid_t loc_id, - const char* dset_name, /* for saving reference to dataset*/ - hid_t fid) + const char* dset_name, /* for saving reference to dataset*/ + hid_t fid) { - /* Compound datatype */ - typedef struct s_t - { - char a; - double b; - } s_t; - - typedef enum - { - E_RED, - E_GREEN - } e_t; - - hid_t did; - hid_t sid; - hid_t tid; - hid_t plist_id; - herr_t status; - int val, i, j, k, n; - float f; - int fillvalue=2; - - /* create 1D attributes with dimension [2], 2 elements */ - hsize_t dims[1]={2}; - char buf1[2][2]= {"ab","de"}; /* string */ - char buf2[2]= {1,2}; /* bitfield, opaque */ - s_t buf3[2]= {{1,2},{3,4}}; /* compound */ - hobj_ref_t buf4[2]; /* reference */ - hvl_t buf5[2]; /* vlen */ - hsize_t dimarray[1]={3}; /* array dimension */ - int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */ - int buf7[2]= {1,2}; /* integer */ - float buf8[2]= {1,2}; /* float */ - - /* create 2D attributes with dimension [3][2], 6 elements */ - hsize_t dims2[2]={3,2}; - char buf12[6][2]= {"ab","cd","ef","gh","ij","kl"}; /* string */ - char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */ - s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */ - hobj_ref_t buf42[3][2]; /* reference */ - hvl_t buf52[3][2]; /* vlen */ - int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */ - int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */ - float buf82[3][2]= {{1,2},{3,4},{5,6}}; /* float */ - - /* create 3D attributes with dimension [4][3][2], 24 elements */ - hsize_t dims3[3]={4,3,2}; - char buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq", - "rs","tu","vw","xz","AB","CD","EF","GH", - "IJ","KL","MN","PQ","RS","TU","VW","XZ"}; /* string */ - char buf23[4][3][2]; /* bitfield, opaque */ - s_t buf33[4][3][2]; /* compound */ - hobj_ref_t buf43[4][3][2]; /* reference */ - hvl_t buf53[4][3][2]; /* vlen */ - int buf63[24][3]; /* array */ - int buf73[4][3][2]; /* integer */ - float buf83[4][3][2]; /* float */ + /* Compound datatype */ + typedef struct s_t + { + char a; + double b; + } s_t; + typedef enum + { + E_RED, + E_GREEN + } e_t; -/*------------------------------------------------------------------------- - * 1D - *------------------------------------------------------------------------- - */ + hid_t did; + hid_t sid; + hid_t tid; + hid_t plist_id; + herr_t status; + int val, i, j, k, n; + float f; + int fillvalue=2; + + /* create 1D attributes with dimension [2], 2 elements */ + hsize_t dims[1]={2}; + char buf1[2][2]= {"ab","de"}; /* string */ + char buf2[2]= {1,2}; /* bitfield, opaque */ + s_t buf3[2]= {{1,2},{3,4}}; /* compound */ + hobj_ref_t buf4[2]; /* reference */ + hvl_t buf5[2]; /* vlen */ + hsize_t dimarray[1]={3}; /* array dimension */ + int buf6[2][3]= {{1,2,3},{4,5,6}}; /* array */ + int buf7[2]= {1,2}; /* integer */ + float buf8[2]= {1,2}; /* float */ + + /* create 2D attributes with dimension [3][2], 6 elements */ + hsize_t dims2[2]={3,2}; + char buf12[6][2]= {"ab","cd","ef","gh","ij","kl"}; /* string */ + char buf22[3][2]= {{1,2},{3,4},{5,6}}; /* bitfield, opaque */ + s_t buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}}; /* compound */ + hobj_ref_t buf42[3][2]; /* reference */ + hvl_t buf52[3][2]; /* vlen */ + int buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}; /* array */ + int buf72[3][2]= {{1,2},{3,4},{5,6}}; /* integer */ + float buf82[3][2]= {{1,2},{3,4},{5,6}}; /* float */ + + /* create 3D attributes with dimension [4][3][2], 24 elements */ + hsize_t dims3[3]={4,3,2}; + char buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq", + "rs","tu","vw","xz","AB","CD","EF","GH", + "IJ","KL","MN","PQ","RS","TU","VW","XZ"}; /* string */ + char buf23[4][3][2]; /* bitfield, opaque */ + s_t buf33[4][3][2]; /* compound */ + hobj_ref_t buf43[4][3][2]; /* reference */ + hvl_t buf53[4][3][2]; /* vlen */ + int buf63[24][3]; /* array */ + int buf73[4][3][2]; /* integer */ + float buf83[4][3][2]; /* float */ -/*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_dset(loc_id,1,dims,"string",tid,buf1); - status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ - tid = H5Tcopy(H5T_STD_B8LE); - write_dset(loc_id,1,dims,"bitfield",tid,buf2); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * 1D + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_OPAQUE, 1); - status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_dset(loc_id,1,dims,"opaque",tid,buf2); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_STRING + *------------------------------------------------------------------------- + */ + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_dset(loc_id,1,dims,"string",tid,buf1); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); - H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); - H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_dset(loc_id,1,dims,"compound",tid,buf3); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ + tid = H5Tcopy(H5T_STD_B8LE); + write_dset(loc_id,1,dims,"bitfield",tid,buf2); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ - /* Create references to dataset */ - if(dset_name) - { - status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,-1); - status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,-1); - write_dset(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4); - } + /*------------------------------------------------------------------------- + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_OPAQUE, 1); + status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ + write_dset(loc_id,1,dims,"opaque",tid,buf2); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); - H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_dset(loc_id,1,dims,"enum",tid,0); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ + tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); + H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); + write_dset(loc_id,1,dims,"compound",tid,buf3); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ + /* Create references to dataset */ + if(dset_name) + { + status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,-1); + status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,-1); + write_dset(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4); + } - /* Allocate and initialize VL dataset to write */ - - buf5[0].len = 1; - buf5[0].p = HDmalloc( 1 * sizeof(int)); - ((int *)buf5[0].p)[0]=1; - buf5[1].len = 2; - buf5[1].p = HDmalloc( 2 * sizeof(int)); - ((int *)buf5[1].p)[0]=2; - ((int *)buf5[1].p)[1]=3; - - sid = H5Screate_simple(1, dims, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - did = H5Dcreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); - HDassert(status >= 0); - status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf5); - HDassert(status >= 0); - status = H5Dclose(did); - status = H5Tclose(tid); - status = H5Sclose(sid); + /*------------------------------------------------------------------------- + * H5T_ENUM + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "GREEN", (val = 1, &val)); + write_dset(loc_id,1,dims,"enum",tid,0); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ - tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); - write_dset(loc_id, 1, dims, "array", tid, buf6); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_VLEN + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ - write_dset(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7); - write_dset(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8); + /* Allocate and initialize VL dataset to write */ + buf5[0].len = 1; + buf5[0].p = HDmalloc( 1 * sizeof(int)); + ((int *)buf5[0].p)[0]=1; + buf5[1].len = 2; + buf5[1].p = HDmalloc( 2 * sizeof(int)); + ((int *)buf5[1].p)[0]=2; + ((int *)buf5[1].p)[1]=3; + + sid = H5Screate_simple(1, dims, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + did = H5Dcreate2(loc_id, "vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf5); + HDassert(status >= 0); + status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf5); + HDassert(status >= 0); + status = H5Dclose(did); + status = H5Tclose(tid); + status = H5Sclose(sid); -/*------------------------------------------------------------------------- - * 2D - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_ARRAY + *------------------------------------------------------------------------- + */ + tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); + write_dset(loc_id, 1, dims, "array", tid, buf6); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_dset(loc_id,2,dims2,"string2D",tid,buf12); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ + write_dset(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7); + write_dset(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8); -/*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ - tid = H5Tcopy(H5T_STD_B8LE); - write_dset(loc_id,2,dims2,"bitfield2D",tid,buf22); - status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_OPAQUE, 1); - status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_dset(loc_id,2,dims2,"opaque2D",tid,buf22); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * 2D + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); - H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); - H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_dset(loc_id,2,dims2,"compound2D",tid,buf32); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_STRING + *------------------------------------------------------------------------- + */ + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_dset(loc_id,2,dims2,"string2D",tid,buf12); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ - /* Create references to dataset */ - if(dset_name) - { - for(i = 0; i < 3; i++) { - for(j = 0; j < 2; j++) { - status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,-1); - } - } - write_dset(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42); - } + /*------------------------------------------------------------------------- + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ + tid = H5Tcopy(H5T_STD_B8LE); + write_dset(loc_id,2,dims2,"bitfield2D",tid,buf22); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); - H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_dset(loc_id,2,dims2,"enum2D",tid,0); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_OPAQUE, 1); + status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ + write_dset(loc_id,2,dims2,"opaque2D",tid,buf22); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ + tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); + H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); + write_dset(loc_id,2,dims2,"compound2D",tid,buf32); + status = H5Tclose(tid); - /* Allocate and initialize VL dataset to write */ - n=0; - for(i = 0; i < 3; i++) - for(j = 0; j < 2; j++) { - int l; - - buf52[i][j].p = HDmalloc((i + 1) * sizeof(int)); - buf52[i][j].len = i + 1; - for(l = 0; l < i + 1; l++) - ((int *)buf52[i][j].p)[l] = n++; - } - - sid = H5Screate_simple(2, dims2, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - did = H5Dcreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf52); - HDassert(status >= 0); - status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf52); - HDassert(status >= 0); - status = H5Dclose(did); - status = H5Tclose(tid); - status = H5Sclose(sid); + /*------------------------------------------------------------------------- + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ + /* Create references to dataset */ + if(dset_name) + { + for(i = 0; i < 3; i++) { + for(j = 0; j < 2; j++) { + status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,-1); + } + } + write_dset(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42); + } -/*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ - tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); - write_dset(loc_id, 2, dims2, "array2D", tid, buf62); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_ENUM + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "GREEN", (val = 1, &val)); + write_dset(loc_id,2,dims2,"enum2D",tid,0); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_INTEGER, write a fill value - *------------------------------------------------------------------------- - */ - plist_id = H5Pcreate(H5P_DATASET_CREATE); - status = H5Pset_fill_value(plist_id, H5T_NATIVE_INT, &fillvalue); - sid = H5Screate_simple(2, dims2, NULL); - did = H5Dcreate2(loc_id, "integer2D", H5T_NATIVE_INT, sid, H5P_DEFAULT, plist_id, H5P_DEFAULT); - status = H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf72); - status = H5Pclose(plist_id); - status = H5Dclose(did); - status = H5Sclose(sid); + /*------------------------------------------------------------------------- + * H5T_VLEN + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_FLOAT - *------------------------------------------------------------------------- - */ + /* Allocate and initialize VL dataset to write */ + n=0; + for(i = 0; i < 3; i++) + for(j = 0; j < 2; j++) { + int l; - write_dset(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82); + buf52[i][j].p = HDmalloc((i + 1) * sizeof(int)); + buf52[i][j].len = i + 1; + for(l = 0; l < i + 1; l++) + ((int *)buf52[i][j].p)[l] = n++; + } + sid = H5Screate_simple(2, dims2, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + did = H5Dcreate2(loc_id, "vlen2D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf52); + HDassert(status >= 0); + status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf52); + HDassert(status >= 0); + status = H5Dclose(did); + status = H5Tclose(tid); + status = H5Sclose(sid); -/*------------------------------------------------------------------------- - * 3D - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_ARRAY + *------------------------------------------------------------------------- + */ + tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); + write_dset(loc_id, 2, dims2, "array2D", tid, buf62); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_STRING - *------------------------------------------------------------------------- - */ - tid = H5Tcopy(H5T_C_S1); - status = H5Tset_size(tid, 2); - write_dset(loc_id,3,dims3,"string3D",tid,buf13); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_INTEGER, write a fill value + *------------------------------------------------------------------------- + */ + plist_id = H5Pcreate(H5P_DATASET_CREATE); + status = H5Pset_fill_value(plist_id, H5T_NATIVE_INT, &fillvalue); + sid = H5Screate_simple(2, dims2, NULL); + did = H5Dcreate2(loc_id, "integer2D", H5T_NATIVE_INT, sid, H5P_DEFAULT, plist_id, H5P_DEFAULT); + status = H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf72); + status = H5Pclose(plist_id); + status = H5Dclose(did); + status = H5Sclose(sid); -/*------------------------------------------------------------------------- - * H5T_BITFIELD - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_FLOAT + *------------------------------------------------------------------------- + */ - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - buf23[i][j][k]=n++; - } - } - } - tid = H5Tcopy(H5T_STD_B8LE); - write_dset(loc_id,3,dims3,"bitfield3D",tid,buf23); - status = H5Tclose(tid); + write_dset(loc_id, 2, dims2, "float2D", H5T_NATIVE_FLOAT, buf82); -/*------------------------------------------------------------------------- - * H5T_OPAQUE - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_OPAQUE, 1); - status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ - write_dset(loc_id,3,dims3,"opaque3D",tid,buf23); - status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_COMPOUND - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * 3D + *------------------------------------------------------------------------- + */ - n=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - buf33[i][j][k].a=n++; - buf33[i][j][k].b=n++; - } - } - } - tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); - H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); - H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); - write_dset(loc_id,3,dims3,"compound3D",tid,buf33); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_STRING + *------------------------------------------------------------------------- + */ + tid = H5Tcopy(H5T_C_S1); + status = H5Tset_size(tid, 2); + write_dset(loc_id,3,dims3,"string3D",tid,buf13); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_REFERENCE - *------------------------------------------------------------------------- - */ - /* Create references to dataset */ - if(dset_name) - { - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) - status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,-1); - } - } - write_dset(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43); - } + /*------------------------------------------------------------------------- + * H5T_BITFIELD + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_ENUM - *------------------------------------------------------------------------- - */ - tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); - H5Tenum_insert(tid, "RED", (val = 0, &val)); - H5Tenum_insert(tid, "GREEN", (val = 1, &val)); - write_dset(loc_id,3,dims3,"enum3D",tid,0); - status = H5Tclose(tid); + n=1; + for(i = 0; i < 4; i++) { + for(j = 0; j < 3; j++) { + for(k = 0; k < 2; k++) { + buf23[i][j][k]=n++; + } + } + } + tid = H5Tcopy(H5T_STD_B8LE); + write_dset(loc_id,3,dims3,"bitfield3D",tid,buf23); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_VLEN - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * H5T_OPAQUE + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_OPAQUE, 1); + status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */ + write_dset(loc_id,3,dims3,"opaque3D",tid,buf23); + status = H5Tclose(tid); - /* Allocate and initialize VL dataset to write */ - n = 0; - for(i = 0; i < 4; i++) - for(j = 0; j < 3; j++) - for(k = 0; k < 2; k++) { - int l; - - buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int)); - buf53[i][j][k].len = i + 1; - for(l = 0; l < i + 1; l++) - ((int *)buf53[i][j][k].p)[l] = n++; - } - - sid = H5Screate_simple(3, dims3, NULL); - tid = H5Tvlen_create(H5T_NATIVE_INT); - did = H5Dcreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf53); - HDassert(status >= 0); - status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf53); - HDassert(status >= 0); - status = H5Dclose(did); - status = H5Tclose(tid); - status = H5Sclose(sid); + /*------------------------------------------------------------------------- + * H5T_COMPOUND + *------------------------------------------------------------------------- + */ -/*------------------------------------------------------------------------- - * H5T_ARRAY - *------------------------------------------------------------------------- - */ - n=1; - for(i = 0; i < 24; i++) { - for(j = 0; j < (int)dimarray[0]; j++) { - buf63[i][j]=n++; - } - } + n=1; + for(i = 0; i < 4; i++) { + for(j = 0; j < 3; j++) { + for(k = 0; k < 2; k++) { + buf33[i][j][k].a=n++; + buf33[i][j][k].b=n++; + } + } + } + tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t)); + H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR); + H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE); + write_dset(loc_id,3,dims3,"compound3D",tid,buf33); + status = H5Tclose(tid); + + /*------------------------------------------------------------------------- + * H5T_REFERENCE + *------------------------------------------------------------------------- + */ + /* Create references to dataset */ + if(dset_name) + { + for(i = 0; i < 4; i++) { + for(j = 0; j < 3; j++) { + for(k = 0; k < 2; k++) + status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,-1); + } + } + write_dset(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43); + } - tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); - write_dset(loc_id, 3, dims3, "array3D", tid, buf63); - status = H5Tclose(tid); + /*------------------------------------------------------------------------- + * H5T_ENUM + *------------------------------------------------------------------------- + */ + tid = H5Tcreate(H5T_ENUM, sizeof(e_t)); + H5Tenum_insert(tid, "RED", (val = 0, &val)); + H5Tenum_insert(tid, "GREEN", (val = 1, &val)); + write_dset(loc_id,3,dims3,"enum3D",tid,0); + status = H5Tclose(tid); -/*------------------------------------------------------------------------- - * H5T_INTEGER and H5T_FLOAT - *------------------------------------------------------------------------- - */ - n=1; f=1; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - for(k = 0; k < 2; k++) { - buf73[i][j][k]=n++; - buf83[i][j][k]=f++; - } - } - } - write_dset(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73); - write_dset(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83); + /*------------------------------------------------------------------------- + * H5T_VLEN + *------------------------------------------------------------------------- + */ + + /* Allocate and initialize VL dataset to write */ + n = 0; + for(i = 0; i < 4; i++) + for(j = 0; j < 3; j++) + for(k = 0; k < 2; k++) { + int l; + + buf53[i][j][k].p = HDmalloc((i + 1) * sizeof(int)); + buf53[i][j][k].len = i + 1; + for(l = 0; l < i + 1; l++) + ((int *)buf53[i][j][k].p)[l] = n++; + } + + sid = H5Screate_simple(3, dims3, NULL); + tid = H5Tvlen_create(H5T_NATIVE_INT); + did = H5Dcreate2(loc_id, "vlen3D", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + status = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf53); + HDassert(status >= 0); + status = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf53); + HDassert(status >= 0); + status = H5Dclose(did); + status = H5Tclose(tid); + status = H5Sclose(sid); + + /*------------------------------------------------------------------------- + * H5T_ARRAY + *------------------------------------------------------------------------- + */ + n=1; + for(i = 0; i < 24; i++) { + for(j = 0; j < (int)dimarray[0]; j++) { + buf63[i][j]=n++; + } + } + + tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); + write_dset(loc_id, 3, dims3, "array3D", tid, buf63); + status = H5Tclose(tid); + + /*------------------------------------------------------------------------- + * H5T_INTEGER and H5T_FLOAT + *------------------------------------------------------------------------- + */ + n=1; f=1; + for(i = 0; i < 4; i++) { + for(j = 0; j < 3; j++) { + for(k = 0; k < 2; k++) { + buf73[i][j][k]=n++; + buf83[i][j][k]=f++; + } + } + } + write_dset(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73); + write_dset(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83); } @@ -4719,18 +4720,18 @@ static void gent_attr_all(void) root_id = H5Gopen2(fid, "/", H5P_DEFAULT); /*------------------------------------------------------------------------- - * write a series of attributes on the dataset, group - *------------------------------------------------------------------------- - */ + * write a series of attributes on the dataset, group + *------------------------------------------------------------------------- + */ write_attr_in(did,"dset",fid); write_attr_in(group_id,NULL,0); write_attr_in(root_id,NULL,0); /*------------------------------------------------------------------------- - * write a series of datasets on group 2 - *------------------------------------------------------------------------- - */ + * write a series of datasets on group 2 + *------------------------------------------------------------------------- + */ write_dset_in(group2_id,"/dset",fid); @@ -4764,27 +4765,27 @@ static void gent_attr_all(void) static int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, - hid_t tid, void *buf) + hid_t tid, void *buf) { - hid_t aid; - hid_t sid; - herr_t status; + hid_t aid; + hid_t sid; + herr_t status; - /* Create a buf space */ - sid = H5Screate_simple(rank, dims, NULL); + /* Create a buf space */ + sid = H5Screate_simple(rank, dims, NULL); - /* Create the attribute */ - aid = H5Acreate2(loc_id, attr_name, tid, sid, H5P_DEFAULT, H5P_DEFAULT); + /* Create the attribute */ + aid = H5Acreate2(loc_id, attr_name, tid, sid, H5P_DEFAULT, H5P_DEFAULT); - /* Write the buf */ - if(buf) - status = H5Awrite(aid, tid, buf); + /* Write the buf */ + if(buf) + status = H5Awrite(aid, tid, buf); - /* Close */ - status = H5Aclose(aid); - status = H5Sclose(sid); + /* Close */ + status = H5Aclose(aid); + status = H5Sclose(sid); - return status; + return status; } /*------------------------------------------------------------------------- @@ -4803,7 +4804,7 @@ int write_attr(hid_t loc_id, int rank, hsize_t *dims, const char *attr_name, static int write_dset( hid_t loc_id, int rank, hsize_t *dims, const char *dset_name, - hid_t tid, void *buf ) + hid_t tid, void *buf ) { hid_t did; hid_t sid; @@ -4831,23 +4832,23 @@ static void gent_compound_complex(void) { /* Structure and array for compound types */ typedef struct Array1Struct { - int a; - const char *b[F41_DIMb]; - char c[F41_ARRAY_DIMc]; - short d[F41_ARRAY_DIMd1][F41_ARRAY_DIMd2]; - float e; - double f[F41_ARRAY_DIMf]; - char g; + int a; + const char *b[F41_DIMb]; + char c[F41_ARRAY_DIMc]; + short d[F41_ARRAY_DIMd1][F41_ARRAY_DIMd2]; + float e; + double f[F41_ARRAY_DIMf]; + char g; } Array1Struct; Array1Struct Array1[F41_LENGTH]; /* Define the value of the string array */ const char *quote [F41_DIMb] = { - "A fight is a contract that takes two people to honor.", - "A combative stance means that you've accepted the contract.", - "In which case, you deserve what you get.", - " -- Professor Cheng Man-ch'ing" - }; + "A fight is a contract that takes two people to honor.", + "A combative stance means that you've accepted the contract.", + "In which case, you deserve what you get.", + " -- Professor Cheng Man-ch'ing" + }; /* Define the value of the character array */ char chararray [F41_ARRAY_DIMc] = {'H', 'e', 'l', 'l', 'o', '!'}; @@ -4874,24 +4875,24 @@ static void gent_compound_complex(void) Array1[m].a = m; for(n = 0; n < F41_DIMb; n++) { - Array1[m].b[n] = quote[n]; - } + Array1[m].b[n] = quote[n]; + } - for(n = 0; n < F41_ARRAY_DIMc; n++) { + for(n = 0; n < F41_ARRAY_DIMc; n++) { Array1[m].c[n] = chararray[n]; - } + } - for(n = 0; n < F41_ARRAY_DIMd1; n++) { - for(o = 0; o < F41_ARRAY_DIMd2; o++){ - Array1[m].d[n][o] = m + n + o; + for(n = 0; n < F41_ARRAY_DIMd1; n++) { + for(o = 0; o < F41_ARRAY_DIMd2; o++){ + Array1[m].d[n][o] = m + n + o; } } Array1[m].e = (float)( m * .96 ); - for(n = 0; n < F41_ARRAY_DIMf; n++) { + for(n = 0; n < F41_ARRAY_DIMf; n++) { Array1[m].f[n] = ( m * 1024.9637 ); - } + } Array1[m].g = 'm'; } @@ -4902,7 +4903,7 @@ static void gent_compound_complex(void) /* Create the file */ datafile = H5Fcreate(FILE41, H5F_ACC_TRUNC, H5P_DEFAULT, - H5P_DEFAULT); + H5P_DEFAULT); HDassert(datafile >= 0); /* Copy the array data type for the string array */ @@ -4939,40 +4940,40 @@ static void gent_compound_complex(void) /* Insert the arrays and variables into the structure */ status = H5Tinsert(Array1Structid, "a_name", - HOFFSET(Array1Struct, a), H5T_NATIVE_INT); + HOFFSET(Array1Struct, a), H5T_NATIVE_INT); HDassert(status >= 0); status = H5Tinsert(Array1Structid, "b_name", - HOFFSET(Array1Struct, b), str_array_id); + HOFFSET(Array1Struct, b), str_array_id); HDassert(status >= 0); status = H5Tinsert(Array1Structid, "c_name", - HOFFSET(Array1Struct, c), array1_tid); + HOFFSET(Array1Struct, c), array1_tid); HDassert(status >= 0); status = H5Tinsert(Array1Structid, "d_name", - HOFFSET(Array1Struct, d), array2_tid); + HOFFSET(Array1Struct, d), array2_tid); HDassert(status >= 0); status = H5Tinsert(Array1Structid, "e_name", - HOFFSET(Array1Struct, e), H5T_NATIVE_FLOAT); + HOFFSET(Array1Struct, e), H5T_NATIVE_FLOAT); HDassert(status >= 0); status = H5Tinsert(Array1Structid, "f_name", - HOFFSET(Array1Struct, f), array4_tid); + HOFFSET(Array1Struct, f), array4_tid); HDassert(status >= 0); status = H5Tinsert(Array1Structid, "g_name", - HOFFSET(Array1Struct, g), H5T_NATIVE_CHAR); + HOFFSET(Array1Struct, g), H5T_NATIVE_CHAR); HDassert(status >= 0); /* Create the dataset */ dataset = H5Dcreate2(datafile, F41_DATASETNAME, Array1Structid, - dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); /* Write data to the dataset */ status = H5Dwrite(dataset, Array1Structid, H5S_ALL, H5S_ALL, - H5P_DEFAULT, Array1); + H5P_DEFAULT, Array1); HDassert(status >= 0); /* Release resources */ @@ -5007,106 +5008,106 @@ static void gent_compound_complex(void) static void gent_named_dtype_attr(void) { - hid_t fid; - hid_t did; - hid_t sid; - hid_t tid; - hid_t aid; - hid_t gid; - int data=8; - herr_t ret; - - /* Create a file */ - fid=H5Fcreate(FILE42, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>0); + hid_t fid; + hid_t did; + hid_t sid; + hid_t tid; + hid_t aid; + hid_t gid; + int data=8; + herr_t ret; -/*------------------------------------------------------------------------- - * datatype - *------------------------------------------------------------------------- - */ + /* Create a file */ + fid=H5Fcreate(FILE42, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid>0); - /* Create a datatype to commit and use */ - tid=H5Tcopy(H5T_NATIVE_INT); - HDassert(tid>0); + /*------------------------------------------------------------------------- + * datatype + *------------------------------------------------------------------------- + */ - /* Commit datatype to file */ - ret = H5Tcommit2(fid, F42_TYPENAME, tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - HDassert(ret >= 0); + /* Create a datatype to commit and use */ + tid=H5Tcopy(H5T_NATIVE_INT); + HDassert(tid>0); - /* Create a hard link to the datatype */ - ret = H5Lcreate_hard(fid, F42_TYPENAME, fid, F42_LINKNAME, H5P_DEFAULT, H5P_DEFAULT); - HDassert(ret >= 0); + /* Commit datatype to file */ + ret = H5Tcommit2(fid, F42_TYPENAME, tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + HDassert(ret >= 0); - /* Create a scalar dataspace used for all objects */ - sid = H5Screate(H5S_SCALAR); - HDassert(sid > 0); + /* Create a hard link to the datatype */ + ret = H5Lcreate_hard(fid, F42_TYPENAME, fid, F42_LINKNAME, H5P_DEFAULT, H5P_DEFAULT); + HDassert(ret >= 0); - /* Create attribute on commited datatype */ - aid = H5Acreate2(tid, F42_ATTRNAME, H5T_STD_I32LE, sid, H5P_DEFAULT, H5P_DEFAULT); - HDassert(aid > 0); + /* Create a scalar dataspace used for all objects */ + sid = H5Screate(H5S_SCALAR); + HDassert(sid > 0); - /* Write data into the attribute */ - ret = H5Awrite(aid, H5T_NATIVE_INT, &data); - HDassert(ret >= 0); + /* Create attribute on commited datatype */ + aid = H5Acreate2(tid, F42_ATTRNAME, H5T_STD_I32LE, sid, H5P_DEFAULT, H5P_DEFAULT); + HDassert(aid > 0); -/*------------------------------------------------------------------------- - * dataset - *------------------------------------------------------------------------- - */ + /* Write data into the attribute */ + ret = H5Awrite(aid, H5T_NATIVE_INT, &data); + HDassert(ret >= 0); - /* Create dataset */ - did = H5Dcreate2(fid, F42_DSETNAME, tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - HDassert(did > 0); + /*------------------------------------------------------------------------- + * dataset + *------------------------------------------------------------------------- + */ - /* Create attribute on dataset */ - aid = H5Acreate2(did, F42_ATTRNAME, tid, sid, H5P_DEFAULT, H5P_DEFAULT); - HDassert(aid > 0); + /* Create dataset */ + did = H5Dcreate2(fid, F42_DSETNAME, tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + HDassert(did > 0); - /* Write data into the attribute */ - ret = H5Awrite(aid, H5T_NATIVE_INT, &data); - HDassert(ret >= 0); + /* Create attribute on dataset */ + aid = H5Acreate2(did, F42_ATTRNAME, tid, sid, H5P_DEFAULT, H5P_DEFAULT); + HDassert(aid > 0); -/*------------------------------------------------------------------------- - * group - *------------------------------------------------------------------------- - */ + /* Write data into the attribute */ + ret = H5Awrite(aid, H5T_NATIVE_INT, &data); + HDassert(ret >= 0); - /* Create a group */ - gid = H5Gcreate2(fid, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - HDassert(gid > 0); + /*------------------------------------------------------------------------- + * group + *------------------------------------------------------------------------- + */ - /* Create attribute on group */ - aid = H5Acreate2(gid, F42_ATTRNAME, tid, sid, H5P_DEFAULT, H5P_DEFAULT); - HDassert(aid > 0); + /* Create a group */ + gid = H5Gcreate2(fid, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + HDassert(gid > 0); - /* Write data into the attribute */ - ret = H5Awrite(aid, H5T_NATIVE_INT, &data); - HDassert(ret >= 0); + /* Create attribute on group */ + aid = H5Acreate2(gid, F42_ATTRNAME, tid, sid, H5P_DEFAULT, H5P_DEFAULT); + HDassert(aid > 0); -/*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ + /* Write data into the attribute */ + ret = H5Awrite(aid, H5T_NATIVE_INT, &data); + HDassert(ret >= 0); - /* Close attribute */ - ret = H5Aclose(aid); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * close + *------------------------------------------------------------------------- + */ + + /* Close attribute */ + ret = H5Aclose(aid); + HDassert(ret >= 0); - /* Close dataset */ - ret = H5Dclose(did); - HDassert(ret >= 0); + /* Close dataset */ + ret = H5Dclose(did); + HDassert(ret >= 0); - /* Close dataspace */ - ret = H5Sclose(sid); - HDassert(ret >= 0); + /* Close dataspace */ + ret = H5Sclose(sid); + HDassert(ret >= 0); - /* Close datatype */ - ret = H5Tclose(tid); - HDassert(ret >= 0); + /* Close datatype */ + ret = H5Tclose(tid); + HDassert(ret >= 0); - /* Close file */ - ret = H5Fclose(fid); - HDassert(ret >= 0); + /* Close file */ + ret = H5Fclose(fid); + HDassert(ret >= 0); } @@ -5165,7 +5166,7 @@ static void gent_zero_dim_size(void) /* dataset */ dataset = H5Dcreate2(fid, "dset of 0 dimension size", H5T_STD_I32BE, space, H5P_DEFAULT, - H5P_DEFAULT, H5P_DEFAULT); + H5P_DEFAULT, H5P_DEFAULT); /* nothing should be written */ H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &dset_buf); @@ -5189,11 +5190,11 @@ static void gent_zero_dim_size(void) */ static int make_dset(hid_t loc_id, - const char *name, - hid_t sid, - hid_t tid, - hid_t dcpl, - void *buf) + const char *name, + hid_t sid, + hid_t tid, + hid_t dcpl, + void *buf) { hid_t dsid; @@ -5211,7 +5212,7 @@ int make_dset(hid_t loc_id, return 0; -out: + out: H5E_BEGIN_TRY { H5Dclose(dsid); } H5E_END_TRY; @@ -5230,38 +5231,38 @@ out: static void make_external(hid_t fid) { - hid_t dcpl; /*dataset creation property list */ - hid_t sid; /*dataspace ID */ - hid_t dsid; /*dataset ID */ - hsize_t cur_size[1]; /*data space current size */ - hsize_t max_size[1]; /*data space maximum size */ - hsize_t size; /*bytes reserved for data in the external file*/ - int ret; + hid_t dcpl; /*dataset creation property list */ + hid_t sid; /*dataspace ID */ + hid_t dsid; /*dataset ID */ + hsize_t cur_size[1]; /*data space current size */ + hsize_t max_size[1]; /*data space maximum size */ + hsize_t size; /*bytes reserved for data in the external file*/ + int ret; - cur_size[0] = max_size[0] = 100; - size = (max_size[0]*sizeof(int)/2); + cur_size[0] = max_size[0] = 100; + size = (max_size[0]*sizeof(int)/2); - dcpl = H5Pcreate(H5P_DATASET_CREATE); - ret = H5Pset_external(dcpl, "ext1.bin", (off_t)0, size); - HDassert(ret >= 0); + dcpl = H5Pcreate(H5P_DATASET_CREATE); + ret = H5Pset_external(dcpl, "ext1.bin", (off_t)0, size); + HDassert(ret >= 0); - ret = H5Pset_external(dcpl, "ext2.bin", (off_t)0, size); - HDassert(ret >= 0); + ret = H5Pset_external(dcpl, "ext2.bin", (off_t)0, size); + HDassert(ret >= 0); - sid = H5Screate_simple(1, cur_size, max_size); - HDassert(ret >= 0); + sid = H5Screate_simple(1, cur_size, max_size); + HDassert(ret >= 0); - dsid = H5Dcreate2(fid, "external", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT); - HDassert(ret >= 0); + dsid = H5Dcreate2(fid, "external", H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT); + HDassert(ret >= 0); - H5Dclose(dsid); - HDassert(ret >= 0); + H5Dclose(dsid); + HDassert(ret >= 0); - H5Sclose(sid); - HDassert(ret >= 0); + H5Sclose(sid); + HDassert(ret >= 0); - H5Pclose(dcpl); - HDassert(ret >= 0); + H5Pclose(dcpl); + HDassert(ret >= 0); } /*------------------------------------------------------------------------- @@ -5273,312 +5274,312 @@ make_external(hid_t fid) */ static void gent_filters(void) { - hid_t fid; /* file id */ - hid_t dcpl; /* dataset creation property list */ - hid_t sid; /* dataspace ID */ - hid_t tid; /* datatype ID */ + hid_t fid; /* file id */ + hid_t dcpl; /* dataset creation property list */ + hid_t sid; /* dataspace ID */ + hid_t tid; /* datatype ID */ #ifdef H5_HAVE_FILTER_SZIP - unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK; - unsigned szip_pixels_per_block=4; + unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK; + unsigned szip_pixels_per_block=4; #endif /* H5_HAVE_FILTER_SZIP */ - hsize_t dims1[RANK] = {DIM1,DIM2}; - hsize_t chunk_dims[RANK] = {CDIM1,CDIM2}; - int buf1[DIM1][DIM2]; - int i, j, n, ret; - - for(i=n=0; i=0); + /* create a file */ + fid = H5Fcreate(FILE44, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid>=0); - /* create a space */ - sid = H5Screate_simple(SPACE2_RANK, dims1, NULL); + /* create a space */ + sid = H5Screate_simple(SPACE2_RANK, dims1, NULL); - /* create a dataset creation property list; the same DCPL is used for all dsets */ - dcpl = H5Pcreate(H5P_DATASET_CREATE); + /* create a dataset creation property list; the same DCPL is used for all dsets */ + dcpl = H5Pcreate(H5P_DATASET_CREATE); -/*------------------------------------------------------------------------- - * create a compact and contiguous storage layout dataset - * add a comment to the datasets - *------------------------------------------------------------------------- - */ - ret = H5Pset_layout(dcpl, H5D_COMPACT); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * create a compact and contiguous storage layout dataset + * add a comment to the datasets + *------------------------------------------------------------------------- + */ + ret = H5Pset_layout(dcpl, H5D_COMPACT); + HDassert(ret >= 0); - ret=make_dset(fid,"compact",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + ret=make_dset(fid,"compact",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); - ret = H5Oset_comment_by_name(fid, "compact", "This is a dataset with compact storage", H5P_DEFAULT); - HDassert(ret >= 0); + ret = H5Oset_comment_by_name(fid, "compact", "This is a dataset with compact storage", H5P_DEFAULT); + HDassert(ret >= 0); - ret = H5Pset_layout(dcpl, H5D_CONTIGUOUS); - HDassert(ret >= 0); + ret = H5Pset_layout(dcpl, H5D_CONTIGUOUS); + HDassert(ret >= 0); - ret=make_dset(fid,"contiguous",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + ret=make_dset(fid,"contiguous",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); - ret = H5Oset_comment_by_name(fid, "contiguous", "This is a dataset with contiguous storage", H5P_DEFAULT); - HDassert(ret >= 0); + ret = H5Oset_comment_by_name(fid, "contiguous", "This is a dataset with contiguous storage", H5P_DEFAULT); + HDassert(ret >= 0); - ret = H5Pset_layout(dcpl, H5D_CHUNKED); - HDassert(ret >= 0); + ret = H5Pset_layout(dcpl, H5D_CHUNKED); + HDassert(ret >= 0); - ret = H5Pset_chunk(dcpl, SPACE2_RANK, chunk_dims); - HDassert(ret >= 0); + ret = H5Pset_chunk(dcpl, SPACE2_RANK, chunk_dims); + HDassert(ret >= 0); - ret=make_dset(fid,"chunked",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + ret=make_dset(fid,"chunked",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); - ret = H5Oset_comment_by_name(fid, "chunked", "This is a dataset with chunked storage", H5P_DEFAULT); - HDassert(ret >= 0); + ret = H5Oset_comment_by_name(fid, "chunked", "This is a dataset with chunked storage", H5P_DEFAULT); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * make several dataset with filters - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * make several dataset with filters + *------------------------------------------------------------------------- + */ - /* set up chunk */ - ret = H5Pset_chunk(dcpl, SPACE2_RANK, chunk_dims); - HDassert(ret >= 0); + /* set up chunk */ + ret = H5Pset_chunk(dcpl, SPACE2_RANK, chunk_dims); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * SZIP - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * SZIP + *------------------------------------------------------------------------- + */ #ifdef H5_HAVE_FILTER_SZIP - if(h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { - /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); - HDassert(ret >= 0); - - /* set szip data */ - ret = H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block); - HDassert(ret >= 0); - - ret=make_dset(fid,"szip",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); - } + if(h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { + /* remove the filters from the dcpl */ + ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + HDassert(ret >= 0); + + /* set szip data */ + ret = H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block); + HDassert(ret >= 0); + + ret=make_dset(fid,"szip",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); + } #endif /* H5_HAVE_FILTER_SZIP */ -/*------------------------------------------------------------------------- - * GZIP - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * GZIP + *------------------------------------------------------------------------- + */ #if defined (H5_HAVE_FILTER_DEFLATE) - /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); - HDassert(ret >= 0); + /* remove the filters from the dcpl */ + ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + HDassert(ret >= 0); - /* set deflate data */ - ret = H5Pset_deflate(dcpl, 9); - HDassert(ret >= 0); + /* set deflate data */ + ret = H5Pset_deflate(dcpl, 9); + HDassert(ret >= 0); - ret=make_dset(fid,"deflate",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + ret=make_dset(fid,"deflate",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); #endif -/*------------------------------------------------------------------------- - * shuffle - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * shuffle + *------------------------------------------------------------------------- + */ #if defined (H5_HAVE_FILTER_SHUFFLE) - /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); - HDassert(ret >= 0); + /* remove the filters from the dcpl */ + ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + HDassert(ret >= 0); - /* set the shuffle filter */ - ret = H5Pset_shuffle(dcpl); - HDassert(ret >= 0); + /* set the shuffle filter */ + ret = H5Pset_shuffle(dcpl); + HDassert(ret >= 0); - ret=make_dset(fid,"shuffle",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + ret=make_dset(fid,"shuffle",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); #endif -/*------------------------------------------------------------------------- - * checksum - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * checksum + *------------------------------------------------------------------------- + */ #if defined (H5_HAVE_FILTER_FLETCHER32) - /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); - HDassert(ret >= 0); + /* remove the filters from the dcpl */ + ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + HDassert(ret >= 0); - /* set the checksum filter */ - ret = H5Pset_fletcher32(dcpl); - HDassert(ret >= 0); + /* set the checksum filter */ + ret = H5Pset_fletcher32(dcpl); + HDassert(ret >= 0); - ret=make_dset(fid,"fletcher32",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + ret=make_dset(fid,"fletcher32",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); #endif -/*------------------------------------------------------------------------- - * nbit - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * nbit + *------------------------------------------------------------------------- + */ #if defined (H5_HAVE_FILTER_NBIT) - /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); - HDassert(ret >= 0); - - /* set the checksum filter */ - ret = H5Pset_nbit(dcpl); - HDassert(ret >= 0); - - tid=H5Tcopy(H5T_NATIVE_INT); - H5Tset_precision(tid,H5Tget_size(tid)-1); - ret=make_dset(fid,"nbit",sid,tid,dcpl,buf1); - HDassert(ret >= 0); + /* remove the filters from the dcpl */ + ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + HDassert(ret >= 0); + + /* set the checksum filter */ + ret = H5Pset_nbit(dcpl); + HDassert(ret >= 0); + + tid=H5Tcopy(H5T_NATIVE_INT); + H5Tset_precision(tid,H5Tget_size(tid)-1); + ret=make_dset(fid,"nbit",sid,tid,dcpl,buf1); + HDassert(ret >= 0); #endif -/*------------------------------------------------------------------------- - * scaleoffset - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * scaleoffset + *------------------------------------------------------------------------- + */ #if defined (H5_HAVE_FILTER_SCALEOFFSET) - /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); - HDassert(ret >= 0); + /* remove the filters from the dcpl */ + ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + HDassert(ret >= 0); - /* set the scaleoffset filter */ - ret = H5Pset_scaleoffset(dcpl,H5Z_SO_INT,(int)H5Tget_size(H5T_NATIVE_INT)); - HDassert(ret >= 0); + /* set the scaleoffset filter */ + ret = H5Pset_scaleoffset(dcpl,H5Z_SO_INT,(int)H5Tget_size(H5T_NATIVE_INT)); + HDassert(ret >= 0); - ret=make_dset(fid,"scaleoffset",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + ret=make_dset(fid,"scaleoffset",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); #endif -/*------------------------------------------------------------------------- - * all filters - *------------------------------------------------------------------------- - */ - /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * all filters + *------------------------------------------------------------------------- + */ + /* remove the filters from the dcpl */ + ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + HDassert(ret >= 0); #if defined (H5_HAVE_FILTER_SHUFFLE) - /* set the shuffle filter */ - ret = H5Pset_shuffle(dcpl); - HDassert(ret >= 0); + /* set the shuffle filter */ + ret = H5Pset_shuffle(dcpl); + HDassert(ret >= 0); #endif #ifdef H5_HAVE_FILTER_SZIP - if(h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { - szip_options_mask=H5_SZIP_CHIP_OPTION_MASK | H5_SZIP_EC_OPTION_MASK; - /* set szip data */ - ret = H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block); - HDassert(ret >= 0); - } + if(h5tools_can_encode(H5Z_FILTER_SZIP) == 1) { + szip_options_mask=H5_SZIP_CHIP_OPTION_MASK | H5_SZIP_EC_OPTION_MASK; + /* set szip data */ + ret = H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block); + HDassert(ret >= 0); + } #endif /* H5_HAVE_FILTER_SZIP */ #if defined (H5_HAVE_FILTER_DEFLATE) - /* set deflate data */ - ret = H5Pset_deflate(dcpl, 5); - HDassert(ret >= 0); + /* set deflate data */ + ret = H5Pset_deflate(dcpl, 5); + HDassert(ret >= 0); #endif #if defined (H5_HAVE_FILTER_FLETCHER32) - /* set the checksum filter */ - ret = H5Pset_fletcher32(dcpl); - HDassert(ret >= 0); + /* set the checksum filter */ + ret = H5Pset_fletcher32(dcpl); + HDassert(ret >= 0); #endif #if defined (H5_HAVE_FILTER_NBIT) - /* set the nbit filter */ - ret = H5Pset_nbit(dcpl); - HDassert(ret >= 0); + /* set the nbit filter */ + ret = H5Pset_nbit(dcpl); + HDassert(ret >= 0); #endif - ret=make_dset(fid,"all",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + ret=make_dset(fid,"all",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * user defined filter - *------------------------------------------------------------------------- - */ - /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * user defined filter + *------------------------------------------------------------------------- + */ + /* remove the filters from the dcpl */ + ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + HDassert(ret >= 0); - ret = H5Zregister (H5Z_MYFILTER); - HDassert(ret >= 0); + ret = H5Zregister (H5Z_MYFILTER); + HDassert(ret >= 0); - ret = H5Pset_filter (dcpl, MYFILTER_ID, 0, 0, NULL); - HDassert(ret >= 0); + ret = H5Pset_filter (dcpl, MYFILTER_ID, 0, 0, NULL); + HDassert(ret >= 0); - ret=make_dset(fid,"myfilter",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + ret=make_dset(fid,"myfilter",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); - /* remove the filters from the dcpl */ - ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); - HDassert(ret >= 0); + /* remove the filters from the dcpl */ + ret = H5Premove_filter(dcpl,H5Z_FILTER_ALL); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * make an external dataset - *------------------------------------------------------------------------- - */ - make_external(fid); + /*------------------------------------------------------------------------- + * make an external dataset + *------------------------------------------------------------------------- + */ + make_external(fid); -/*------------------------------------------------------------------------- - * H5D_ALLOC_TIME_EARLY - *------------------------------------------------------------------------- - */ - ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY); - HDassert(ret >= 0); - ret=make_dset(fid,"alloc_time_early",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * H5D_ALLOC_TIME_EARLY + *------------------------------------------------------------------------- + */ + ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY); + HDassert(ret >= 0); + ret=make_dset(fid,"alloc_time_early",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * H5D_ALLOC_TIME_INCR - *------------------------------------------------------------------------- - */ - ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_INCR); - HDassert(ret >= 0); - ret=make_dset(fid,"alloc_time_incr",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * H5D_ALLOC_TIME_INCR + *------------------------------------------------------------------------- + */ + ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_INCR); + HDassert(ret >= 0); + ret=make_dset(fid,"alloc_time_incr",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * H5D_ALLOC_TIME_LATE - *------------------------------------------------------------------------- - */ - ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_LATE); - HDassert(ret >= 0); - ret=make_dset(fid,"alloc_time_late",sid,H5T_NATIVE_INT,dcpl,buf1); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * H5D_ALLOC_TIME_LATE + *------------------------------------------------------------------------- + */ + ret = H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_LATE); + HDassert(ret >= 0); + ret=make_dset(fid,"alloc_time_late",sid,H5T_NATIVE_INT,dcpl,buf1); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * commit a H5G_TYPE type with a comment - *------------------------------------------------------------------------- - */ - tid = H5Tcopy(H5T_STD_B8LE); - ret = H5Tcommit2(fid, "mytype", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * commit a H5G_TYPE type with a comment + *------------------------------------------------------------------------- + */ + tid = H5Tcopy(H5T_STD_B8LE); + ret = H5Tcommit2(fid, "mytype", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + HDassert(ret >= 0); - ret = H5Oset_comment_by_name(fid, "mytype", "This is a commited datatype", H5P_DEFAULT); - HDassert(ret >= 0); + ret = H5Oset_comment_by_name(fid, "mytype", "This is a commited datatype", H5P_DEFAULT); + HDassert(ret >= 0); - ret = H5Tclose(tid); - HDassert(ret >= 0); + ret = H5Tclose(tid); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ - ret = H5Sclose(sid); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * close + *------------------------------------------------------------------------- + */ + ret = H5Sclose(sid); + HDassert(ret >= 0); - ret = H5Pclose(dcpl); - HDassert(ret >= 0); + ret = H5Pclose(dcpl); + HDassert(ret >= 0); - ret = H5Fclose(fid); - HDassert(ret >= 0); + ret = H5Fclose(fid); + HDassert(ret >= 0); } @@ -5591,10 +5592,10 @@ static void gent_filters(void) */ static size_t myfilter(unsigned int UNUSED flags, size_t UNUSED cd_nelmts, - const unsigned int UNUSED *cd_values, size_t nbytes, - size_t UNUSED *buf_size, void UNUSED **buf) + const unsigned int UNUSED *cd_values, size_t nbytes, + size_t UNUSED *buf_size, void UNUSED **buf) { - return nbytes; + return nbytes; } @@ -5609,21 +5610,21 @@ myfilter(unsigned int UNUSED flags, size_t UNUSED cd_nelmts, static herr_t set_local_myfilter(hid_t dcpl_id, hid_t UNUSED tid, hid_t UNUSED sid) { - unsigned flags; /* Filter flags */ - size_t cd_nelmts = 0; /* Number of filter parameters */ - unsigned cd_values[2] = {5, 6}; /* Filter parameters */ + unsigned flags; /* Filter flags */ + size_t cd_nelmts = 0; /* Number of filter parameters */ + unsigned cd_values[2] = {5, 6}; /* Filter parameters */ - /* Get the filter's current parameters */ - if(H5Pget_filter_by_id2(dcpl_id, MYFILTER_ID, &flags, &cd_nelmts, cd_values, 0, NULL, NULL) < 0) - return(FAIL); + /* Get the filter's current parameters */ + if(H5Pget_filter_by_id2(dcpl_id, MYFILTER_ID, &flags, &cd_nelmts, cd_values, 0, NULL, NULL) < 0) + return(FAIL); - cd_nelmts = 2; + cd_nelmts = 2; - /* Modify the filter's parameters for this dataset */ - if(H5Pmodify_filter(dcpl_id, MYFILTER_ID, flags, cd_nelmts, cd_values) < 0) - return(FAIL); + /* Modify the filter's parameters for this dataset */ + if(H5Pmodify_filter(dcpl_id, MYFILTER_ID, flags, cd_nelmts, cd_values) < 0) + return(FAIL); - return(SUCCEED); + return(SUCCEED); } /*------------------------------------------------------------------------- @@ -5652,9 +5653,9 @@ static void gent_fcontents(void) /*------------------------------------------------------------------------- - * links - *------------------------------------------------------------------------- - */ + * links + *------------------------------------------------------------------------- + */ /* hard link to "dset" */ @@ -5703,9 +5704,9 @@ static void gent_fcontents(void) HDassert(ret >= 0); /*------------------------------------------------------------------------- - * datatypes - *------------------------------------------------------------------------- - */ + * datatypes + *------------------------------------------------------------------------- + */ tid = H5Tcopy(H5T_NATIVE_INT); ret = H5Tcommit2(fid, "mytype", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); HDassert(ret >= 0); @@ -5725,9 +5726,9 @@ static void gent_fcontents(void) /*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ + * close + *------------------------------------------------------------------------- + */ ret = H5Fclose(fid); @@ -5752,152 +5753,152 @@ static void gent_fcontents(void) */ static void gent_fvalues(void) { - /* compound datatype */ - typedef struct c_t - { - char a; - double b; - } c_t; - - - hid_t fid; /* file id */ - hid_t dcpl; /* dataset creation property list */ - hid_t sid; /* dataspace ID */ - hid_t tid; /* datatype ID */ - hid_t did; /* datasetID */ - hsize_t dims[1]={2}; - int buf[2]={1,2}; /* integer */ - int fillval1=-99; /* integer fill value */ - c_t buf2[2]={{1,2},{3,4}}; /* compound */ - c_t fillval2[1]={{1,2}}; /* compound fill value */ - hvl_t buf3[2]; /* vlen */ - hvl_t fillval3; /* vlen fill value */ - hsize_t dimarray[1]={3}; /* array dimension */ - int buf4[2][3]= {{1,2,3},{4,5,6}}; /* array */ - int ret; - - /* create a file */ - fid = H5Fcreate(FILE48, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); - - /* create a space */ - sid = H5Screate_simple(1, dims, NULL); - - /* create a dataset creation property list */ - dcpl = H5Pcreate(H5P_DATASET_CREATE); + /* compound datatype */ + typedef struct c_t + { + char a; + double b; + } c_t; + + + hid_t fid; /* file id */ + hid_t dcpl; /* dataset creation property list */ + hid_t sid; /* dataspace ID */ + hid_t tid; /* datatype ID */ + hid_t did; /* datasetID */ + hsize_t dims[1]={2}; + int buf[2]={1,2}; /* integer */ + int fillval1=-99; /* integer fill value */ + c_t buf2[2]={{1,2},{3,4}}; /* compound */ + c_t fillval2[1]={{1,2}}; /* compound fill value */ + hvl_t buf3[2]; /* vlen */ + hvl_t fillval3; /* vlen fill value */ + hsize_t dimarray[1]={3}; /* array dimension */ + int buf4[2][3]= {{1,2,3},{4,5,6}}; /* array */ + int ret; -/*------------------------------------------------------------------------- - * make datasets with fill value combinations - * H5D_FILL_TIME_IFSET - *------------------------------------------------------------------------- - */ - ret = H5Pset_fill_time(dcpl, H5D_FILL_TIME_IFSET); - HDassert(ret >= 0); + /* create a file */ + fid = H5Fcreate(FILE48, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid>=0); + + /* create a space */ + sid = H5Screate_simple(1, dims, NULL); - ret = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); - HDassert(ret >= 0); + /* create a dataset creation property list */ + dcpl = H5Pcreate(H5P_DATASET_CREATE); - ret=make_dset(fid,"fill_time_ifset",sid,H5T_NATIVE_INT,dcpl,buf); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * make datasets with fill value combinations + * H5D_FILL_TIME_IFSET + *------------------------------------------------------------------------- + */ + ret = H5Pset_fill_time(dcpl, H5D_FILL_TIME_IFSET); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * H5D_FILL_TIME_NEVER - *------------------------------------------------------------------------- - */ - ret = H5Pset_fill_time(dcpl, H5D_FILL_TIME_NEVER); - HDassert(ret >= 0); + ret = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); + HDassert(ret >= 0); - ret = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); - HDassert(ret >= 0); + ret=make_dset(fid,"fill_time_ifset",sid,H5T_NATIVE_INT,dcpl,buf); + HDassert(ret >= 0); - ret=make_dset(fid,"fill_time_never",sid,H5T_NATIVE_INT,dcpl,buf); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * H5D_FILL_TIME_NEVER + *------------------------------------------------------------------------- + */ + ret = H5Pset_fill_time(dcpl, H5D_FILL_TIME_NEVER); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * H5D_FILL_TIME_ALLOC - *------------------------------------------------------------------------- - */ - ret = H5Pset_fill_time(dcpl, H5D_FILL_TIME_ALLOC); - HDassert(ret >= 0); + ret = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); + HDassert(ret >= 0); - ret = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); - HDassert(ret >= 0); + ret=make_dset(fid,"fill_time_never",sid,H5T_NATIVE_INT,dcpl,buf); + HDassert(ret >= 0); - ret=make_dset(fid,"fill_time_alloc",sid,H5T_NATIVE_INT,dcpl,buf); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * H5D_FILL_TIME_ALLOC + *------------------------------------------------------------------------- + */ + ret = H5Pset_fill_time(dcpl, H5D_FILL_TIME_ALLOC); + HDassert(ret >= 0); - ret = H5Pclose(dcpl); - HDassert(ret >= 0); + ret = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval1); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * dataset with no fill value - *------------------------------------------------------------------------- - */ - write_dset(fid,1,dims,"no_fill",H5T_NATIVE_INT,buf); + ret=make_dset(fid,"fill_time_alloc",sid,H5T_NATIVE_INT,dcpl,buf); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * dataset with a H5T_COMPOUND fill value - *------------------------------------------------------------------------- - */ - dcpl = H5Pcreate(H5P_DATASET_CREATE); - tid = H5Tcreate (H5T_COMPOUND, sizeof(c_t)); - H5Tinsert(tid, "a", HOFFSET(c_t, a), H5T_NATIVE_CHAR); - H5Tinsert(tid, "b", HOFFSET(c_t, b), H5T_NATIVE_DOUBLE); - ret = H5Pset_fill_value(dcpl, tid, &fillval2); - HDassert(ret >= 0); - ret=make_dset(fid,"fill_compound",sid,tid,dcpl,buf2); - HDassert(ret >= 0); - ret = H5Tclose(tid); - HDassert(ret >= 0); - ret = H5Pclose(dcpl); - HDassert(ret >= 0); + ret = H5Pclose(dcpl); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * dataset with a H5T_VLEN fill value - *------------------------------------------------------------------------- - */ - buf3[0].len = 1; - buf3[0].p = HDmalloc( 1 * sizeof(int)); - ((int *)buf3[0].p)[0]=1; - buf3[1].len = 2; - buf3[1].p = HDmalloc(2 * sizeof(int)); - ((int *)buf3[1].p)[0] = 2; - ((int *)buf3[1].p)[1] = 3; - - tid = H5Tvlen_create(H5T_NATIVE_INT); - dcpl = H5Pcreate(H5P_DATASET_CREATE); - - fillval3.p=NULL; fillval3.len=0; - ret = H5Pset_fill_value(dcpl, tid, &fillval3); - HDassert(ret >= 0); - - did = H5Dcreate2(fid, "fill_vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - ret = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf3); - HDassert(ret >= 0); - ret = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf3); - HDassert(ret >= 0); - ret = H5Dclose(did); - ret = H5Tclose(tid); - ret = H5Pclose(dcpl); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * dataset with no fill value + *------------------------------------------------------------------------- + */ + write_dset(fid,1,dims,"no_fill",H5T_NATIVE_INT,buf); -/*------------------------------------------------------------------------- - * dataset with a H5T_ARRAY fill value - *------------------------------------------------------------------------- - */ - tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); - write_dset(fid, 1, dims, "fill_array", tid, buf4); - ret = H5Tclose(tid); + /*------------------------------------------------------------------------- + * dataset with a H5T_COMPOUND fill value + *------------------------------------------------------------------------- + */ + dcpl = H5Pcreate(H5P_DATASET_CREATE); + tid = H5Tcreate (H5T_COMPOUND, sizeof(c_t)); + H5Tinsert(tid, "a", HOFFSET(c_t, a), H5T_NATIVE_CHAR); + H5Tinsert(tid, "b", HOFFSET(c_t, b), H5T_NATIVE_DOUBLE); + ret = H5Pset_fill_value(dcpl, tid, &fillval2); + HDassert(ret >= 0); + ret=make_dset(fid,"fill_compound",sid,tid,dcpl,buf2); + HDassert(ret >= 0); + ret = H5Tclose(tid); + HDassert(ret >= 0); + ret = H5Pclose(dcpl); + HDassert(ret >= 0); + + /*------------------------------------------------------------------------- + * dataset with a H5T_VLEN fill value + *------------------------------------------------------------------------- + */ + buf3[0].len = 1; + buf3[0].p = HDmalloc( 1 * sizeof(int)); + ((int *)buf3[0].p)[0]=1; + buf3[1].len = 2; + buf3[1].p = HDmalloc(2 * sizeof(int)); + ((int *)buf3[1].p)[0] = 2; + ((int *)buf3[1].p)[1] = 3; + + tid = H5Tvlen_create(H5T_NATIVE_INT); + dcpl = H5Pcreate(H5P_DATASET_CREATE); + fillval3.p=NULL; fillval3.len=0; + ret = H5Pset_fill_value(dcpl, tid, &fillval3); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ - ret = H5Sclose(sid); - HDassert(ret >= 0); - ret = H5Fclose(fid); - HDassert(ret >= 0); + did = H5Dcreate2(fid, "fill_vlen", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + ret = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf3); + HDassert(ret >= 0); + ret = H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, buf3); + HDassert(ret >= 0); + ret = H5Dclose(did); + ret = H5Tclose(tid); + ret = H5Pclose(dcpl); + HDassert(ret >= 0); + + /*------------------------------------------------------------------------- + * dataset with a H5T_ARRAY fill value + *------------------------------------------------------------------------- + */ + tid = H5Tarray_create2(H5T_NATIVE_INT, 1, dimarray); + write_dset(fid, 1, dims, "fill_array", tid, buf4); + ret = H5Tclose(tid); + + + /*------------------------------------------------------------------------- + * close + *------------------------------------------------------------------------- + */ + ret = H5Sclose(sid); + HDassert(ret >= 0); + ret = H5Fclose(fid); + HDassert(ret >= 0); } @@ -5910,103 +5911,103 @@ static void gent_fvalues(void) */ static void gent_string(void) { - /* compound datatype */ - typedef struct c_t - { - int a; - char str[255]; - } c_t; - - hid_t fid; /* file id */ - hid_t sid; /* dataspace ID */ - hid_t tid; /* datatype ID */ - hid_t str_tid; /* datatype ID */ - hid_t did; /* dataset ID */ - char buf1[]={"quote \" backspace\b form feed\f new line\n tab\t new line\n carriage return\r"}; - const char *buf2[SPACE1_DIM1]= { - "Four score and seven\n years ago our forefathers brought forth on this continent a new nation,", - "conceived in liberty\n and dedicated to the proposition that all men are created equal.", - "Now we are engaged\n in a great civil war,", - "testing whether that\n nation or any nation so conceived and so dedicated can long endure." - }; - c_t buf3 = {24, "Four score and seven\n years ago our forefathers brought forth on this continent a new nation"}; - char buf4[] = {"Four score and seven\n years ago our forefathers brought forth on this continent a new nation"}; - hsize_t dims1[] = {1}; - hsize_t dims2[] = {SPACE1_DIM1}; - hsize_t dims4[1]; - int ret; - - dims4[0] = sizeof(buf4); - - /* create a file */ - fid = H5Fcreate(FILE49, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - HDassert(fid>=0); + /* compound datatype */ + typedef struct c_t + { + int a; + char str[255]; + } c_t; + + hid_t fid; /* file id */ + hid_t sid; /* dataspace ID */ + hid_t tid; /* datatype ID */ + hid_t str_tid; /* datatype ID */ + hid_t did; /* dataset ID */ + char buf1[]={"quote \" backspace\b form feed\f new line\n tab\t new line\n carriage return\r"}; + const char *buf2[SPACE1_DIM1]= { + "Four score and seven\n years ago our forefathers brought forth on this continent a new nation,", + "conceived in liberty\n and dedicated to the proposition that all men are created equal.", + "Now we are engaged\n in a great civil war,", + "testing whether that\n nation or any nation so conceived and so dedicated can long endure." + }; + c_t buf3 = {24, "Four score and seven\n years ago our forefathers brought forth on this continent a new nation"}; + char buf4[] = {"Four score and seven\n years ago our forefathers brought forth on this continent a new nation"}; + hsize_t dims1[] = {1}; + hsize_t dims2[] = {SPACE1_DIM1}; + hsize_t dims4[1]; + int ret; -/*------------------------------------------------------------------------- - * str1 - *------------------------------------------------------------------------- - */ + dims4[0] = sizeof(buf4); + + /* create a file */ + fid = H5Fcreate(FILE49, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + HDassert(fid>=0); + + /*------------------------------------------------------------------------- + * str1 + *------------------------------------------------------------------------- + */ - tid=H5Tcopy(H5T_C_S1); - ret = H5Tset_size(tid, sizeof(buf1)); - HDassert(ret >= 0); - write_dset(fid,1,dims1,"str1",tid,buf1); - HDassert(ret >= 0); - ret = H5Tclose(tid); - HDassert(ret >= 0); + tid=H5Tcopy(H5T_C_S1); + ret = H5Tset_size(tid, sizeof(buf1)); + HDassert(ret >= 0); + write_dset(fid,1,dims1,"str1",tid,buf1); + HDassert(ret >= 0); + ret = H5Tclose(tid); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * str2 - *------------------------------------------------------------------------- - */ - sid = H5Screate_simple(SPACE1_RANK, dims2, NULL); - tid = H5Tcopy(H5T_C_S1); - ret = H5Tset_size(tid, H5T_VARIABLE); - HDassert(ret >= 0); - did = H5Dcreate2(fid, "str2", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - ret = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf2); - HDassert(ret >= 0); - ret = H5Tclose(tid); - HDassert(ret >= 0); - ret = H5Dclose(did); - HDassert(ret >= 0); - ret = H5Sclose(sid); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * str2 + *------------------------------------------------------------------------- + */ + sid = H5Screate_simple(SPACE1_RANK, dims2, NULL); + tid = H5Tcopy(H5T_C_S1); + ret = H5Tset_size(tid, H5T_VARIABLE); + HDassert(ret >= 0); + did = H5Dcreate2(fid, "str2", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + ret = H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf2); + HDassert(ret >= 0); + ret = H5Tclose(tid); + HDassert(ret >= 0); + ret = H5Dclose(did); + HDassert(ret >= 0); + ret = H5Sclose(sid); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * str3 - *------------------------------------------------------------------------- - */ - sid = H5Screate_simple(SPACE1_RANK, dims1, NULL); - tid = H5Tcreate (H5T_COMPOUND, sizeof(c_t)); - str_tid = H5Tcopy( H5T_C_S1 ); - H5Tset_size( str_tid, 255 ); - H5Tinsert(tid, "a", HOFFSET(c_t, a), H5T_NATIVE_INT); - H5Tinsert(tid, "str", HOFFSET(c_t, str), str_tid ); - ret=make_dset(fid,"str3",sid,tid,H5P_DEFAULT,&buf3); - HDassert(ret >= 0); - ret = H5Tclose(tid); - HDassert(ret >= 0); - ret = H5Tclose(str_tid); - HDassert(ret >= 0); - ret = H5Sclose(sid); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * str3 + *------------------------------------------------------------------------- + */ + sid = H5Screate_simple(SPACE1_RANK, dims1, NULL); + tid = H5Tcreate (H5T_COMPOUND, sizeof(c_t)); + str_tid = H5Tcopy( H5T_C_S1 ); + H5Tset_size( str_tid, 255 ); + H5Tinsert(tid, "a", HOFFSET(c_t, a), H5T_NATIVE_INT); + H5Tinsert(tid, "str", HOFFSET(c_t, str), str_tid ); + ret=make_dset(fid,"str3",sid,tid,H5P_DEFAULT,&buf3); + HDassert(ret >= 0); + ret = H5Tclose(tid); + HDassert(ret >= 0); + ret = H5Tclose(str_tid); + HDassert(ret >= 0); + ret = H5Sclose(sid); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * str4 - *------------------------------------------------------------------------- - */ - sid = H5Screate_simple(SPACE1_RANK, dims4, NULL); - ret=make_dset(fid,"str4",sid,H5T_NATIVE_CHAR,H5P_DEFAULT,buf4); - ret = H5Sclose(sid); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * str4 + *------------------------------------------------------------------------- + */ + sid = H5Screate_simple(SPACE1_RANK, dims4, NULL); + ret=make_dset(fid,"str4",sid,H5T_NATIVE_CHAR,H5P_DEFAULT,buf4); + ret = H5Sclose(sid); + HDassert(ret >= 0); -/*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ - ret = H5Fclose(fid); - HDassert(ret >= 0); + /*------------------------------------------------------------------------- + * close + *------------------------------------------------------------------------- + */ + ret = H5Fclose(fid); + HDassert(ret >= 0); } @@ -6052,18 +6053,18 @@ static void gent_aindices(void) HDassert(fid>=0); /*------------------------------------------------------------------------- - * root datasets - *------------------------------------------------------------------------- - */ + * root datasets + *------------------------------------------------------------------------- + */ write_dset(fid,1,dims1,"1d",H5T_NATIVE_INT,buf1); write_dset(fid,2,dims2,"2d",H5T_NATIVE_INT,buf2); write_dset(fid,3,dims3,"3d",H5T_NATIVE_INT,buf3); write_dset(fid,4,dims4,"4d",H5T_NATIVE_INT,buf4); /*------------------------------------------------------------------------- - * test with group indentation - *------------------------------------------------------------------------- - */ + * test with group indentation + *------------------------------------------------------------------------- + */ gid[0] = H5Gcreate2(fid, "/g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); gid[1] = H5Gcreate2(fid, "g1/g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); gid[2] = H5Gcreate2(fid, "g1/g2/g3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); @@ -6078,9 +6079,9 @@ static void gent_aindices(void) H5Gclose(gid[i]); /*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ + * close + *------------------------------------------------------------------------- + */ ret = H5Fclose(fid); HDassert(ret >= 0); @@ -6146,45 +6147,45 @@ static void gent_longlinks(void) */ static int gent_ldouble(void) { - hid_t fid; - hid_t did; - hid_t tid; - hid_t sid; - hsize_t dims[1] = {3}; - long double buf[3] = {1,2,3}; + hid_t fid; + hid_t did; + hid_t tid; + hid_t sid; + hsize_t dims[1] = {3}; + long double buf[3] = {1,2,3}; - if((fid = H5Fcreate(FILE52, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) - goto error; + if((fid = H5Fcreate(FILE52, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + goto error; - if((sid = H5Screate_simple(1, dims, NULL)) < 0) - goto error; + if((sid = H5Screate_simple(1, dims, NULL)) < 0) + goto error; - if((tid = H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) - goto error; + if((tid = H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) + goto error; - if(H5Tget_size(tid) == 0) - goto error; + if(H5Tget_size(tid) == 0) + goto error; - if((did = H5Dcreate2(fid, "dset", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) - goto error; + if((did = H5Dcreate2(fid, "dset", tid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + goto error; - if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) - goto error; + if(H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) + goto error; - if(H5Sclose(sid) < 0) - goto error; - if(H5Tclose(tid) < 0) - goto error; - if(H5Dclose(did) < 0) - goto error; - if(H5Fclose(fid) < 0) - goto error; + if(H5Sclose(sid) < 0) + goto error; + if(H5Tclose(tid) < 0) + goto error; + if(H5Dclose(did) < 0) + goto error; + if(H5Fclose(fid) < 0) + goto error; - return 0; + return 0; -error: - printf("error !\n"); - return -1; + error: + printf("error !\n"); + return -1; } @@ -6203,48 +6204,48 @@ error: static void gent_binary(void) { - hid_t fid, sid, did, aid; - hsize_t dims[1] = {6}; - int ibuf[6] = {1,2,3,4,5,6}; - float fbuf[6] = {1,2,3,4,5,6}; - double dbuf[6] = {1,2,3,4,5,6}; + hid_t fid, sid, did, aid; + hsize_t dims[1] = {6}; + int ibuf[6] = {1,2,3,4,5,6}; + float fbuf[6] = {1,2,3,4,5,6}; + double dbuf[6] = {1,2,3,4,5,6}; - fid = H5Fcreate(FILE55, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - sid = H5Screate_simple(1, dims, NULL); + fid = H5Fcreate(FILE55, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); -/*------------------------------------------------------------------------- - * integer - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * integer + *------------------------------------------------------------------------- + */ - did = H5Dcreate2(fid, "integer", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ibuf); - H5Dclose(did); + did = H5Dcreate2(fid, "integer", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ibuf); + H5Dclose(did); -/*------------------------------------------------------------------------- - * float - *------------------------------------------------------------------------- - */ - did = H5Dcreate2(fid, "float", H5T_NATIVE_FLOAT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, fbuf); - H5Dclose(did); + /*------------------------------------------------------------------------- + * float + *------------------------------------------------------------------------- + */ + did = H5Dcreate2(fid, "float", H5T_NATIVE_FLOAT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, fbuf); + H5Dclose(did); -/*------------------------------------------------------------------------- - * double - *------------------------------------------------------------------------- - */ - did = H5Dcreate2(fid, "double", H5T_NATIVE_DOUBLE, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dbuf); - /* create an attribute */ - aid = H5Acreate2(did, "attr", H5T_NATIVE_DOUBLE, sid, H5P_DEFAULT, H5P_DEFAULT); - H5Aclose(aid); - H5Dclose(did); + /*------------------------------------------------------------------------- + * double + *------------------------------------------------------------------------- + */ + did = H5Dcreate2(fid, "double", H5T_NATIVE_DOUBLE, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dbuf); + /* create an attribute */ + aid = H5Acreate2(did, "attr", H5T_NATIVE_DOUBLE, sid, H5P_DEFAULT, H5P_DEFAULT); + H5Aclose(aid); + H5Dclose(did); - /* close */ - H5Sclose(sid); - H5Fclose(fid); + /* close */ + H5Sclose(sid); + H5Fclose(fid); } /*------------------------------------------------------------------------- @@ -6345,7 +6346,7 @@ gent_bigdims(void) return; -out: + out: printf("Error.....\n"); H5E_BEGIN_TRY { H5Pclose(dcpl); @@ -6421,10 +6422,10 @@ gent_group_creation_order(void) if((gcpl_id = H5Pcreate(H5P_GROUP_CREATE)) < 0) goto out; -/*------------------------------------------------------------------------- - * create a group "2" - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create a group "2" + *------------------------------------------------------------------------- + */ if((gid = H5Gcreate2(fid, "2", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) @@ -6460,7 +6461,7 @@ gent_group_creation_order(void) goto out; gid = -1; - if((gid = H5Gcreate2(fid, "2/a/a2/a22", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if((gid = H5Gcreate2(fid, "2/a/a2/a22", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; if(H5Gclose(gid) < 0) goto out; @@ -6472,10 +6473,10 @@ gent_group_creation_order(void) gid = -1; -/*------------------------------------------------------------------------- - * create a group "1" with H5P_CRT_ORDER_TRACKED set - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create a group "1" with H5P_CRT_ORDER_TRACKED set + *------------------------------------------------------------------------- + */ if(H5Pset_link_creation_order(gcpl_id, H5P_CRT_ORDER_TRACKED) < 0) goto out; @@ -6513,7 +6514,7 @@ gent_group_creation_order(void) goto out; gid = -1; - if((gid = H5Gcreate2(fid, "1/a/a2/a22", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + if((gid = H5Gcreate2(fid, "1/a/a2/a22", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; if(H5Gclose(gid) < 0) goto out; @@ -6537,7 +6538,7 @@ gent_group_creation_order(void) return; -out: + out: printf("Error.....\n"); H5E_BEGIN_TRY { H5Gclose(gid); @@ -6604,10 +6605,10 @@ gent_attr_creation_order(void) if((sid = H5Screate(H5S_SCALAR)) < 0) goto out; -/*------------------------------------------------------------------------- - * create a dataset with creation order tracked for attributes and atributes in it - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create a dataset with creation order tracked for attributes and atributes in it + *------------------------------------------------------------------------- + */ /* create a dataset */ if((did = H5Dcreate2(fid, "dt", H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, dcpl_id, H5P_DEFAULT)) < 0) @@ -6630,10 +6631,10 @@ gent_attr_creation_order(void) did = -1; -/*------------------------------------------------------------------------- - * create a dataset without creation order tracked for attributes and atributes in it - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create a dataset without creation order tracked for attributes and atributes in it + *------------------------------------------------------------------------- + */ /* create a dataset */ if((did = H5Dcreate2(fid, "d", H5T_NATIVE_UCHAR, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) @@ -6657,10 +6658,10 @@ gent_attr_creation_order(void) -/*------------------------------------------------------------------------- - * create a group with creation order tracked for attributes and atributes in it - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create a group with creation order tracked for attributes and atributes in it + *------------------------------------------------------------------------- + */ if((gid = H5Gcreate2(fid, "gt", H5P_DEFAULT, gcpl_id, H5P_DEFAULT)) < 0) goto out; @@ -6681,10 +6682,10 @@ gent_attr_creation_order(void) goto out; gid = -1; -/*------------------------------------------------------------------------- - * create a group without creation order tracked for attributes and atributes in it - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create a group without creation order tracked for attributes and atributes in it + *------------------------------------------------------------------------- + */ if((gid = H5Gcreate2(fid, "g", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto out; @@ -6705,10 +6706,10 @@ gent_attr_creation_order(void) goto out; gid = -1; -/*------------------------------------------------------------------------- - * create a named datatype with creation order tracked for attributes and atributes in it - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create a named datatype with creation order tracked for attributes and atributes in it + *------------------------------------------------------------------------- + */ if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) goto out; @@ -6732,10 +6733,10 @@ gent_attr_creation_order(void) goto out; tid = -1; -/*------------------------------------------------------------------------- - * create a named datatype without creation order tracked for attributes and atributes in it - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create a named datatype without creation order tracked for attributes and atributes in it + *------------------------------------------------------------------------- + */ if((tid = H5Tcopy(H5T_NATIVE_INT)) < 0) goto out; @@ -6759,10 +6760,10 @@ gent_attr_creation_order(void) goto out; tid = -1; -/*------------------------------------------------------------------------- - * add some attributes to the root group - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * add some attributes to the root group + *------------------------------------------------------------------------- + */ if((gid = H5Gopen2(fid, "/", H5P_DEFAULT)) < 0) goto out; @@ -6782,10 +6783,10 @@ gent_attr_creation_order(void) goto out; gid = -1; -/*------------------------------------------------------------------------- - * close - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * close + *------------------------------------------------------------------------- + */ if(H5Sclose(sid) < 0) goto out; sid = -1; @@ -6806,7 +6807,7 @@ gent_attr_creation_order(void) return; -out: + out: printf("Error.....\n"); H5E_BEGIN_TRY { H5Gclose(gid); @@ -6835,35 +6836,35 @@ out: static void gent_fpformat(void) { - hid_t fid, sid, did; - hsize_t dims[1] = {6}; - double dbuf[6] = {-0.1234567, 0.1234567, 0, 0, 0, 0}; - float fbuf[6] = {-0.1234567f, 0.1234567f, 0, 0, 0, 0}; + hid_t fid, sid, did; + hsize_t dims[1] = {6}; + double dbuf[6] = {-0.1234567, 0.1234567, 0, 0, 0, 0}; + float fbuf[6] = {-0.1234567f, 0.1234567f, 0, 0, 0, 0}; - fid = H5Fcreate(FILE60, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - sid = H5Screate_simple(1, dims, NULL); + fid = H5Fcreate(FILE60, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + sid = H5Screate_simple(1, dims, NULL); -/*------------------------------------------------------------------------- - * double - *------------------------------------------------------------------------- - */ - did = H5Dcreate2(fid, "double", H5T_NATIVE_DOUBLE, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dbuf); - H5Dclose(did); + /*------------------------------------------------------------------------- + * double + *------------------------------------------------------------------------- + */ + did = H5Dcreate2(fid, "double", H5T_NATIVE_DOUBLE, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dbuf); + H5Dclose(did); -/*------------------------------------------------------------------------- - * float - *------------------------------------------------------------------------- - */ - did = H5Dcreate2(fid, "float", H5T_NATIVE_FLOAT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, fbuf); - H5Dclose(did); + /*------------------------------------------------------------------------- + * float + *------------------------------------------------------------------------- + */ + did = H5Dcreate2(fid, "float", H5T_NATIVE_FLOAT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, fbuf); + H5Dclose(did); - /* close */ - H5Sclose(sid); - H5Fclose(fid); + /* close */ + H5Sclose(sid); + H5Fclose(fid); } /*------------------------------------------------------------------------- @@ -6878,75 +6879,75 @@ gent_fpformat(void) static void gent_extlinks(void) { - hid_t source_fid, target_fid, far_fid, sid, did, gid, gid2, tid; - hsize_t dims[1] = {6}; - int buf[6] = {1, 2, 3, 4, 5, 6}; + hid_t source_fid, target_fid, far_fid, sid, did, gid, gid2, tid; + hsize_t dims[1] = {6}; + int buf[6] = {1, 2, 3, 4, 5, 6}; - /* create two files, a source and a target */ - source_fid = H5Fcreate(FILE61, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - target_fid = H5Fcreate(FILE62, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - far_fid = H5Fcreate(FILE63, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + /* create two files, a source and a target */ + source_fid = H5Fcreate(FILE61, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + target_fid = H5Fcreate(FILE62, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + far_fid = H5Fcreate(FILE63, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); -/*------------------------------------------------------------------------- - * create Groups, a Dataset, a committed Datatype, external links, and a - * cycle in the target - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create Groups, a Dataset, a committed Datatype, external links, and a + * cycle in the target + *------------------------------------------------------------------------- + */ - gid = H5Gcreate2(target_fid, "group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Gclose(H5Gcreate2(target_fid, "empty_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)); - sid = H5Screate_simple(1, dims, NULL); - did = H5Dcreate2(gid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); - H5Lcreate_external(FILE61, "/", gid, "elink_t1", H5P_DEFAULT, H5P_DEFAULT); - H5Lcreate_external(FILE61, "/ext_link4", gid, "elink_t2", H5P_DEFAULT, H5P_DEFAULT); + gid = H5Gcreate2(target_fid, "group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Gclose(H5Gcreate2(target_fid, "empty_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)); + sid = H5Screate_simple(1, dims, NULL); + did = H5Dcreate2(gid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); + H5Lcreate_external(FILE61, "/", gid, "elink_t1", H5P_DEFAULT, H5P_DEFAULT); + H5Lcreate_external(FILE61, "/ext_link4", gid, "elink_t2", H5P_DEFAULT, H5P_DEFAULT); - gid2 = H5Gcreate2(gid, "subgroup", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Lcreate_hard(target_fid, "/group", gid2, "link_to_group", H5P_DEFAULT, H5P_DEFAULT); + gid2 = H5Gcreate2(gid, "subgroup", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Lcreate_hard(target_fid, "/group", gid2, "link_to_group", H5P_DEFAULT, H5P_DEFAULT); - H5Dclose(did); - H5Sclose(sid); - H5Gclose(gid2); - H5Gclose(gid); + H5Dclose(did); + H5Sclose(sid); + H5Gclose(gid2); + H5Gclose(gid); - sid = H5Screate_simple(1, dims, NULL); - did = H5Dcreate2(target_fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); - H5Dclose(did); - H5Sclose(sid); + sid = H5Screate_simple(1, dims, NULL); + did = H5Dcreate2(target_fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf); + H5Dclose(did); + H5Sclose(sid); - tid = H5Tcopy(H5T_NATIVE_INT); - H5Tcommit2(target_fid, "type", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - H5Tclose(tid); + tid = H5Tcopy(H5T_NATIVE_INT); + H5Tcommit2(target_fid, "type", tid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Tclose(tid); -/*------------------------------------------------------------------------- - * create external links in the source file pointing to the target objects - *------------------------------------------------------------------------- - */ + /*------------------------------------------------------------------------- + * create external links in the source file pointing to the target objects + *------------------------------------------------------------------------- + */ - H5Lcreate_external(FILE62, "group", source_fid, "ext_link1", H5P_DEFAULT, H5P_DEFAULT); - H5Lcreate_external(FILE62, "dset", source_fid, "ext_link2", H5P_DEFAULT, H5P_DEFAULT); - H5Lcreate_external(FILE62, "type", source_fid, "ext_link3", H5P_DEFAULT, H5P_DEFAULT); - H5Lcreate_external(FILE62, "group/elink_t2", source_fid, "ext_link4", H5P_DEFAULT, H5P_DEFAULT); - H5Lcreate_external(FILE62, "empty_group", source_fid, "ext_link5", H5P_DEFAULT, H5P_DEFAULT); -/* external link to soft link which linked to a dataset */ - H5Lcreate_external(FILE4_1, "/soft_dset1", source_fid, "ext2soft_link1", H5P_DEFAULT, H5P_DEFAULT); + H5Lcreate_external(FILE62, "group", source_fid, "ext_link1", H5P_DEFAULT, H5P_DEFAULT); + H5Lcreate_external(FILE62, "dset", source_fid, "ext_link2", H5P_DEFAULT, H5P_DEFAULT); + H5Lcreate_external(FILE62, "type", source_fid, "ext_link3", H5P_DEFAULT, H5P_DEFAULT); + H5Lcreate_external(FILE62, "group/elink_t2", source_fid, "ext_link4", H5P_DEFAULT, H5P_DEFAULT); + H5Lcreate_external(FILE62, "empty_group", source_fid, "ext_link5", H5P_DEFAULT, H5P_DEFAULT); + /* external link to soft link which linked to a dataset */ + H5Lcreate_external(FILE4_1, "/soft_dset1", source_fid, "ext2soft_link1", H5P_DEFAULT, H5P_DEFAULT); -/* external link to dangle soft link */ - H5Lcreate_external(FILE4_1, "/soft_dangle", source_fid, "ext2softdangle_link1", H5P_DEFAULT, H5P_DEFAULT); + /* external link to dangle soft link */ + H5Lcreate_external(FILE4_1, "/soft_dangle", source_fid, "ext2softdangle_link1", H5P_DEFAULT, H5P_DEFAULT); -/*------------------------------------------------------------------------- - * create external link in the "far" file pointing to the source file - *------------------------------------------------------------------------- - */ - H5Lcreate_external(FILE61, "/", far_fid, "src_file", H5P_DEFAULT, H5P_DEFAULT); + /*------------------------------------------------------------------------- + * create external link in the "far" file pointing to the source file + *------------------------------------------------------------------------- + */ + H5Lcreate_external(FILE61, "/", far_fid, "src_file", H5P_DEFAULT, H5P_DEFAULT); - /* close */ - H5Fclose(source_fid); - H5Fclose(target_fid); - H5Fclose(far_fid); + /* close */ + H5Fclose(source_fid); + H5Fclose(target_fid); + H5Fclose(far_fid); } /*------------------------------------------------------------------------- @@ -6959,21 +6960,21 @@ gent_extlinks(void) static void gent_fs_strategy_threshold(void) { - hid_t fid; /* File id */ - hid_t fcpl; /* File creation property */ + hid_t fid; /* File id */ + hid_t fcpl; /* File creation property */ - /* Create file-creation template */ - fcpl = H5Pcreate(H5P_FILE_CREATE); + /* Create file-creation template */ + fcpl = H5Pcreate(H5P_FILE_CREATE); - /* Set file space information */ - H5Pset_file_space(fcpl, STRATEGY, (hsize_t)THRESHOLD10); + /* Set file space information */ + H5Pset_file_space(fcpl, STRATEGY, (hsize_t)THRESHOLD10); - /* Create the file with the specified strategy and threshold */ - fid = H5Fcreate(FILE65, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT); + /* Create the file with the specified strategy and threshold */ + fid = H5Fcreate(FILE65, H5F_ACC_TRUNC, fcpl, H5P_DEFAULT); - /* close */ - H5Fclose(fid); - H5Pclose(fcpl); + /* close */ + H5Fclose(fid); + H5Pclose(fcpl); } /* @@ -7009,32 +7010,32 @@ gent_dataset_idx(void) fid = H5Fcreate(FILE68a, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); dcpl = H5Pcreate(H5P_DATASET_CREATE); - dims[0] = CHUNK; - dims[1] = CHUNK; + dims[0] = F68a_CHUNK; + dims[1] = F68a_CHUNK; /* set chunk */ ret = H5Pset_chunk(dcpl, RANK, dims); assert(ret >= 0); /* dataset with fixed dimensions */ - dims[0] = DIM20; - dims[1] = DIM10; + dims[0] = F68a_DIM20; + dims[1] = F68a_DIM10; space = H5Screate_simple(RANK, dims, NULL); - for(i = 0; i < DIM20; i++) - for(j = 0; j < DIM10; j++) + for(i = 0; i < F68a_DIM20; i++) + for(j = 0; j < F68a_DIM10; j++) buf[i][j] = j; - ret = make_dset(fid, DSET_FIXED, space, H5T_NATIVE_INT, dcpl, buf); + ret = make_dset(fid, F68a_DSET_FIXED, space, H5T_NATIVE_INT, dcpl, buf); assert(ret >= 0); H5Sclose(space); /* dataset with non-fixed dimensions */ - maxdims[0] = DIM200; - maxdims[1] = DIM100; + maxdims[0] = F68a_DIM200; + maxdims[1] = F68a_DIM100; space = H5Screate_simple(RANK, dims, maxdims); - ret = make_dset(fid, DSET_BTREE, space, H5T_NATIVE_INT, dcpl, buf); + ret = make_dset(fid, F68a_DSET_BTREE, space, H5T_NATIVE_INT, dcpl, buf); assert(ret >= 0); H5Sclose(space); @@ -7050,7 +7051,7 @@ gent_dataset_idx(void) assert(ret >= 0); space = H5Screate_simple(RANK, dims, NULL); - ret = make_dset(fid, DSET_FIXED_FILTER, space, H5T_NATIVE_INT, dcpl, buf); + ret = make_dset(fid, F68a_DSET_FIXED_FILTER, space, H5T_NATIVE_INT, dcpl, buf); assert(ret >= 0); H5Sclose(space); @@ -7097,11 +7098,10 @@ gent_packedbits(void) valu8bits = (uint8_t) ~0u; /* all 1s */ for(i = 0; i < dims[0]; i++){ - dsetu8[i][0] = valu8bits; - for(j = 1; j < dims[1]; j++) { - dsetu8[i][j] = dsetu8[i][j-1] << 1; - } - valu8bits <<= 1; + dsetu8[i][0] = valu8bits; + for(j = 1; j < dims[1]; j++) + dsetu8[i][j] = dsetu8[i][j-1] << 1; + valu8bits <<= 1; } H5Dwrite(dataset, H5T_NATIVE_UINT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu8); @@ -7115,11 +7115,10 @@ gent_packedbits(void) valu16bits = (uint16_t) ~0u; /* all 1s */ for(i = 0; i < dims[0]; i++){ - dsetu16[i][0] = valu16bits; - for(j = 1; j < dims[1]; j++) { - dsetu16[i][j] = dsetu16[i][j-1] << 1; - } - valu16bits <<= 1; + dsetu16[i][0] = valu16bits; + for(j = 1; j < dims[1]; j++) + dsetu16[i][j] = dsetu16[i][j-1] << 1; + valu16bits <<= 1; } H5Dwrite(dataset, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu16); @@ -7133,11 +7132,10 @@ gent_packedbits(void) valu32bits = (uint32_t) ~0u; /* all 1s */ for(i = 0; i < dims[0]; i++){ - dsetu32[i][0] = valu32bits; - for(j = 1; j < dims[1]; j++) { - dsetu32[i][j] = dsetu32[i][j-1] << 1; - } - valu32bits <<= 1; + dsetu32[i][0] = valu32bits; + for(j = 1; j < dims[1]; j++) + dsetu32[i][j] = dsetu32[i][j-1] << 1; + valu32bits <<= 1; } H5Dwrite(dataset, H5T_NATIVE_UINT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu32); @@ -7151,11 +7149,10 @@ gent_packedbits(void) valu64bits = (uint64_t) ~0Lu; /* all 1s */ for(i = 0; i < dims[0]; i++){ - dsetu64[i][0] = valu64bits; - for(j = 1; j < dims[1]; j++) { - dsetu64[i][j] = dsetu64[i][j-1] << 1; - } - valu64bits <<= 1; + dsetu64[i][0] = valu64bits; + for(j = 1; j < dims[1]; j++) + dsetu64[i][j] = dsetu64[i][j-1] << 1; + valu64bits <<= 1; } H5Dwrite(dataset, H5T_NATIVE_UINT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetu64); @@ -7169,11 +7166,10 @@ gent_packedbits(void) val8bits = (int8_t) ~0; /* all 1s */ for(i = 0; i < dims[0]; i++){ - dset8[i][0] = val8bits; - for(j = 1; j < dims[1]; j++) { - dset8[i][j] = dset8[i][j-1] << 1; - } - val8bits <<= 1; + dset8[i][0] = val8bits; + for(j = 1; j < dims[1]; j++) + dset8[i][j] = dset8[i][j-1] << 1; + val8bits <<= 1; } H5Dwrite(dataset, H5T_NATIVE_INT8, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset8); @@ -7187,11 +7183,10 @@ gent_packedbits(void) val16bits = (int16_t) ~0; /* all 1s */ for(i = 0; i < dims[0]; i++){ - dset16[i][0] = val16bits; - for(j = 1; j < dims[1]; j++) { - dset16[i][j] = dset16[i][j-1] << 1; - } - val16bits <<= 1; + dset16[i][0] = val16bits; + for(j = 1; j < dims[1]; j++) + dset16[i][j] = dset16[i][j-1] << 1; + val16bits <<= 1; } H5Dwrite(dataset, H5T_NATIVE_INT16, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset16); @@ -7205,11 +7200,10 @@ gent_packedbits(void) val32bits = (int32_t) ~0; /* all 1s */ for(i = 0; i < dims[0]; i++){ - dset32[i][0] = val32bits; - for(j = 1; j < dims[1]; j++) { - dset32[i][j] = dset32[i][j-1] << 1; - } - val32bits <<= 1; + dset32[i][0] = val32bits; + for(j = 1; j < dims[1]; j++) + dset32[i][j] = dset32[i][j-1] << 1; + val32bits <<= 1; } H5Dwrite(dataset, H5T_NATIVE_INT32, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset32); @@ -7223,11 +7217,10 @@ gent_packedbits(void) val64bits = (int64_t) ~0L; /* all 1s */ for(i = 0; i < dims[0]; i++){ - dset64[i][0] = val64bits; - for(j = 1; j < dims[1]; j++) { - dset64[i][j] = dset64[i][j-1] << 1; - } - val64bits <<= 1; + dset64[i][0] = val64bits; + for(j = 1; j < dims[1]; j++) + dset64[i][j] = dset64[i][j-1] << 1; + val64bits <<= 1; } H5Dwrite(dataset, H5T_NATIVE_INT64, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset64); @@ -7240,8 +7233,8 @@ gent_packedbits(void) dataset = H5Dcreate2(fid, F66_DUMMYDBL, H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); for(i = 0; i < dims[0]; i++) - for(j = 0; j < dims[1]; j++) - dsetdbl[i][j] = 0.0001 * j + i; + for(j = 0; j < dims[1]; j++) + dsetdbl[i][j] = 0.0001 * j + i; H5Dwrite(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dsetdbl); @@ -7289,7 +7282,7 @@ gent_attr_intsize(void) for(i = 0; i < dims[0]; i++){ dsetu8[i][0] = valu8bits; for(j = 1; j < dims[1]; j++) { - dsetu8[i][j] = dsetu8[i][j-1] << 1; + dsetu8[i][j] = dsetu8[i][j-1] << 1; } valu8bits <<= 1; } @@ -7307,7 +7300,7 @@ gent_attr_intsize(void) for(i = 0; i < dims[0]; i++){ dsetu16[i][0] = valu16bits; for(j = 1; j < dims[1]; j++) { - dsetu16[i][j] = dsetu16[i][j-1] << 1; + dsetu16[i][j] = dsetu16[i][j-1] << 1; } valu16bits <<= 1; } @@ -7325,7 +7318,7 @@ gent_attr_intsize(void) for(i = 0; i < dims[0]; i++){ dsetu32[i][0] = valu32bits; for(j = 1; j < dims[1]; j++) { - dsetu32[i][j] = dsetu32[i][j-1] << 1; + dsetu32[i][j] = dsetu32[i][j-1] << 1; } valu32bits <<= 1; } @@ -7343,7 +7336,7 @@ gent_attr_intsize(void) for(i = 0; i < dims[0]; i++){ dsetu64[i][0] = valu64bits; for(j = 1; j < dims[1]; j++) { - dsetu64[i][j] = dsetu64[i][j-1] << 1; + dsetu64[i][j] = dsetu64[i][j-1] << 1; } valu64bits <<= 1; } @@ -7361,7 +7354,7 @@ gent_attr_intsize(void) for(i = 0; i < dims[0]; i++){ dset8[i][0] = val8bits; for(j = 1; j < dims[1]; j++) { - dset8[i][j] = dset8[i][j-1] << 1; + dset8[i][j] = dset8[i][j-1] << 1; } val8bits <<= 1; } @@ -7379,7 +7372,7 @@ gent_attr_intsize(void) for(i = 0; i < dims[0]; i++){ dset16[i][0] = val16bits; for(j = 1; j < dims[1]; j++) { - dset16[i][j] = dset16[i][j-1] << 1; + dset16[i][j] = dset16[i][j-1] << 1; } val16bits <<= 1; } @@ -7397,7 +7390,7 @@ gent_attr_intsize(void) for(i = 0; i < dims[0]; i++){ dset32[i][0] = val32bits; for(j = 1; j < dims[1]; j++) { - dset32[i][j] = dset32[i][j-1] << 1; + dset32[i][j] = dset32[i][j-1] << 1; } val32bits <<= 1; } @@ -7415,7 +7408,7 @@ gent_attr_intsize(void) for(i = 0; i < dims[0]; i++){ dset64[i][0] = val64bits; for(j = 1; j < dims[1]; j++) { - dset64[i][j] = dset64[i][j-1] << 1; + dset64[i][j] = dset64[i][j-1] << 1; } val64bits <<= 1; } @@ -7430,8 +7423,8 @@ gent_attr_intsize(void) attr = H5Acreate2(root, F66_DUMMYDBL, H5T_IEEE_F64BE, space, H5P_DEFAULT, H5P_DEFAULT); for(i = 0; i < dims[0]; i++) - for(j = 0; j < dims[1]; j++) - dsetdbl[i][j] = 0.0001 * j + i; + for(j = 0; j < dims[1]; j++) + dsetdbl[i][j] = 0.0001 * j + i; H5Awrite(attr, H5T_NATIVE_DOUBLE, dsetdbl); @@ -7463,22 +7456,26 @@ gent_charsets(void) const char *utf8_p_; } CharSetInfo; + hid_t charset_dtid; + hid_t ascii_dtid; + hid_t utf8_dtid = H5Tcreate( H5T_STRING, H5T_VARIABLE ); + const char * writeData[] = { "ascii", "utf8", }; + sid = H5Screate_simple( 1, dim, NULL ); fid = H5Fcreate( FILE68, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT ); - hid_t charset_dtid = H5Tcreate( H5T_COMPOUND, sizeof( CharSetInfo ) ); + charset_dtid = H5Tcreate( H5T_COMPOUND, sizeof( CharSetInfo ) ); - hid_t ascii_dtid = H5Tcreate( H5T_STRING, H5T_VARIABLE ); + ascii_dtid = H5Tcreate( H5T_STRING, H5T_VARIABLE ); status = H5Tset_cset( ascii_dtid, H5T_CSET_ASCII ); H5Tinsert( charset_dtid, "ascii", HOFFSET(CharSetInfo, ascii_p_ ), ascii_dtid ); - hid_t utf8_dtid = H5Tcreate( H5T_STRING, H5T_VARIABLE ); + utf8_dtid = H5Tcreate( H5T_STRING, H5T_VARIABLE ); status = H5Tset_cset( utf8_dtid, H5T_CSET_UTF8 ); H5Tinsert( charset_dtid, "utf8", HOFFSET( CharSetInfo, utf8_p_ ), utf8_dtid ); did = H5Dcreate2( fid, "CharSets", charset_dtid, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ); - const char * writeData[] = { "ascii", "utf8", }; status = H5Dwrite( did, charset_dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, writeData ); H5Tclose( charset_dtid ); @@ -7636,8 +7633,8 @@ static void gent_compound_intsizes(void) { dims[0] = F70_XDIM; dims[1] = F70_YDIM8; for(n = 0; n < dims[0]; n++) - for(o = 0; o < dims[1]; o++) - Array1[m].dsetdbl[n][o] = 0.0001 * o + n; + for(o = 0; o < dims[1]; o++) + Array1[m].dsetdbl[n][o] = 0.0001 * o + n; } /* Create the array data type for the 8 bits signed int array */ @@ -7911,8 +7908,8 @@ static void gent_compound_attr_intsizes(void) { dims[0] = F70_XDIM; dims[1] = F70_YDIM8; for(n = 0; n < dims[0]; n++) - for(o = 0; o < dims[1]; o++) - Array1[m].dsetdbl[n][o] = 0.0001 * o + n; + for(o = 0; o < dims[1]; o++) + Array1[m].dsetdbl[n][o] = 0.0001 * o + n; } /* Create the array data type for the 8 bits signed int array */ @@ -8041,6 +8038,155 @@ static void gent_compound_attr_intsizes(void) { HDassert(status >= 0); } +static void gent_nested_compound_dt(void) { /* test nested data type */ + hid_t fid, group, dataset, space, type, create_plist, type1, type2; + hid_t array_dt, enum_dt; + enumtype val; + + typedef struct { + int a; + float b; + } dset1_t; + dset1_t dset1[10]; + + typedef struct { + int a; + float b; + enumtype c; + } dset2_t; + dset2_t dset2[10]; + + typedef struct { + int a[5]; + float b[5][6]; + dset1_t c; + } dset3_t; + dset3_t dset3[10]; + + enumtype dset4[] = {RED, GREEN, BLUE, GREEN, WHITE, BLUE}; + dset1_t dset5[10]; + + int i, j, k; + unsigned ndims; + hsize_t dim[2]; + + hsize_t sdim, maxdim; + + sdim = 10; + for(i = 0; i < (int)sdim; i++) { + dset1[i].a = i; + dset1[i].b = (float)(i*i); + + dset2[i].a = i; + dset2[i].b = (float)(i+i*0.1); + dset2[i].c = GREEN; + + for(j = 0; j < 5; j++) { + dset3[i].a[j] = i*j; + for(k = 0; k < 6; k++) { + dset3[i].b[j][k] = (float)(i*j*k*1.0); + } + } + dset3[i].c.a = i; + dset3[i].c.b = (float)(i*1.0); + } + + fid = H5Fcreate(FILE72, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + + create_plist = H5Pcreate(H5P_DATASET_CREATE); + + sdim = 2; + H5Pset_chunk(create_plist, 1, &sdim); + + + sdim = 6; + maxdim = H5S_UNLIMITED; + + space = H5Screate_simple(1, &sdim, &maxdim); + + type = H5Tcreate (H5T_COMPOUND, sizeof(dset1[0])); + H5Tinsert(type, "a_name", HOFFSET(dset1_t, a), H5T_STD_I32LE); + H5Tinsert(type, "b_name", HOFFSET(dset1_t, b), H5T_IEEE_F32LE); + + dataset = H5Dcreate2(fid, "/dset1", type, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); + + H5Dwrite(dataset, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); + + H5Tclose(type); + H5Dclose(dataset); + + /* Create the shared enumerated datatype. */ + enum_dt = H5Tenum_create (H5T_NATIVE_INT); + val = (enumtype) RED; + H5Tenum_insert (enum_dt, "Red", &val); + val = (enumtype) GREEN; + H5Tenum_insert (enum_dt, "Green", &val); + val = (enumtype) BLUE; + H5Tenum_insert (enum_dt, "Blue", &val); + val = (enumtype) WHITE; + H5Tenum_insert (enum_dt, "White", &val); + val = (enumtype) BLACK; + H5Tenum_insert (enum_dt, "Black", &val); + H5Tcommit2(fid, "enumtype", enum_dt, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset2[0])); + + H5Tinsert(type2, "a_name", HOFFSET(dset2_t, a), H5T_NATIVE_INT); + H5Tinsert(type2, "b_name", HOFFSET(dset2_t, b), H5T_NATIVE_FLOAT); + H5Tinsert(type2, "c_name", HOFFSET(dset2_t, c), enum_dt); + + dataset = H5Dcreate2(fid, "/dset2", type2, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); + + H5Dwrite(dataset, type2, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset2); + + H5Tclose(type2); + + dataset = H5Dcreate2(fid, "/dset4", enum_dt, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); + H5Dwrite(dataset, enum_dt, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset4); + + H5Tclose(enum_dt); + H5Dclose(dataset); + + /* shared data type 1 */ + type1 = H5Tcreate(H5T_COMPOUND, sizeof(dset1_t)); + H5Tinsert(type1, "int_name", HOFFSET(dset1_t, a), H5T_STD_I32LE); + H5Tinsert(type1, "float_name", HOFFSET(dset1_t, b), H5T_IEEE_F32LE); + H5Tcommit2(fid, "type1", type1, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + group = H5Gcreate2(fid, "/group1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + type2 = H5Tcreate (H5T_COMPOUND, sizeof(dset3_t)); + + ndims = 1; dim[0] = 5; + array_dt = H5Tarray_create2(H5T_STD_I32LE, ndims, dim); + H5Tinsert(type2, "int_name", HOFFSET(dset3_t, a), array_dt); + H5Tclose(array_dt); + + ndims = 2; dim[0] = 5; dim[1] = 6; + array_dt = H5Tarray_create2(H5T_IEEE_F32LE, ndims, dim); + H5Tinsert(type2, "float_name", HOFFSET(dset3_t, b), array_dt); + H5Tclose(array_dt); + + H5Tinsert (type2, "cmpd_name", HOFFSET (dset3_t, c), type1); + + dataset = H5Dcreate2(group, "dset3", type2, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); + + H5Dwrite(dataset, type2, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset3); + + dataset = H5Dcreate2(fid, "/dset5", type1, space, H5P_DEFAULT, create_plist, H5P_DEFAULT); + H5Dwrite(dataset, type1, H5S_ALL, H5S_ALL, H5P_DEFAULT, dset1); + + H5Tclose(type1); + H5Tclose(type2); + H5Sclose(space); + H5Dclose(dataset); + H5Gclose(group); + + H5Pclose(create_plist); + + H5Fclose(fid); + +} /*------------------------------------------------------------------------- * Function: main @@ -8124,6 +8270,8 @@ int main(void) gent_compound_intsizes(); gent_compound_attr_intsizes(); + gent_nested_compound_dt(); + return 0; } diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in index 3bd0dfd..fa71558 100644 --- a/tools/h5dump/testh5dump.sh.in +++ b/tools/h5dump/testh5dump.sh.in @@ -55,6 +55,7 @@ SRC_TOOLS_TESTFILES="$SRC_TOOLS/testfiles" # testfiles source dirs for tools SRC_H5LS_TESTFILES="$SRC_TOOLS_TESTFILES" SRC_H5DUMP_TESTFILES="$SRC_TOOLS_TESTFILES" +SRC_H5DUMP_ERRORFILES="$srcdir/errfiles" SRC_H5DIFF_TESTFILES="$SRC_TOOLS/h5diff/testfiles" SRC_H5COPY_TESTFILES="$SRC_TOOLS/h5copy/testfiles" SRC_H5REPACK_TESTFILES="$SRC_TOOLS/h5repack/testfiles" @@ -142,6 +143,7 @@ $SRC_H5DUMP_TESTFILES/tmulti-r.h5 $SRC_H5DUMP_TESTFILES/tmulti-s.h5 $SRC_H5DUMP_TESTFILES/tnamed_dtype_attr.h5 $SRC_H5DUMP_TESTFILES/tnestedcomp.h5 +$SRC_H5DUMP_TESTFILES/tnestedcmpddt.h5 $SRC_H5DUMP_TESTFILES/tno-subset.h5 $SRC_H5DUMP_TESTFILES/tnullspace.h5 $SRC_H5DUMP_TESTFILES/zerodim.h5 @@ -162,6 +164,7 @@ $SRC_H5DUMP_TESTFILES/tvldtypes4.h5 $SRC_H5DUMP_TESTFILES/tvldtypes5.h5 $SRC_H5DUMP_TESTFILES/tvlstr.h5 $SRC_H5DUMP_TESTFILES/tvms.h5 +$SRC_H5DUMP_TESTFILES/twidedisplay.ddl " LIST_OTHER_TEST_FILES=" @@ -191,6 +194,8 @@ $SRC_H5DUMP_TESTFILES/tattr-1.ddl $SRC_H5DUMP_TESTFILES/tattr-2.ddl $SRC_H5DUMP_TESTFILES/tattr-3.ddl $SRC_H5DUMP_TESTFILES/tattr-4_be.ddl +$SRC_H5DUMP_TESTFILES/tattrcontents1.ddl +$SRC_H5DUMP_TESTFILES/tattrcontents2.ddl $SRC_H5DUMP_TESTFILES/tattrintsize.ddl $SRC_H5DUMP_TESTFILES/tattrreg.ddl $SRC_H5DUMP_TESTFILES/tattrregR.ddl @@ -258,6 +263,7 @@ $SRC_H5DUMP_TESTFILES/tqmarkfile.ddl $SRC_H5DUMP_TESTFILES/tstarfile.ddl $SRC_H5DUMP_TESTFILES/tnamed_dtype_attr.ddl $SRC_H5DUMP_TESTFILES/tnestcomp-1.ddl +$SRC_H5DUMP_TESTFILES/tnestedcmpddt.ddl $SRC_H5DUMP_TESTFILES/tnbit.ddl $SRC_H5DUMP_TESTFILES/tno-subset.ddl $SRC_H5DUMP_TESTFILES/tnullspace.ddl @@ -271,6 +277,10 @@ $SRC_H5DUMP_TESTFILES/torderattr1.ddl $SRC_H5DUMP_TESTFILES/torderattr2.ddl $SRC_H5DUMP_TESTFILES/torderattr3.ddl $SRC_H5DUMP_TESTFILES/torderattr4.ddl +$SRC_H5DUMP_TESTFILES/tordercontents1.ddl +$SRC_H5DUMP_TESTFILES/tordercontents2.ddl +$SRC_H5DUMP_TESTFILES/torderlinks1.ddl +$SRC_H5DUMP_TESTFILES/torderlinks2.ddl $SRC_H5DUMP_TESTFILES/tperror.ddl $SRC_H5DUMP_TESTFILES/treference.ddl $SRC_H5DUMP_TESTFILES/tsaf.ddl @@ -301,10 +311,36 @@ $SRC_H5DUMP_TESTFILES/out3.h5import $SRC_H5DUMP_TESTFILES/tbinregR.exp " +LIST_ERROR_TEST_FILES=" +${SRC_H5DUMP_ERRORFILES}/filter_fail.err +${SRC_H5DUMP_ERRORFILES}/tall-1.err +${SRC_H5DUMP_ERRORFILES}/tall-2A.err +${SRC_H5DUMP_ERRORFILES}/tall-2B.err +${SRC_H5DUMP_ERRORFILES}/tarray1_big.err +${SRC_H5DUMP_ERRORFILES}/tattr-3.err +${SRC_H5DUMP_ERRORFILES}/tattrregR.err +${SRC_H5DUMP_ERRORFILES}/tcomp-3.err +${SRC_H5DUMP_ERRORFILES}/tdataregR.err +${SRC_H5DUMP_ERRORFILES}/tdset-2.err +${SRC_H5DUMP_ERRORFILES}/texceedsubblock.err +${SRC_H5DUMP_ERRORFILES}/texceedsubcount.err +${SRC_H5DUMP_ERRORFILES}/texceedsubstart.err +${SRC_H5DUMP_ERRORFILES}/texceedsubstride.err +${SRC_H5DUMP_ERRORFILES}/textlink.err +${SRC_H5DUMP_ERRORFILES}/textlinkfar.err +${SRC_H5DUMP_ERRORFILES}/textlinksrc.err +${SRC_H5DUMP_ERRORFILES}/tgroup-2.err +${SRC_H5DUMP_ERRORFILES}/torderlinks1.err +${SRC_H5DUMP_ERRORFILES}/torderlinks2.err +${SRC_H5DUMP_ERRORFILES}/tperror.err +${SRC_H5DUMP_ERRORFILES}/tqmarkfile.err +${SRC_H5DUMP_ERRORFILES}/tslink-D.err +" + # # copy test files and expected output files from source dirs to test dir # -COPY_TESTFILES="$LIST_HDF5_TEST_FILES $LIST_OTHER_TEST_FILES $LIST_HDF5_TEST_FILES_XML $LIST_OTHER_TEST_FILES_XML" +COPY_TESTFILES="$LIST_HDF5_TEST_FILES $LIST_OTHER_TEST_FILES $LIST_ERROR_TEST_FILES" COPY_TESTFILES_TO_TESTDIR() { @@ -495,6 +531,69 @@ TOOLTEST3() { } +# same as TOOLTEST3 but filters error stack output and compares to an error file +# Extract file name, line number, version and thread IDs because they may be different +TOOLTEST4() { + + expect="$TESTDIR/$1" + expect_err="$TESTDIR/`basename $1 .ddl`.err" + actual="$TESTDIR/`basename $1 .ddl`.out" + actual_err="$TESTDIR/`basename $1 .ddl`.oerr" + actual_ext="$TESTDIR/`basename $1 .ddl`.ext" + actual_sav=${actual}-sav + actual_err_sav=${actual_err}-sav + shift + + # Run test. + TESTING $DUMPER $@ + ( + cd $TESTDIR + $RUNSERIAL $DUMPER_BIN "$@" + ) >$actual 2>$actual_err + + # save actual and actual_err in case they are needed later. + cp $actual $actual_sav + STDOUT_FILTER $actual + cp $actual_err $actual_err_sav + STDERR_FILTER $actual_err + + # Extract file name, line number, version and thread IDs because they may be different + sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \ + -e 's/line [0-9]*/line (number)/' \ + -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \ + -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \ + -e 's/H5Eget_auto[1-2]*/H5Eget_auto(1 or 2)/' \ + -e 's/H5Eset_auto[1-2]*/H5Eset_auto(1 or 2)/' \ + $actual_err > $actual_ext + #cat $actual_ext >> $actual + + if [ ! -f $expect ]; then + # Create the expect file if it doesn't yet exist. + echo " CREATED" + cp $actual $expect + elif $CMP $expect $actual; then + if $CMP $expect_err $actual_ext; then + echo " PASSED" + else + echo "*FAILED*" + echo " Expected result (*.err) differs from actual result (*.oerr)" + nerrors="`expr $nerrors + 1`" + test yes = "$verbose" && $DIFF $expect_err $actual_ext |sed 's/^/ /' + fi + else + echo "*FAILED*" + echo " Expected result (*.ddl) differs from actual result (*.out)" + nerrors="`expr $nerrors + 1`" + test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/ /' + fi + + # Clean up output file + if test -z "$HDF5_NOCLEANUP"; then + rm -f $actual $actual_err $actual_sav $actual_err_sav + fi + +} + # Print a "SKIP" message SKIP() { TESTING $DUMPER $@ @@ -572,6 +671,9 @@ COPY_TESTFILES_TO_TESTDIR #TOOLTEST h5dump-help.txt -h +# test for maximum display datasets +TOOLTEST twidedisplay.ddl --enable-error-stack -w0 packedbits.h5 + # test for signed/unsigned datasets TOOLTEST packedbits.ddl --enable-error-stack packedbits.h5 # test for compound signed/unsigned datasets @@ -583,19 +685,19 @@ TOOLTEST tcmpdattrintsize.ddl --enable-error-stack tcmpdattrintsize.h5 # test for displaying groups TOOLTEST tgroup-1.ddl --enable-error-stack tgroup.h5 # test for displaying the selected groups -TOOLTEST tgroup-2.ddl --group=/g2 --group / -g /y tgroup.h5 +TOOLTEST4 tgroup-2.ddl --enable-error-stack --group=/g2 --group / -g /y tgroup.h5 # test for displaying simple space datasets TOOLTEST tdset-1.ddl --enable-error-stack tdset.h5 # test for displaying selected datasets -TOOLTEST3 tdset-2.ddl --enable-error-stack -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5 +TOOLTEST4 tdset-2.ddl --enable-error-stack -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5 # test for displaying attributes TOOLTEST tattr-1.ddl --enable-error-stack tattr.h5 # test for displaying the selected attributes of string type and scalar space TOOLTEST tattr-2.ddl --enable-error-stack -a "/\/attr1" --attribute /attr4 --attribute=/attr5 tattr.h5 # test for header and error messages -TOOLTEST3 tattr-3.ddl --enable-error-stack --header -a /attr2 --attribute=/attr tattr.h5 +TOOLTEST4 tattr-3.ddl --enable-error-stack --header -a /attr2 --attribute=/attr tattr.h5 # test for displaying at least 9 attributes on root from a BE machine TOOLTEST tattr-4_be.ddl --enable-error-stack tattr4_be.h5 # test for displaying attributes in shared datatype (also in group and dataset) @@ -608,7 +710,7 @@ TOOLTEST tudlink-1.ddl --enable-error-stack tudlink.h5 TOOLTEST tslink-2.ddl --enable-error-stack -l slink2 tslink.h5 TOOLTEST tudlink-2.ddl --enable-error-stack -l udlink2 tudlink.h5 # test for displaying dangling soft links -TOOLTEST3 tslink-D.ddl --enable-error-stack -d /slink1 tslink.h5 +TOOLTEST4 tslink-D.ddl --enable-error-stack -d /slink1 tslink.h5 # tests for hard links TOOLTEST thlink-1.ddl --enable-error-stack thlink.h5 @@ -622,17 +724,16 @@ TOOLTEST tcomp-1.ddl --enable-error-stack tcompound.h5 # test for named data types TOOLTEST tcomp-2.ddl --enable-error-stack -t /type1 --datatype /type2 --datatype=/group1/type3 tcompound.h5 # test for unamed type -# JIRA HDFFV-7936 TOOLTEST tcomp-3.ddl --enable-error-stack -t /#6632 -g /group2 tcompound.h5 -TOOLTEST tcomp-3.ddl -t /#6632 -g /group2 tcompound.h5 +TOOLTEST4 tcomp-3.ddl --enable-error-stack -t /#6632 -g /group2 tcompound.h5 # test complicated compound datatype TOOLTEST tcomp-4.ddl --enable-error-stack tcompound_complex.h5 #test for the nested compound type TOOLTEST tnestcomp-1.ddl --enable-error-stack tnestedcomp.h5 +TOOLTEST tnestedcmpddt.ddl --enable-error-stack tnestedcmpddt.h5 # test for options -# JIRA HDFFV-7936 TOOLTEST tall-1.ddl --enable-error-stack tall.h5 -TOOLTEST tall-1.ddl tall.h5 +TOOLTEST4 tall-1.ddl --enable-error-stack tall.h5 TOOLTEST tall-2.ddl --enable-error-stack --header -g /g1/g1.1 -a attr2 tall.h5 TOOLTEST tall-3.ddl --enable-error-stack -d /g2/dset2.1 -l /g1/g1.2/g1.2.1/slink tall.h5 @@ -659,8 +760,7 @@ TOOLTEST tvlstr.ddl --enable-error-stack tvlstr.h5 # test for files with array data TOOLTEST tarray1.ddl --enable-error-stack tarray1.h5 # # added for bug# 2092 - tarray1_big.h -# JIRA HDFFV-7936 TOOLTEST tarray1_big.ddl --enable-error-stack -R tarray1_big.h5 -TOOLTEST tarray1_big.ddl -R tarray1_big.h5 +TOOLTEST4 tarray1_big.ddl --enable-error-stack -R tarray1_big.h5 TOOLTEST tarray2.ddl --enable-error-stack tarray2.h5 TOOLTEST tarray3.ddl --enable-error-stack tarray3.h5 TOOLTEST tarray4.ddl --enable-error-stack tarray4.h5 @@ -671,7 +771,7 @@ TOOLTEST tarray8.ddl --enable-error-stack tarray8.h5 # test for wildcards in filename (does not work with cmake) # inconsistent across platforms TOOLTEST3 tstarfile.ddl --enable-error-stack -H -d Dataset1 tarr*.h5 -TOOLTEST3 tqmarkfile.ddl --enable-error-stack -H -d Dataset1 tarray?.h5 +TOOLTEST4 tqmarkfile.ddl --enable-error-stack -H -d Dataset1 tarray?.h5 TOOLTEST tmultifile.ddl --enable-error-stack -H -d Dataset1 tarray2.h5 tarray3.h5 tarray4.h5 tarray5.h5 tarray6.h5 tarray7.h5 # test for files with empty data @@ -689,18 +789,16 @@ TOOLTEST tmulti.ddl --enable-error-stack --filedriver=multi tmulti TOOLTEST tlarge_objname.ddl --enable-error-stack -w157 tlarge_objname.h5 # test '-A' to suppress data but print attr's -# JIRA HDFFV-7936 TOOLTEST tall-2A.ddl --enable-error-stack -A tall.h5 -TOOLTEST tall-2A.ddl -A tall.h5 +TOOLTEST4 tall-2A.ddl --enable-error-stack -A tall.h5 # test '-r' to print attributes in ASCII instead of decimal -# JIRA HDFFV-7936 TOOLTEST tall-2B.ddl --enable-error-stack -A -r tall.h5 -TOOLTEST tall-2B.ddl -A -r tall.h5 +TOOLTEST4 tall-2B.ddl --enable-error-stack -A -r tall.h5 # test Subsetting TOOLTEST tall-4s.ddl --enable-error-stack --dataset=/g1/g1.1/dset1.1.1 --start=1,1 --stride=2,3 --count=3,2 --block=1,1 tall.h5 TOOLTEST tall-5s.ddl --enable-error-stack -d "/g1/g1.1/dset1.1.2[0;2;10;]" tall.h5 TOOLTEST tdset-3s.ddl --enable-error-stack -d "/dset1[1,1;;;]" tdset.h5 -TOOLTEST tno-subset.ddl --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" tno-subset.h5 +TOOLTEST tno-subset.ddl --enable-error-stack --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" tno-subset.h5 # test printing characters in ASCII instead of decimal TOOLTEST tchar1.ddl --enable-error-stack -r tchar.h5 @@ -716,10 +814,14 @@ TOOLTEST tboot2.ddl --enable-error-stack -B tfcontents2.h5 TOOLTEST file_space.ddl --enable-error-stack -B file_space.h5 # test -p with a non existing dataset -TOOLTEST3 tperror.ddl --enable-error-stack -p -d bogus tfcontents1.h5 +TOOLTEST4 tperror.ddl --enable-error-stack -p -d bogus tfcontents1.h5 # test for file contents TOOLTEST tcontents.ddl --enable-error-stack -n tfcontents1.h5 +TOOLTEST tordercontents1.ddl --enable-error-stack -n --sort_by=name --sort_order=ascending tfcontents1.h5 +TOOLTEST tordercontents2.ddl --enable-error-stack -n --sort_by=name --sort_order=descending tfcontents1.h5 +TOOLTEST tattrcontents1.ddl --enable-error-stack -n 1 --sort_order=ascending tall.h5 +TOOLTEST tattrcontents2.ddl --enable-error-stack -n 1 --sort_order=descending tall.h5 # tests for storage layout # compact @@ -851,6 +953,9 @@ TOOLTEST tbin1.ddl --enable-error-stack -d integer -o out1.bin -b LE tbinar TOOLTEST tbin1.ddl --enable-error-stack -d integer -o out1.bin -b tbinary.h5 IMPORTTEST out1.bin -c out3.h5import -o out1.h5 DIFFTEST tbinary.h5 out1.h5 /integer /integer +# Same but use h5dump as input to h5import +IMPORTTEST out1.bin -c tbin1.ddl -o out1D.h5 +DIFFTEST tbinary.h5 out1D.h5 /integer /integer TOOLTEST tbin2.ddl --enable-error-stack -b BE -d float -o out2.bin tbinary.h5 @@ -858,6 +963,9 @@ TOOLTEST tbin2.ddl --enable-error-stack -b BE -d float -o out2.bin tbina TOOLTEST tbin3.ddl --enable-error-stack -d integer -o out3.bin -b NATIVE tbinary.h5 IMPORTTEST out3.bin -c out3.h5import -o out3.h5 DIFFTEST tbinary.h5 out3.h5 /integer /integer +# Same but use h5dump as input to h5import +IMPORTTEST out3.bin -c tbin3.ddl -o out3D.h5 +DIFFTEST tbinary.h5 out3D.h5 /integer /integer TOOLTEST tbin4.ddl --enable-error-stack -d double -b FILE -o out4.bin tbinary.h5 @@ -870,11 +978,9 @@ fi # test for dataset region references TOOLTEST tdatareg.ddl --enable-error-stack tdatareg.h5 -# JIRA HDFFV-7936 TOOLTEST tdataregR.ddl --enable-error-stack -R tdatareg.h5 -TOOLTEST tdataregR.ddl -R tdatareg.h5 +TOOLTEST4 tdataregR.ddl --enable-error-stack -R tdatareg.h5 TOOLTEST tattrreg.ddl --enable-error-stack tattrreg.h5 -# JIRA HDFFV-7936 TOOLTEST tattrregR.ddl --enable-error-stack -R tattrreg.h5 -TOOLTEST tattrregR.ddl -R tattrreg.h5 +TOOLTEST4 tattrregR.ddl --enable-error-stack -R tattrreg.h5 TOOLTEST2 tbinregR.exp --enable-error-stack -d /Dataset1 -s 0 -R -y -o tbinregR.txt tdatareg.h5 @@ -897,21 +1003,22 @@ TOOLTEST torderattr2.ddl --enable-error-stack -H --sort_by=name --sort_order=des TOOLTEST torderattr3.ddl --enable-error-stack -H --sort_by=creation_order --sort_order=ascending torderattr.h5 TOOLTEST torderattr4.ddl --enable-error-stack -H --sort_by=creation_order --sort_order=descending torderattr.h5 +# tests for link references and order +TOOLTEST4 torderlinks1.ddl --enable-error-stack --sort_by=name --sort_order=ascending tfcontents1.h5 +TOOLTEST4 torderlinks2.ddl --enable-error-stack --sort_by=name --sort_order=descending tfcontents1.h5 + # tests for floating point user defined printf format TOOLTEST tfpformat.ddl --enable-error-stack -m %.7f tfpformat.h5 # tests for traversal of external links -# JIRA HDFFV-7936 TOOLTEST textlinksrc.ddl --enable-error-stack textlinksrc.h5 -TOOLTEST textlinksrc.ddl textlinksrc.h5 -# JIRA HDFFV-7936 TOOLTEST textlinkfar.ddl --enable-error-stack textlinkfar.h5 -TOOLTEST textlinkfar.ddl textlinkfar.h5 +TOOLTEST4 textlinksrc.ddl --enable-error-stack textlinksrc.h5 +TOOLTEST4 textlinkfar.ddl --enable-error-stack textlinkfar.h5 # test for dangling external links -# JIRA HDFFV-7936 TOOLTEST textlink.ddl --enable-error-stack textlink.h5 -TOOLTEST3 textlink.ddl --enable-error-stack textlink.h5 +TOOLTEST4 textlink.ddl --enable-error-stack textlink.h5 # test for error stack display (BZ2048) -TOOLTEST3 filter_fail.ddl --enable-error-stack filter_fail.h5 +TOOLTEST4 filter_fail.ddl --enable-error-stack filter_fail.h5 # test for -o -y for dataset with attributes TOOLTEST tall-6.ddl --enable-error-stack -y -o data -d /g1/g1.1/dset1.1.1 tall.h5 diff --git a/tools/h5dump/testh5dumppbits.sh.in b/tools/h5dump/testh5dumppbits.sh.in index 393fcc1..991fe7a 100644 --- a/tools/h5dump/testh5dumppbits.sh.in +++ b/tools/h5dump/testh5dumppbits.sh.in @@ -55,6 +55,7 @@ SRC_TOOLS_TESTFILES="$SRC_TOOLS/testfiles" # testfiles source dirs for tools SRC_H5LS_TESTFILES="$SRC_TOOLS_TESTFILES" SRC_H5DUMP_TESTFILES="$SRC_TOOLS_TESTFILES" +SRC_H5DUMP_ERRORFILES="$srcdir/errfiles" SRC_H5DIFF_TESTFILES="$SRC_TOOLS/h5diff/testfiles" SRC_H5COPY_TESTFILES="$SRC_TOOLS/h5copy/testfiles" SRC_H5REPACK_TESTFILES="$SRC_TOOLS/h5repack/testfiles" @@ -134,10 +135,26 @@ $SRC_H5DUMP_TESTFILES/tpbitsSignedLongLong16.ddl $SRC_H5DUMP_TESTFILES/tpbitsUnsignedLongLong16.ddl " +LIST_ERROR_TEST_FILES=" +${SRC_H5DUMP_ERRORFILES}/tnofilename-with-packed-bits.err +${SRC_H5DUMP_ERRORFILES}/tpbitsCharLengthExceeded.err +${SRC_H5DUMP_ERRORFILES}/tpbitsCharOffsetExceeded.err +${SRC_H5DUMP_ERRORFILES}/tpbitsIncomplete.err +${SRC_H5DUMP_ERRORFILES}/tpbitsIntLengthExceeded.err +${SRC_H5DUMP_ERRORFILES}/tpbitsIntOffsetExceeded.err +${SRC_H5DUMP_ERRORFILES}/tpbitsLengthExceeded.err +${SRC_H5DUMP_ERRORFILES}/tpbitsLengthPositive.err +${SRC_H5DUMP_ERRORFILES}/tpbitsLongLengthExceeded.err +${SRC_H5DUMP_ERRORFILES}/tpbitsLongOffsetExceeded.err +${SRC_H5DUMP_ERRORFILES}/tpbitsMaxExceeded.err +${SRC_H5DUMP_ERRORFILES}/tpbitsOffsetExceeded.err +${SRC_H5DUMP_ERRORFILES}/tpbitsOffsetNegative.err +" + # # copy test files and expected output files from source dirs to test dir # -COPY_TESTFILES="$LIST_HDF5_TEST_FILES $LIST_OTHER_TEST_FILES $LIST_HDF5_TEST_FILES_XML $LIST_OTHER_TEST_FILES_XML" +COPY_TESTFILES="$LIST_HDF5_TEST_FILES $LIST_OTHER_TEST_FILES $LIST_ERROR_TEST_FILES" COPY_TESTFILES_TO_TESTDIR() { @@ -328,6 +345,69 @@ TOOLTEST3() { } +# same as TOOLTEST3 but filters error stack output and compares to an error file +# Extract file name, line number, version and thread IDs because they may be different +TOOLTEST4() { + + expect="$TESTDIR/$1" + expect_err="$TESTDIR/`basename $1 .ddl`.err" + actual="$TESTDIR/`basename $1 .ddl`.out" + actual_err="$TESTDIR/`basename $1 .ddl`.oerr" + actual_ext="$TESTDIR/`basename $1 .ddl`.ext" + actual_sav=${actual}-sav + actual_err_sav=${actual_err}-sav + shift + + # Run test. + TESTING $DUMPER $@ + ( + cd $TESTDIR + $RUNSERIAL $DUMPER_BIN "$@" + ) >$actual 2>$actual_err + + # save actual and actual_err in case they are needed later. + cp $actual $actual_sav + STDOUT_FILTER $actual + cp $actual_err $actual_err_sav + STDERR_FILTER $actual_err + + # Extract file name, line number, version and thread IDs because they may be different + sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \ + -e 's/line [0-9]*/line (number)/' \ + -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \ + -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \ + -e 's/H5Eget_auto[1-2]*/H5Eget_auto(1 or 2)/' \ + -e 's/H5Eset_auto[1-2]*/H5Eset_auto(1 or 2)/' \ + $actual_err > $actual_ext + #cat $actual_ext >> $actual + + if [ ! -f $expect ]; then + # Create the expect file if it doesn't yet exist. + echo " CREATED" + cp $actual $expect + elif $CMP $expect $actual; then + if $CMP $expect_err $actual_ext; then + echo " PASSED" + else + echo "*FAILED*" + echo " Expected result (*.err) differs from actual result (*.oerr)" + nerrors="`expr $nerrors + 1`" + test yes = "$verbose" && $DIFF $expect_err $actual_ext |sed 's/^/ /' + fi + else + echo "*FAILED*" + echo " Expected result (*.ddl) differs from actual result (*.out)" + nerrors="`expr $nerrors + 1`" + test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/ /' + fi + + # Clean up output file + if test -z "$HDF5_NOCLEANUP"; then + rm -f $actual $actual_err $actual_sav $actual_err_sav + fi + +} + # Print a "SKIP" message SKIP() { TESTING $DUMPER $@ diff --git a/tools/h5import/CMakeLists.txt b/tools/h5import/CMakeLists.txt index a96ebc4..5bbcf02 100644 --- a/tools/h5import/CMakeLists.txt +++ b/tools/h5import/CMakeLists.txt @@ -12,6 +12,7 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib) ADD_EXECUTABLE (h5import ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5import.c) TARGET_NAMING (h5import ${LIB_TYPE}) 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) SET (H5_DEP_EXECUTABLES h5import) @@ -59,6 +60,14 @@ IF (BUILD_TESTING) txtin32.txt textpfe64.txt txtstr.txt + dbinfp64.h5.txt + dbinin8.h5.txt + dbinin8w.h5.txt + dbinin16.h5.txt + dbinin32.h5.txt + dbinuin16.h5.txt + dbinuin32.h5.txt + dtxtstr.h5.txt ) SET (HDF5_REFERENCE_TEST_FILES binfp64.h5 @@ -92,7 +101,7 @@ IF (BUILD_TESTING) ENDFOREACH (conf_file ${HDF5_REFERENCE_CONF_FILES}) FOREACH (txt_file ${HDF5_REFERENCE_TXT_FILES}) - SET (dest "${PROJECT_BINARY_DIR}/${txt_file}") + SET (dest "${PROJECT_BINARY_DIR}/testfiles/${txt_file}") #MESSAGE (STATUS " Copying ${txt_file}") ADD_CUSTOM_COMMAND ( TARGET h5import @@ -119,24 +128,22 @@ IF (BUILD_TESTING) ############################################################################## ############################################################################## MACRO (ADD_H5_TEST testname importfile conffile testfile) - IF (NOT HDF5_ENABLE_USING_MEMCHECKER) - ADD_TEST ( - NAME H5IMPORT-${testname}-clear-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${testfile} - ${testfile}.new - ${testfile}.new.err - ${testfile}.out - ${testfile}.out.err - ) - IF (NOT "${last_test}" STREQUAL "") - SET_TESTS_PROPERTIES (H5IMPORT-${testname}-clear-objects PROPERTIES DEPENDS ${last_test}) - ENDIF (NOT "${last_test}" STREQUAL "") - SET (last_test "H5IMPORT-${testname}-clear-objects") - ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER) + ADD_TEST ( + NAME H5IMPORT-${testname}-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${testfile} + ${testfile}.new + ${testfile}.new.err + ${testfile}.out + ${testfile}.out.err + ) + IF (NOT "${last_test}" STREQUAL "") + SET_TESTS_PROPERTIES (H5IMPORT-${testname}-clear-objects PROPERTIES DEPENDS ${last_test}) + ENDIF (NOT "${last_test}" STREQUAL "") + SET (last_test "H5IMPORT-${testname}-clear-objects") - ADD_TEST (NAME H5IMPORT-${testname} COMMAND $ ${importfile} -c testfiles/${conffile} -o ${testfile}) + ADD_TEST (NAME H5IMPORT-${testname} COMMAND $ ${importfile} -c ${conffile} -o ${testfile}) IF (NOT "${last_test}" STREQUAL "") SET_TESTS_PROPERTIES (H5IMPORT-${testname} PROPERTIES DEPENDS ${last_test}) ENDIF (NOT "${last_test}" STREQUAL "") @@ -172,7 +179,89 @@ IF (BUILD_TESTING) SET_TESTS_PROPERTIES (H5IMPORT-H5DMP_CMP-${testname} PROPERTIES DEPENDS H5IMPORT-H5DMP-${testname}) SET (last_test "H5IMPORT-H5DMP_CMP-${testname}") ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER) - ENDMACRO (ADD_H5_TEST testname resultcode testfile vparam srcname dstname) + ENDMACRO (ADD_H5_TEST testname importfile conffile testfile) + + MACRO (ADD_H5_DUMPTEST testname datasetname testfile) + # If using memchecker add tests without using scripts + IF (NOT HDF5_ENABLE_USING_MEMCHECKER) + ADD_TEST ( + NAME H5IMPORT-DUMP-${testname}-clear-objects + COMMAND ${CMAKE_COMMAND} + -E remove + d${testfile} + d${testfile}.bin + d${testfile}.imp + d${testfile}.imp.err + d${testfile}.dmp + d${testfile}.dmp.err + d${testfile}.dff + d${testfile}.dff.err + ) + IF (NOT "${last_test}" STREQUAL "") + SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname}-clear-objects PROPERTIES DEPENDS ${last_test}) + ENDIF (NOT "${last_test}" STREQUAL "") + + IF ("${ARGN}" STREQUAL "BINARY") + ADD_TEST ( + NAME H5IMPORT-DUMP-${testname}-H5DUMP + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=-p;-d;${datasetname};-o;d${testfile}.bin;-b;testfiles/${testfile}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_OUTPUT=d${testfile}.dmp" + -D "TEST_EXPECT=0" + -D "TEST_SKIP_COMPARE=TRUE" + -P "${HDF5_RESOURCES_DIR}/runTest.cmake" + ) + ELSE ("${ARGN}" STREQUAL "BINARY") + ADD_TEST ( + NAME H5IMPORT-DUMP-${testname}-H5DUMP + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=-p;-d;${datasetname};-o;d${testfile}.bin;-y;--width=1;testfiles/${testfile}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_OUTPUT=d${testfile}.dmp" + -D "TEST_EXPECT=0" + -D "TEST_SKIP_COMPARE=TRUE" + -P "${HDF5_RESOURCES_DIR}/runTest.cmake" + ) + ENDIF ("${ARGN}" STREQUAL "BINARY") + SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname}-H5DUMP PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}-clear-objects") + + ADD_TEST ( + NAME H5IMPORT-DUMP-${testname} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=d${testfile}.bin;-c;d${testfile}.dmp;-o;d${testfile}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_OUTPUT=d${testfile}.imp" + -D "TEST_EXPECT=0" + -D "TEST_SKIP_COMPARE=TRUE" + -P "${HDF5_RESOURCES_DIR}/runTest.cmake" + ) + SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname} PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}-H5DUMP") + + ADD_TEST ( + NAME H5IMPORT-DUMP-${testname}-H5DIFF + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=-v;d${testfile};testfiles/${testfile};${datasetname};${datasetname}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_OUTPUT=d${testfile}.dff" + -D "TEST_EXPECT=0" + -D "TEST_FILTER=(^(Warning)[^\n]*)" + -D "TEST_REFERENCE=testfiles/d${testfile}.txt" + -P "${HDF5_RESOURCES_DIR}/runTest.cmake" + ) + SET_TESTS_PROPERTIES (H5IMPORT-DUMP-${testname}-H5DIFF PROPERTIES DEPENDS "H5IMPORT-DUMP-${testname}") + SET (last_test "H5IMPORT-DUMP-${testname}-H5DIFF") + ELSE (NOT HDF5_ENABLE_USING_MEMCHECKER) + ADD_TEST ( + NAME H5IMPORT-DUMP-${testname}-SKIPPED + COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${testname} ${datasetname} ${testfile}" + ) + ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER) + ENDMACRO (ADD_H5_DUMPTEST testname datasetname testfile) ############################################################################## ############################################################################## @@ -192,8 +281,6 @@ IF (BUILD_TESTING) binin32.bin binuin16.bin binuin32.bin - txtin16.txt - txtin32.txt ${HDF5_REFERENCE_TEST_FILES} ) SET (last_test "H5IMPORT-clear-objects") @@ -205,52 +292,60 @@ IF (BUILD_TESTING) SET (last_test "H5IMPORT-h5importtest") # ----- TESTING "ASCII I32 rank 3 - Output BE " ; - ADD_H5_TEST (ASCII_I32 txtin32.txt txtin32.conf txtin32.h5) + ADD_H5_TEST (ASCII_I32 testfiles/txtin32.txt testfiles/txtin32.conf txtin32.h5) # ----- TESTING "ASCII I16 rank 3 - Output LE - CHUNKED - extended" - ADD_H5_TEST (ASCII_I16 txtin16.txt txtin16.conf txtin16.h5) + ADD_H5_TEST (ASCII_I16 testfiles/txtin16.txt testfiles/txtin16.conf txtin16.h5) # ----- TESTING "ASCII I8 - rank 3 - Output I8 LE-Chunked+Extended+Compressed " - ADD_H5_TEST (ASCII_I8 txtin8.txt txtin8.conf txtin8.h5) - - # ----- TESTING "ASCII UI32 - rank 3 - Output BE" - ADD_H5_TEST (ASCII_UI32 txtuin32.txt txtuin32.conf txtuin32.h5) + ADD_H5_TEST (ASCII_I8 testfiles/txtin8.txt testfiles/txtin8.conf txtin8.h5) # ----- TESTING "ASCII UI16 - rank 2 - Output LE+Chunked+Compressed " - ADD_H5_TEST (ASCII_UI16 txtuin16.txt txtuin16.conf txtuin16.h5) + ADD_H5_TEST (ASCII_UI16 testfiles/txtuin16.txt testfiles/txtuin16.conf txtuin16.h5) + + # ----- TESTING "ASCII UI32 - rank 3 - Output BE" + ADD_H5_TEST (ASCII_UI32 testfiles/txtuin32.txt testfiles/txtuin32.conf txtuin32.h5) # ----- TESTING "ASCII F32 - rank 3 - Output LE " - ADD_H5_TEST (ASCII_F32 txtfp32.txt txtfp32.conf txtfp32.h5) + ADD_H5_TEST (ASCII_F32 testfiles/txtfp32.txt testfiles/txtfp32.conf txtfp32.h5) # ----- TESTING "ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed " - ADD_H5_TEST (ASCII_F64 txtfp64.txt txtfp64.conf txtfp64.h5) + ADD_H5_TEST (ASCII_F64 testfiles/txtfp64.txt testfiles/txtfp64.conf txtfp64.h5) # ----- TESTING "BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed " - ADD_H5_TEST (BINARY_F64 binfp64.bin binfp64.conf binfp64.h5) - - # ----- TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended " - ADD_H5_TEST (BINARY_I16 binin16.bin binin16.conf binin16.h5) + ADD_H5_TEST (BINARY_F64 binfp64.bin testfiles/binfp64.conf binfp64.h5) + ADD_H5_DUMPTEST (BINARY_F64 "/fp/bin/64-bit" binfp64.h5 BINARY) # ----- TESTING "BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed " - ADD_H5_TEST (BINARY_I8 binin8.bin binin8.conf binin8.h5) + ADD_H5_TEST (BINARY_I8 binin8.bin testfiles/binin8.conf binin8.h5) + ADD_H5_DUMPTEST (BINARY_I8 "/int/bin/8-bit" binin8.h5 BINARY) + + # ----- TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended " + ADD_H5_TEST (BINARY_I16 binin16.bin testfiles/binin16.conf binin16.h5) + ADD_H5_DUMPTEST (BINARY_I16 "/int/bin/16-bit" binin16.h5 BINARY) # ----- TESTING "BINARY I32 - rank 3 - Output BE + CHUNKED " - ADD_H5_TEST (BINARY_I32 binin32.bin binin32.conf binin32.h5) + ADD_H5_TEST (BINARY_I32 binin32.bin testfiles/binin32.conf binin32.h5) + ADD_H5_DUMPTEST (BINARY_I32 "/int/bin/32-bit" binin32.h5 BINARY) # ----- TESTING "BINARY UI16 - rank 3 - Output byte BE + CHUNKED " - ADD_H5_TEST (BINARY_UI16 binuin16.bin binuin16.conf binuin16.h5) + ADD_H5_TEST (BINARY_UI16 binuin16.bin testfiles/binuin16.conf binuin16.h5) + ADD_H5_DUMPTEST (BINARY_UI16 "/int/buin/16-bit" binuin16.h5 BINARY) - # ----- TESTING "BINARY UI32 - rank 3 - Output LE + CHUNKED " - ADD_H5_TEST (BINARY_UI32 binuin32.bin binuin32.conf binuin32.h5) + # ----- TESTING "BINARY UI32 - rank 3 - Output LE " + ADD_H5_TEST (BINARY_UI32 binuin32.bin testfiles/binuin32.conf binuin32.h5) + ADD_H5_DUMPTEST (BINARY_UI32 "/int/buin/32-bit" binuin32.h5 BINARY) # ----- TESTING "STR" - ADD_H5_TEST (STR txtstr.txt txtstr.conf txtstr.h5) + ADD_H5_TEST (STR testfiles/txtstr.txt testfiles/txtstr.conf txtstr.h5) + ADD_H5_DUMPTEST (STR "/mytext/data" txtstr.h5) # ----- TESTING "BINARY I8 CR LF EOF" - ADD_H5_TEST (BINARY_I8_EOF binin8w.bin binin8w.conf binin8w.h5) + ADD_H5_TEST (BINARY_I8_EOF binin8w.bin testfiles/binin8w.conf binin8w.h5) + ADD_H5_DUMPTEST (BINARY_I8_EOF "/dataset0" binin8w.h5 BINARY) # ----- TESTING "ASCII F64 - rank 1 - INPUT-CLASS TEXTFPE " - ADD_H5_TEST (ASCII_F64_R1 textpfe64.txt textpfe.conf textpfe.h5) + ADD_H5_TEST (ASCII_F64_R1 testfiles/textpfe64.txt testfiles/textpfe.conf textpfe.h5) ENDIF (BUILD_TESTING) diff --git a/tools/h5import/h5import.c b/tools/h5import/h5import.c index 56dc5ab..34870fb 100644 --- a/tools/h5import/h5import.c +++ b/tools/h5import/h5import.c @@ -371,11 +371,19 @@ static int processDataFile(char *infile, struct Input *in, hid_t file_id) break; case 5: /* STR */ - - if (processStrData(strm, in, file_id) == -1) { - (void) HDfprintf(stderr, err11, infile); - HDfclose(strm); - return (-1); + if (in->h5dumpInput) { + if (processStrHDFData(strm, in, file_id) == -1) { + (void) HDfprintf(stderr, err11, infile); + HDfclose(strm); + return (-1); + } + } + else { + if (processStrData(strm, in, file_id) == -1) { + (void) HDfprintf(stderr, err11, infile); + HDfclose(strm); + return (-1); + } } break; @@ -944,6 +952,179 @@ out: return (-1); } +/*------------------------------------------------------------------------- + * Function: processStrData + * + * Purpose: read an ASCII file with string data and generate an HDF5 dataset + * with a variable length type + * + * Return: 0, ok, -1 no + * + *------------------------------------------------------------------------- + */ +static int processStrHDFData(FILE *strm, struct Input *in, hid_t file_id) +{ + hid_t group_id; + hid_t dset_id; + hid_t space_id; + hid_t mspace_id; + hid_t type_id; + hid_t handle; + char *str1 = NULL; + char *str2 = NULL; + char *str3 = NULL; + char str[1024] = ""; + char c; + int results; + int j; + int nlines = 0; + int line; + + /*------------------------------------------------------------------------- + * read file and generate an HDF5 dataset + *------------------------------------------------------------------------- + */ +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING\n"); +#endif + + if ((type_id = H5Tcopy(H5T_C_S1)) < 0) + goto out; + + if (H5Tset_size(type_id, H5T_VARIABLE) < 0) + goto out; + + /* disable error reporting */ + H5E_BEGIN_TRY + { + /* create parent groups */ + if (in->path.count > 1) { + j = 0; + handle = file_id; + while (j < in->path.count - 1) { + if ((group_id = H5Gopen2(handle, in->path.group[j], H5P_DEFAULT)) < 0) { + group_id = H5Gcreate2(handle, in->path.group[j++], H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + for (; j < in->path.count - 1; j++) + group_id = H5Gcreate2(group_id, in->path.group[j], H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + handle = group_id; + break; + } + handle = group_id; + j++; + } + } + else { + handle = file_id; + j = 0; + } + + /*enable error reporting */ + } + H5E_END_TRY; +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING groups created\n"); +#endif + + if ((space_id = H5Screate_simple(in->rank, in->sizeOfDimension, NULL)) < 0) + goto out; + + if ((mspace_id = H5Screate(H5S_SCALAR)) < 0) + goto out; + + if ((dset_id = H5Dcreate2(handle, in->path.group[j], type_id, space_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) + goto out; + +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING ready to process strings\n"); +#endif + line = 0; + j = 0; + + while (HDfgets(str,sizeof(str),strm)) { + str1 = str; + str2 = NULL; + str3 = NULL; +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING[%d]={%s}\n", line, str1); +#endif + /* process string to remove the first and last quote char */ + str2 = strchr(str1, '"'); + if (str2 != NULL) { +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING len:%d for {%s}\n", strlen(str2), str2); +#endif + str2++; +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING len:%d for {%s}\n", strlen(str2), str2); +#endif + str3 = strrchr(str2, '"'); + if (str3 != NULL) { +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING len:%d for {%s}\n", strlen(str3), str3); +#endif + *str3 = '\0'; + +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING len:%d for {%s}\n", strlen(str2), str2); +#endif + + if(strlen(str2) > 0) { + hid_t fspace_id; + hsize_t start[1]; + hsize_t count[1] = { 1 }; + +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING[%d] store %s\n", line, str2); +#endif + if ((fspace_id = H5Dget_space(dset_id)) < 0) + goto out; + + start[0] = line++; + + if (H5Sselect_hyperslab(fspace_id, H5S_SELECT_SET, start, NULL, count, NULL) < 0) + goto out; + + if (H5Dwrite(dset_id, type_id, mspace_id, fspace_id, H5P_DEFAULT, &str2) < 0) + goto out; + + if (H5Sclose(fspace_id) < 0) + goto out; + } + } + } + str[0] = '\0'; + j++; + } +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING eof reached\n"); +#endif + + /* close */ + H5Dclose(dset_id); + H5Sclose(space_id); + H5Sclose(mspace_id); + H5Tclose(type_id); + + return (0); + +out: +#ifdef H5DEBUGIMPORT + printf("processStrHDFData DATATYPE STRING error exit\n"); +#endif +/* disable error reporting */ +H5E_BEGIN_TRY +{ + /* close */ + H5Dclose(dset_id); + H5Sclose(space_id); + H5Sclose(mspace_id); + H5Tclose(type_id); +} +H5E_END_TRY; + + return (-1); +} + static int allocateIntegerStorage(struct Input *in) { hsize_t len = 1; @@ -1075,6 +1256,7 @@ static int processConfigurationFile(char *infile, struct Input *in) int kindex; char temp[255]; int ival; + int scanret; const char *err1 = "Unable to open the configuration file: %s for reading.\n"; const char *err2 = "Unknown keyword in configuration file: %s\n"; @@ -1124,502 +1306,1818 @@ static int processConfigurationFile(char *infile, struct Input *in) return (-1); } - while (fscanf(strm, "%s", key) == 1) { - if ((kindex = mapKeywordToIndex(key)) == -1) { - (void) HDfprintf(stderr, err2, infile); - HDfclose(strm); - return (-1); - } - switch (kindex) { - case 0: /* PATH */ - if (in->configOptionVector[PATH] == 1) { - (void) HDfprintf(stderr, err3a, infile); - HDfclose(strm); - return (-1); - } - if (fscanf(strm, "%s", temp) != 1) { - (void) HDfprintf(stderr, "%s", err18); - HDfclose(strm); - return (-1); - } - if (parsePathInfo(&in->path, temp) == -1) { - (void) HDfprintf(stderr, err3b, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[PATH] = 1; - break; - - case 1: /* INPUT-CLASS */ - if (in->configOptionVector[INPUT_CLASS] == 1) { - (void) HDfprintf(stderr, err4a, infile); - HDfclose(strm); - return (-1); - } - - if (fscanf(strm, "%s", temp) != 1) { - (void) HDfprintf(stderr, "%s", err18); - HDfclose(strm); - return (-1); - } - if (getInputClass(in, temp) == -1) { - (void) HDfprintf(stderr, err4b, infile); - HDfclose(strm); - return (-1); - } - - in->configOptionVector[INPUT_CLASS] = 1; - - /*set default value for output-class */ - if (in->configOptionVector[OUTPUT_CLASS] == 0) { - if (in->inputClass == 0 || in->inputClass == 4) - in->outputClass = 0; - if (in->inputClass == 1 || in->inputClass == 2 - || in->inputClass == 3) - in->outputClass = 1; - if (in->inputClass == 6 || in->inputClass == 7) - in->outputClass = 2; - } - break; - - case 2: /* INPUT-SIZE */ - if (in->configOptionVector[INPUT_SIZE] == 1) { - (void) HDfprintf(stderr, err5a, infile); - HDfclose(strm); - return (-1); - } - if (fscanf(strm, "%d", (&ival)) != 1) { - (void) HDfprintf(stderr, "%s", err19); - HDfclose(strm); - return (-1); - } - if (getInputSize(in, ival) == -1) { - (void) HDfprintf(stderr, err5b, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[INPUT_SIZE] = 1; - - /*set default value for output-size */ - if (in->configOptionVector[OUTPUT_SIZE] == 0) - in->outputSize = in->inputSize; - break; - - case 3: /* RANK */ - if (in->configOptionVector[RANK] == 1) { - (void) HDfprintf(stderr, err6a, infile); - HDfclose(strm); - return (-1); - } - - if (getRank(in, strm) == -1) { - (void) HDfprintf(stderr, err6b, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[RANK] = 1; - break; - - case 4: /* DIMENSION-SIZES */ - if (in->configOptionVector[DIM] == 1) { - (void) HDfprintf(stderr, err7a, infile); - HDfclose(strm); - return (-1); - } + scanret = fscanf(strm, "%s", key); + if((scanret == 1) && !HDstrcmp("HDF5", key)) { +#ifdef H5DEBUGIMPORT + int pndx; + printf("\nh5dump file\n"); +#endif + in->h5dumpInput = 1; + scanret = fscanf(strm, "%s", temp); /* filename */ + scanret = fscanf(strm, "%s", temp); /* start bracket */ + scanret = fscanf(strm, "%s", key); /* DATASET */ + while (scanret == 1) { + if(!HDstrcmp("DATASET", key)) { /* PATH */ +#ifdef H5DEBUGIMPORT + printf("h5dump DATASET key\n"); +#endif + if (in->configOptionVector[PATH] == 1) { + (void) HDfprintf(stderr, err3a, infile); + HDfclose(strm); + return (-1); + } + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASET %s found\n", temp); +#endif + if (parsePathInfo(&in->path, temp) == -1) { + (void) HDfprintf(stderr, err3b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[PATH] = 1; + scanret = fscanf(strm, "%s", temp); /* start bracket */ +#ifdef H5DEBUGIMPORT + printf("h5dump DATASET %s found\n", temp); +#endif + } /* if(!HDstrcmp("DATASET", key)) PATH */ + else if(!HDstrcmp("DATATYPE", key)) { /* INPUT-CLASS */ +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE key\n"); +#endif + if (in->configOptionVector[INPUT_CLASS] == 1) { + (void) HDfprintf(stderr, err4a, infile); + HDfclose(strm); + return (-1); + } - if (in->configOptionVector[RANK] == 0) { - (void) HDfprintf(stderr, err7b, infile); - HDfclose(strm); - return (-1); - } - if (getDimensionSizes(in, strm) == -1) { - (void) HDfprintf(stderr, err7c, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[DIM] = 1; - break; + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE %s found\n", temp); +#endif + if ((kindex = getInputClassType(in, temp)) == -1) { + (void) HDfprintf(stderr, err4b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE type %d inputClass\n", in->inputClass); +#endif - case 5: /* OUTPUT-CLASS */ - if (in->configOptionVector[OUTPUT_CLASS] == 1) { - (void) HDfprintf(stderr, err8a, infile); - HDfclose(strm); - return (-1); - } + in->configOptionVector[INPUT_CLASS] = 1; + + /*set default value for output-class */ + if (in->configOptionVector[OUTPUT_CLASS] == 0) { + if (in->inputClass == 0 || in->inputClass == 4) + in->outputClass = 0; + if (in->inputClass == 1 || in->inputClass == 2 + || in->inputClass == 3) + in->outputClass = 1; + if (in->inputClass == 6 || in->inputClass == 7) + in->outputClass = 2; + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE type %d outputClass\n", in->outputClass); +#endif - if (getOutputClass(in, strm) == -1) { - (void) HDfprintf(stderr, err8b, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[OUTPUT_CLASS] = 1; - break; + if(in->inputClass == 5) { /* STRING */ + int get_next_prop = 1; + in->outputClass = -1; +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE STRING found\n"); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* start bracket */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE STRING %s found\n", temp); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* string properties */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } + while (get_next_prop) { + if(!HDstrcmp("STRSIZE", temp)) { /* STRSIZE */ + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, "%s", err19); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE STRING STRSIZE %s found\n", temp); +#endif + if (HDstrcmp("H5T_VARIABLE;", temp)) { + char *more = temp; + ival = HDstrtol(more, &more, 10); + if (getInputSize(in, ival) == -1) { + (void) HDfprintf(stderr, err5b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE STRING %d InputSize\n", in->inputSize); +#endif + } + } + else if(!HDstrcmp("STRPAD", temp)) { /* STRPAD */ + if (fscanf(strm, "%s", temp) != 1) { /* STRPAD type */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE STRING STRPAD %s found\n", temp); +#endif + } + else if(!HDstrcmp("CSET", key)) { /* CSET */ + if (fscanf(strm, "%s", temp) != 1) { /* CSET type */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE STRING CSET %s found\n", temp); +#endif - case 6: /* OUTPUT-SIZE */ - if (in->configOptionVector[OUTPUT_SIZE] == 1) { - (void) HDfprintf(stderr, err9a, infile); - HDfclose(strm); - return (-1); - } + } + else if(!HDstrcmp("CTYPE", temp)) { /* CTYPE */ + if (fscanf(strm, "%s", temp) != 1) { /* CTYPE type */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE STRING CTYPE %s found\n", temp); +#endif + } /* if(!HDstrcmp("CSET", key)) */ + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE STRING %s found\n", temp); +#endif + if(!HDstrcmp("}", temp)) { /* end bracket */ + get_next_prop = 0; + } + } /* while (get_next_prop) */ + } /* if(kindex == 5) STRING */ + } /* else if(!HDstrcmp("DATATYPE", key)) INPUT-CLASS */ + else if(!HDstrcmp("DATASPACE", key)) { /* RANK and DIMENSIONS */ + hsize_t temp_dims[MAX_NUM_DIMENSION]; + +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE key\n"); +#endif + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } + if(!HDstrcmp("SCALAR", temp)) { /* SCALAR */ + in->rank = 0; + } /* if(!HDstrcmp("SCALAR", key)) */ + else if(!HDstrcmp("NULL", temp)) { /* NULL */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } /* else if(!HDstrcmp("NULL", key)) */ + else if(!HDstrcmp("SIMPLE", temp)) { /* SIMPLE */ + int icount = 0; +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE found\n"); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* start bracket */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %s found\n", temp); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* start paren */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %s found\n", temp); +#endif + if(!HDstrcmp("(", temp)) { /* start paren */ + int get_next_dim = 1; + int i = 0; + + if (fscanf(strm, "%s", temp) != 1) { /* Dimension with optional comma */ + (void) HDfprintf(stderr, err16c, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %s found\n", temp); +#endif + while (get_next_dim) { + char *more = temp; + temp_dims[icount] = HDstrtoull(more, &more, 10); + if (fscanf(strm, "%s", temp) != 1) { /* Dimension or end paren */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %s found\n", temp); +#endif + if(!HDstrcmp(")", temp)) { /* end paren */ + in->rank = ++icount; + in->configOptionVector[RANK] = 1; + get_next_dim = 0; + } + else { /* Dimension */ + icount++; + if (icount > MAX_NUM_DIMENSION) { + (void) HDfprintf(stderr, "Invalid value for rank.\n"); + HDfclose(strm); + return (-1); + } + } + } /* while (get_next_dim) */ + + if ((in->sizeOfDimension = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) { + (void) HDfprintf(stderr, "Unable to allocate dynamic memory.\n"); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %d rank\n", in->rank); +#endif + for (i = 0; i < in->rank; i++) { + in->sizeOfDimension[i] = temp_dims[i]; + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE dims:", in->rank); + for (pndx = 0; pndx < in->rank; pndx++) { + printf(" %d", in->sizeOfDimension[pndx]); + } + printf("\n"); +#endif + in->configOptionVector[DIM] = 1; + } /* if(!HDstrcmp("(", key)) start paren */ + else { + (void) HDfprintf(stderr, err5b, infile); + HDfclose(strm); + return (-1); + } + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %s found\n", temp); +#endif + if(!HDstrcmp("/", temp)) { /* / max dims */ + if ((in->maxsizeOfDimension = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) { + (void) HDfprintf(stderr, "Unable to allocate dynamic memory.\n"); + return (-1); + } + if (fscanf(strm, "%s", temp) != 1) { /* start paren */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %s found\n", temp); +#endif + if(!HDstrcmp("(", temp)) { /* start paren */ + int get_next_dim = 1; + int i = 0; - if (getOutputSize(in, strm) == -1) { - (void) HDfprintf(stderr, err9b, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[OUTPUT_SIZE] = 1; - break; - - case 7: /* OUTPUT-ARCHITECTURE */ - if (in->configOptionVector[OUTPUT_ARCH] == 1) { - (void) HDfprintf(stderr, err10a, infile); - HDfclose(strm); - return (-1); +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE process max dim values\n"); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* max dim with optional comma */ + (void) HDfprintf(stderr, err16c, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %s found\n", temp); +#endif + while (get_next_dim) { +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE get max dim value\n"); +#endif + if(!HDstrcmp("H5S_UNLIMITED", temp) || !HDstrcmp("H5S_UNLIMITED,", temp)) { /* unlimited */ + in->maxsizeOfDimension[i] = H5S_UNLIMITED; + in->configOptionVector[EXTEND] = 1; + } + else { + char *more = temp; + in->maxsizeOfDimension[i] = HDstrtoull(more, &more, 10); + } + if (fscanf(strm, "%s", temp) != 1) { /* max dim or end paren */ + (void) HDfprintf(stderr, err16c, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %s found\n", temp); +#endif + if(!HDstrcmp(")", temp)) { /* end paren */ + get_next_dim = 0; + } + else { /* comma */ + i++; + if (i > MAX_NUM_DIMENSION) { + (void) HDfprintf(stderr, "Invalid value for rank.\n"); + HDfclose(strm); + return (-1); + } + } + } /* while (get_next_dim) */ +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE maxdims:", in->rank); + for (pndx = 0; pndx < in->rank; pndx++) { + printf(" %d", in->maxsizeOfDimension[pndx]); + } + printf("\n"); + printf("h5dump DATASPACE SIMPLE get max dim finished\n"); +#endif + } /* if(!HDstrcmp("(", key)) start paren */ + else { + (void) HDfprintf(stderr, err16c, infile); + HDfclose(strm); + return (-1); + } + scanret = fscanf(strm, "%s", temp); /* end bracket */ +#ifdef H5DEBUGIMPORT + printf("h5dump DATASPACE SIMPLE %s found\n", temp); +#endif + } /* if(!HDstrcmp("/", key)) max dims separator */ + } /* else if(!HDstrcmp("SIMPLE", key)) */ + else { + (void) HDfprintf(stderr, err5b, infile); + HDfclose(strm); + return (-1); + } + } /* else if(!HDstrcmp("DATASPACE", key)) RANK and DIMENSIONS */ + else if(!HDstrcmp("STORAGE_LAYOUT", key)) { /* CHUNKED-DIMENSION-SIZES */ +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT key\n"); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* start bracket */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT %s found\n", temp); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* CHUNKED */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT %s found\n", temp); +#endif + if(!HDstrcmp("CHUNKED", temp)) { /* CHUNKED */ + if ((in->sizeOfChunk = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) { + (void) HDfprintf(stderr, "Unable to allocate dynamic memory.\n"); + return (-1); + } + if (fscanf(strm, "%s", temp) != 1) { /* start paren */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp); +#endif + if(!HDstrcmp("(", temp)) { /* start paren */ + int get_next_dim = 1; + int icount = 0; + + if (fscanf(strm, "%s", temp) != 1) { /* Dimension with optional comma */ + (void) HDfprintf(stderr, err16c, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp); +#endif + while (get_next_dim) { + char *more = temp; + in->sizeOfChunk[icount] = HDstrtoull(more, &more, 10); + if (fscanf(strm, "%s", temp) != 1) { /* Dimension or end paren */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp); +#endif + if(!HDstrcmp(")", temp)) { /* end paren */ + in->configOptionVector[RANK] = 1; + get_next_dim = 0; + } + else { /* Dimension */ + icount++; + if (icount > MAX_NUM_DIMENSION) { + (void) HDfprintf(stderr, "Invalid value for rank.\n"); + HDfclose(strm); + return (-1); + } + } + } /* while (get_next_dim) */ +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT CHUNKED dims:", in->rank); + for (pndx = 0; pndx < in->rank; pndx++) { + printf(" %d", in->sizeOfChunk[pndx]); + } + printf("\n"); +#endif + in->configOptionVector[DIM] = 1; + } /* if(!HDstrcmp("(", key)) start paren */ + else { + (void) HDfprintf(stderr, err5b, infile); + HDfclose(strm); + return (-1); + } + if (fscanf(strm, "%s", temp) != 1) { /* SIZE */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp); +#endif + if(!HDstrcmp("SIZE", temp)) { /* SIZE */ + if (fscanf(strm, "%d", (&ival)) != 1) { + (void) HDfprintf(stderr, "%s", err19); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT CHUNKED SIZE %d found\n", ival); +#endif + } + while (HDstrcmp("}", temp)) { + if (fscanf(strm, "%s", temp) != 1) { /* end bracket */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump STORAGE_LAYOUT CHUNKED %s found\n", temp); +#endif + } + in->configOptionVector[CHUNK] = 1; + } /* if(!HDstrcmp("CHUNKED", key)) CHUNKED */ + } /* else if(!HDstrcmp("STORAGE_LAYOUT", key)) CHUNKED-DIMENSION-SIZES */ + else if(!HDstrcmp("FILTERS", key)) { /* FILTERS */ +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS key\n"); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* start bracket */ + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS %s found\n", temp); +#endif + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS %s found\n", temp); +#endif + if(!HDstrcmp("COMPRESSION", temp)) { /* COMPRESSION */ +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS COMPRESSION found\n"); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* DEFLATE */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS COMPRESSION %s found\n", temp); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* bgin bracket */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS COMPRESSION %s found\n", temp); +#endif + if (fscanf(strm, "%s", temp) != 1) { /* LEVEL */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS COMPRESSION %s found\n", temp); +#endif + if (fscanf(strm, "%d", (&ival)) != 1) { + (void) HDfprintf(stderr, "%s", err19); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS COMPRESSION LEVEL %d found\n", ival); +#endif + in->compressionParam = ival; + if (fscanf(strm, "%s", temp) != 1) { /* end bracket */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS COMPRESSION %s found\n", temp); +#endif + in->compressionType = 0; /* ONLY GZIP supported */ + in->configOptionVector[COMPRESS] = 1; + } + else if(!HDstrcmp("CONTIGUOUS", temp)) { /* CONTIGUOUS */ +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS CONTIGUOUS found\n"); +#endif + in->configOptionVector[COMPRESS] = 0; + } + else if(!HDstrcmp("NONE", temp)) { /* NONE */ +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS NONE found\n"); +#endif + in->configOptionVector[COMPRESS] = 0; + } + if (fscanf(strm, "%s", temp) != 1) { /* end bracket */ + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } +#ifdef H5DEBUGIMPORT + printf("h5dump FILTERS %s found\n", temp); +#endif } - - if (getOutputArchitecture(in, strm) == -1) { - (void) HDfprintf(stderr, err10b, infile); - HDfclose(strm); - return (-1); + else if(!HDstrcmp("DATA", key)) { /* FINSHED */ +#ifdef H5DEBUGIMPORT + printf("h5dump DATA key\n"); +#endif + scanret = 0; + break; } - in->configOptionVector[OUTPUT_ARCH] = 1; - break; - - case 8: /* OUTPUT-BYTE-ORDER */ - if (in->configOptionVector[OUTPUT_B_ORDER] == 1) { - (void) HDfprintf(stderr, err11a, infile); + scanret = fscanf(strm, "%s", key); + } +#ifdef H5DEBUGIMPORT + printf("h5dump path"); + for (pndx = 0; pndx < in->path.count; pndx++) { + printf(" : %s", in->path.group[pndx]); + } + printf("\n"); + printf("h5dump inputClass=%d\n", in->inputClass); + printf("h5dump inputSize=%d\n", in->inputSize); + printf("h5dump rank=%d\n", in->rank); + printf("h5dump outputClass=%d\n", in->outputClass); + printf("h5dump outputSize=%d\n", in->outputSize); + printf("h5dump outputArchitecture=%d\n", in->outputArchitecture); + printf("h5dump outputByteOrder=%d\n", in->outputByteOrder); + printf("h5dump compressionType=%d\n", in->compressionType); + printf("h5dump compressionParam=%d\n", in->compressionParam); + printf("h5dump externFilename=%s\n", in->externFilename); + printf("h5dump configOptionVector:\n"); + for (pndx = 0; pndx < NUM_KEYS; pndx++) { + printf(" %s=%d\n", keytable[pndx], in->configOptionVector[pndx]); + } +#endif + } + else { + while (scanret == 1) { + if ((kindex = mapKeywordToIndex(key)) == -1) { + (void) HDfprintf(stderr, err2, infile); HDfclose(strm); return (-1); } + switch (kindex) { + case 0: /* PATH */ + if (in->configOptionVector[PATH] == 1) { + (void) HDfprintf(stderr, err3a, infile); + HDfclose(strm); + return (-1); + } + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } + if (parsePathInfo(&in->path, temp) == -1) { + (void) HDfprintf(stderr, err3b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[PATH] = 1; + break; - if (getOutputByteOrder(in, strm) == -1) { - (void) HDfprintf(stderr, err11b, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[OUTPUT_B_ORDER] = 1; - break; + case 1: /* INPUT-CLASS */ + if (in->configOptionVector[INPUT_CLASS] == 1) { + (void) HDfprintf(stderr, err4a, infile); + HDfclose(strm); + return (-1); + } - case 9: /* CHUNKED-DIMENSION-SIZES */ - if (in->configOptionVector[CHUNK] == 1) { - (void) HDfprintf(stderr, err12a, infile); - HDfclose(strm); - return (-1); - } - /* cant appear before dimension sizes have been provided */ - if (in->configOptionVector[DIM] == 0) { - (void) HDfprintf(stderr, err12b, infile); - HDfclose(strm); - return (-1); - } + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, "%s", err18); + HDfclose(strm); + return (-1); + } + if (getInputClass(in, temp) == -1) { + (void) HDfprintf(stderr, err4b, infile); + HDfclose(strm); + return (-1); + } - if (getChunkedDimensionSizes(in, strm) == -1) { - (void) HDfprintf(stderr, err12c, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[CHUNK] = 1; - break; + in->configOptionVector[INPUT_CLASS] = 1; + + /*set default value for output-class */ + if (in->configOptionVector[OUTPUT_CLASS] == 0) { + if (in->inputClass == 0 || in->inputClass == 4) + in->outputClass = 0; + if (in->inputClass == 1 || in->inputClass == 2 + || in->inputClass == 3) + in->outputClass = 1; + if (in->inputClass == 6 || in->inputClass == 7) + in->outputClass = 2; + } + break; - case 10: /* COMPRESSION-TYPE */ - if (in->configOptionVector[COMPRESS] == 1) { - (void) HDfprintf(stderr, err13a, infile); - HDfclose(strm); - return (-1); - } + case 2: /* INPUT-SIZE */ + if (in->configOptionVector[INPUT_SIZE] == 1) { + (void) HDfprintf(stderr, err5a, infile); + HDfclose(strm); + return (-1); + } + if (fscanf(strm, "%d", (&ival)) != 1) { + (void) HDfprintf(stderr, "%s", err19); + HDfclose(strm); + return (-1); + } + if (getInputSize(in, ival) == -1) { + (void) HDfprintf(stderr, err5b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[INPUT_SIZE] = 1; - if (getCompressionType(in, strm) == -1) { - (void) HDfprintf(stderr, err13b, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[COMPRESS] = 1; + /*set default value for output-size */ + if (in->configOptionVector[OUTPUT_SIZE] == 0) + in->outputSize = in->inputSize; + break; - if (in->configOptionVector[COMPRESS_PARAM] == 0) { - if (in->compressionType == 0) - in->compressionParam = 6; /* default value if compressionType is GZIP */ - } - break; + case 3: /* RANK */ + if (in->configOptionVector[RANK] == 1) { + (void) HDfprintf(stderr, err6a, infile); + HDfclose(strm); + return (-1); + } - case 11: /* COMPRESSION-PARAM */ - if (in->configOptionVector[COMPRESS_PARAM] == 1) { - (void) HDfprintf(stderr, err14a, infile); - HDfclose(strm); - return (-1); - } + if (getRank(in, strm) == -1) { + (void) HDfprintf(stderr, err6b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[RANK] = 1; + break; - if (getCompressionParameter(in, strm) == -1) { - (void) HDfprintf(stderr, err14b, infile); - HDfclose(strm); - return (-1); - } + case 4: /* DIMENSION-SIZES */ + if (in->configOptionVector[DIM] == 1) { + (void) HDfprintf(stderr, err7a, infile); + HDfclose(strm); + return (-1); + } - in->configOptionVector[COMPRESS_PARAM] = 1; + if (in->configOptionVector[RANK] == 0) { + (void) HDfprintf(stderr, err7b, infile); + HDfclose(strm); + return (-1); + } + if (getDimensionSizes(in, strm) == -1) { + (void) HDfprintf(stderr, err7c, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[DIM] = 1; + break; - if (in->configOptionVector[COMPRESS] == 0) - in->compressionType = 0; + case 5: /* OUTPUT-CLASS */ + if (in->configOptionVector[OUTPUT_CLASS] == 1) { + (void) HDfprintf(stderr, err8a, infile); + HDfclose(strm); + return (-1); + } - break; + if (getOutputClass(in, strm) == -1) { + (void) HDfprintf(stderr, err8b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[OUTPUT_CLASS] = 1; + break; - case 12: /* EXTERNAL-STORAGE */ - if (in->configOptionVector[EXTERNALSTORE] == 1) { - (void) HDfprintf(stderr, err15a, infile); - HDfclose(strm); - return (-1); - } + case 6: /* OUTPUT-SIZE */ + if (in->configOptionVector[OUTPUT_SIZE] == 1) { + (void) HDfprintf(stderr, err9a, infile); + HDfclose(strm); + return (-1); + } - if (getExternalFilename(in, strm) == -1) { - (void) HDfprintf(stderr, err15b, infile); - HDfclose(strm); - return (-1); - } - in->configOptionVector[EXTERNALSTORE] = 1; - break; + if (getOutputSize(in, strm) == -1) { + (void) HDfprintf(stderr, err9b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[OUTPUT_SIZE] = 1; + break; - case 13: /* MAXIMUM-DIMENSIONS */ - if (in->configOptionVector[EXTEND] == 1) { - (void) HDfprintf(stderr, err16a, infile); - HDfclose(strm); - return (-1); - } - /* cant appear before dimension sizes have been provided */ - if (in->configOptionVector[DIM] == 0) { - (void) HDfprintf(stderr, err16b, infile); - HDfclose(strm); - return (-1); - } - if (getMaximumDimensionSizes(in, strm) == -1) { - (void) HDfprintf(stderr, err16c, infile); - HDfclose(strm); - return (-1); + case 7: /* OUTPUT-ARCHITECTURE */ + if (in->configOptionVector[OUTPUT_ARCH] == 1) { + (void) HDfprintf(stderr, err10a, infile); + HDfclose(strm); + return (-1); + } + + if (getOutputArchitecture(in, strm) == -1) { + (void) HDfprintf(stderr, err10b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[OUTPUT_ARCH] = 1; + break; + + case 8: /* OUTPUT-BYTE-ORDER */ + if (in->configOptionVector[OUTPUT_B_ORDER] == 1) { + (void) HDfprintf(stderr, err11a, infile); + HDfclose(strm); + return (-1); + } + + if (getOutputByteOrder(in, strm) == -1) { + (void) HDfprintf(stderr, err11b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[OUTPUT_B_ORDER] = 1; + break; + + case 9: /* CHUNKED-DIMENSION-SIZES */ + if (in->configOptionVector[CHUNK] == 1) { + (void) HDfprintf(stderr, err12a, infile); + HDfclose(strm); + return (-1); + } + /* cant appear before dimension sizes have been provided */ + if (in->configOptionVector[DIM] == 0) { + (void) HDfprintf(stderr, err12b, infile); + HDfclose(strm); + return (-1); + } + + if (getChunkedDimensionSizes(in, strm) == -1) { + (void) HDfprintf(stderr, err12c, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[CHUNK] = 1; + break; + + case 10: /* COMPRESSION-TYPE */ + if (in->configOptionVector[COMPRESS] == 1) { + (void) HDfprintf(stderr, err13a, infile); + HDfclose(strm); + return (-1); + } + + if (getCompressionType(in, strm) == -1) { + (void) HDfprintf(stderr, err13b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[COMPRESS] = 1; + + if (in->configOptionVector[COMPRESS_PARAM] == 0) { + if (in->compressionType == 0) + in->compressionParam = 6; /* default value if compressionType is GZIP */ + } + break; + + case 11: /* COMPRESSION-PARAM */ + if (in->configOptionVector[COMPRESS_PARAM] == 1) { + (void) HDfprintf(stderr, err14a, infile); + HDfclose(strm); + return (-1); + } + + if (getCompressionParameter(in, strm) == -1) { + (void) HDfprintf(stderr, err14b, infile); + HDfclose(strm); + return (-1); + } + + in->configOptionVector[COMPRESS_PARAM] = 1; + + if (in->configOptionVector[COMPRESS] == 0) + in->compressionType = 0; + + break; + + case 12: /* EXTERNAL-STORAGE */ + if (in->configOptionVector[EXTERNALSTORE] == 1) { + (void) HDfprintf(stderr, err15a, infile); + HDfclose(strm); + return (-1); + } + + if (getExternalFilename(in, strm) == -1) { + (void) HDfprintf(stderr, err15b, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[EXTERNALSTORE] = 1; + break; + + case 13: /* MAXIMUM-DIMENSIONS */ + if (in->configOptionVector[EXTEND] == 1) { + (void) HDfprintf(stderr, err16a, infile); + HDfclose(strm); + return (-1); + } + /* cant appear before dimension sizes have been provided */ + if (in->configOptionVector[DIM] == 0) { + (void) HDfprintf(stderr, err16b, infile); + HDfclose(strm); + return (-1); + } + if (getMaximumDimensionSizes(in, strm) == -1) { + (void) HDfprintf(stderr, err16c, infile); + HDfclose(strm); + return (-1); + } + in->configOptionVector[EXTEND] = 1; + break; + + default: + break; } - in->configOptionVector[EXTEND] = 1; - break; + scanret = fscanf(strm, "%s", key); + } + } + + /* + check if keywords obtained are valid + if yes, return 0 else error + */ + + if (validateConfigurationParameters(in) == -1) { + (void) HDfprintf(stderr, err17, infile); + HDfclose(strm); + return (-1); + } + HDfclose(strm); + return (0); +} + +static int validateConfigurationParameters(struct Input *in) +{ + const char *err1 = "One or more of the required fields (RANK, DIMENSION-SIZES) missing.\n"; + const char *err2 = "Cannot specify chunking or compression or extendible data sets with the external file option.\n"; + const char *err3 = "Cannot specify the compression or the extendible data sets without the chunking option.\n"; + const char *err4a = "OUTPUT-ARCHITECTURE cannot be STD if OUTPUT-CLASS is floating point (FP).\n"; + const char *err4b = "OUTPUT-ARCHITECTURE cannot be IEEE if OUTPUT-CLASS is integer (IN).\n"; + const char *err5 = "For OUTPUT-CLASS FP, valid values for OUTPUT-SIZE are (32, 64) .\n"; +#ifndef H5_SIZEOF_LONG_LONG + const char *err6 = "No support for reading 64-bit integer (INPUT-CLASS: IN, TEXTIN, UIN, TEXTUIN files\n"; +#endif + + /* for class STR other parameters are ignored */ + if (in->inputClass == 5) /* STR */ + return (0); + + if ((in->configOptionVector[DIM] != 1) || (in->configOptionVector[RANK] != 1)) { + (void) HDfprintf(stderr, "%s", err1); + return (-1); + } + + if (in->configOptionVector[EXTERNALSTORE] == 1) { + if ((in->configOptionVector[COMPRESS] == 1) || (in->configOptionVector[CHUNK] == 1) || (in->configOptionVector[EXTEND] == 1)) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + } + + if ((in->configOptionVector[COMPRESS] == 1) || (in->configOptionVector[EXTEND] == 1)) { + if (in->configOptionVector[CHUNK] != 1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + } + + /* Arch cant be STD if O/p class is FP */ + if (in->outputArchitecture == 1) + if (in->outputClass == 1) { + (void) HDfprintf(stderr, "%s", err4a); + return (-1); + } + + /* Arch cant be IEEE if O/p class is IN */ + if (in->outputArchitecture == 2) + if (in->outputClass == 0) { + (void) HDfprintf(stderr, "%s", err4b); + return (-1); + } + + if (in->outputClass == 1) + if (in->outputSize != 32 && in->outputSize != 64) { + (void) HDfprintf(stderr, "%s", err5); + return (-1); + } + +#ifndef H5_SIZEOF_LONG_LONG + if (in->inputSize == 64 && (in->inputClass == 0 || in->inputClass == 4 || in->inputClass == 6 || in->inputClass == 7) ) { + (void) HDfprintf(stderr, "%s", err6); + return -1; + } +#endif + return (0); +} + +static int mapKeywordToIndex(char *key) +{ + int i; + + for (i = 0; i < NUM_KEYS; i++) + if (!HDstrcmp(keytable[i], key)) + return i; + return -1; +} + +static int parsePathInfo(struct path_info *path, char *temp) +{ + const char delimiter[] = "/\""; + char *token; + int i = 0; + const char *err1 = "Path string larger than MAX_PATH_NAME_LENGTH.\n"; + + token = HDstrtok (temp, delimiter); + if (HDstrlen(token) >= MAX_PATH_NAME_LENGTH) { + (void) HDfprintf(stderr, err1); + return (-1); + } + HDstrcpy(path->group[i++],token); + + while (1) { + token = HDstrtok (NULL, delimiter); + if (token == NULL) + break; + if (HDstrlen(token) >= MAX_PATH_NAME_LENGTH) { + (void) HDfprintf(stderr, err1); + return (-1); + } + HDstrcpy(path->group[i++],token); + } + path->count = i; + return (0); +} + +static int parseDimensions(struct Input *in, char *strm) +{ + const char delimiter[] = ","; + char temp[255]; + char *token; + int i = 0; + const char *err1 = "Unable to allocate dynamic memory.\n"; + + HDstrncpy(temp, strm, sizeof(temp)); + temp[sizeof(temp) - 1] = '\0'; + HDstrtok (temp, delimiter); + + while (1) { + token = HDstrtok (NULL, delimiter); + if (token == NULL) + break; + i++; + } + in->rank = i + 1; + if ((in->sizeOfDimension = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) { + (void) HDfprintf(stderr, "%s", err1); + return (-1); + } + + i = 0; + HDstrncpy(temp, strm, sizeof(temp)); + temp[sizeof(temp) - 1] = '\0'; + in->sizeOfDimension[i++] + = HDstrtol(HDstrtok (temp, delimiter), NULL, BASE_10); + + while (1) { + token = HDstrtok (NULL, delimiter); + if (token == NULL) + break; + in->sizeOfDimension[i++] = HDstrtol(token, NULL, BASE_10); + } + return (0); +} + +static int getOutputClass(struct Input *in, FILE *strm) +{ + char temp[255]; + int kindex; + const char *err1 = "Unable to get 'string' value.\n"; + const char *err2 = "Invalid value for output class.\n"; + + if (fscanf(strm, "%s", temp) != 1) { + (void) HDfprintf(stderr, "%s", err1); + return (-1); + } + + if ((kindex = OutputClassStrToInt(temp)) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + + in->outputClass = kindex; + return (0); +} + +static int OutputClassStrToInt(char *temp) +{ + int i; + char classKeywordTable[3][15] = { "IN", "FP", "UIN" }; + for (i = 0; i < 3; i++) + if (!HDstrcmp(classKeywordTable[i], temp)) + return i; + + return -1; +} +/* same as getInputSize. But defined separately for extensibility */ +static int getOutputSize(struct Input *in, FILE *strm) +{ + int ival; + int i; + int outputSizeValidValues[4] = { 8, 16, 32, 64 }; + const char *err1 = "Unable to get integer value.\n"; + const char *err2 = "Invalid value for output size.\n"; + + if (fscanf(strm, "%d", (&ival)) != 1) { + (void) HDfprintf(stderr, "%s", err1); + return (-1); + } + + for (i = 0; i < 4; i++) + if (outputSizeValidValues[i] == ival) { + in->outputSize = ival; + return (0); + } + (void) HDfprintf(stderr, "%s", err2); + return (-1); +} + +static int getInputClass(struct Input *in, char * temp) +{ + int kindex; + const char *err1 = "Invalid value for input class.\n"; + + if ((kindex = InputClassStrToInt(temp)) == -1) { + (void) HDfprintf(stderr, "%s", err1); + return (-1); + } + + in->inputClass = kindex; + return (0); +} + +static int getInputClassType(struct Input *in, char * buffer) +{ + int kindex = -1; + const char *err1 = "Invalid value for input class.\n"; + const char *err2 = "Invalid value for output architecture.\n"; + const char *err3 = "Invalid value for output byte-order.\n"; + + if (!HDstrcmp(buffer, "H5T_STD_I8BE")) { + in->inputSize = 8; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_STD_I8LE")) { + in->inputSize = 8; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_STD_I16BE")) { + in->inputSize = 16; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_STD_I16LE")) { + in->inputSize = 16; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_STD_I32BE")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_STD_I32LE")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_STD_I64BE")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_STD_I64LE")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_STD_U8BE")) { + in->inputSize = 8; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_STD_U8LE")) { + in->inputSize = 8; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_STD_U16BE")) { + in->inputSize = 16; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_STD_U16LE")) { + in->inputSize = 16; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_STD_U32BE")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_STD_U32LE")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_STD_U64BE")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_STD_U64LE")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_SCHAR")) { + in->inputSize = 8; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_UCHAR")) { + in->inputSize = 8; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_SHORT")) { + in->inputSize = 16; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_USHORT")) { + in->inputSize = 16; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_INT")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_UINT")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_LONG")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_ULONG")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_LLONG")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 4; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_ULLONG")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + kindex = 7; + } + else if (!HDstrcmp(buffer, "H5T_IEEE_F32BE")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("IEEE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; - default: - break; + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); } - } - /* - check if keywords obtained are valid - if yes, return 0 else error - */ + in->outputByteOrder = kindex; - if (validateConfigurationParameters(in) == -1) { - (void) HDfprintf(stderr, err17, infile); - HDfclose(strm); - return (-1); + kindex = 3; } + else if (!HDstrcmp(buffer, "H5T_IEEE_F32LE")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; - HDfclose(strm); - return (0); -} - -static int validateConfigurationParameters(struct Input *in) -{ - const char *err1 = "One or more of the required fields (RANK, DIMENSION-SIZES) missing.\n"; - const char *err2 = "Cannot specify chunking or compression or extendible data sets with the external file option.\n"; - const char *err3 = "Cannot specify the compression or the extendible data sets without the chunking option.\n"; - const char *err4a = "OUTPUT-ARCHITECTURE cannot be STD if OUTPUT-CLASS is floating point (FP).\n"; - const char *err4b = "OUTPUT-ARCHITECTURE cannot be IEEE if OUTPUT-CLASS is integer (IN).\n"; - const char *err5 = "For OUTPUT-CLASS FP, valid values for OUTPUT-SIZE are (32, 64) .\n"; -#ifndef H5_SIZEOF_LONG_LONG - const char *err6 = "No support for reading 64-bit integer (INPUT-CLASS: IN, TEXTIN, UIN, TEXTUIN files\n"; -#endif + if ((kindex = OutputArchStrToInt("IEEE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; - /* for class STR other parameters are ignored */ - if (in->inputClass == 5) /* STR */ - return (0); + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; - if ((in->configOptionVector[DIM] != 1) || (in->configOptionVector[RANK] != 1)) { - (void) HDfprintf(stderr, "%s", err1); - return (-1); + kindex = 3; } + else if (!HDstrcmp(buffer, "H5T_IEEE_F64BE")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; - if (in->configOptionVector[EXTERNALSTORE] == 1) { - if ((in->configOptionVector[COMPRESS] == 1) || (in->configOptionVector[CHUNK] == 1) || (in->configOptionVector[EXTEND] == 1)) { + if ((kindex = OutputArchStrToInt("IEEE")) == -1) { (void) HDfprintf(stderr, "%s", err2); return (-1); } - } + in->outputArchitecture = kindex; - if ((in->configOptionVector[COMPRESS] == 1) || (in->configOptionVector[EXTEND] == 1)) { - if (in->configOptionVector[CHUNK] != 1) { + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { (void) HDfprintf(stderr, "%s", err3); return (-1); } + in->outputByteOrder = kindex; + + kindex = 3; } + else if (!HDstrcmp(buffer, "H5T_IEEE_F64LE")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; - /* Arch cant be STD if O/p class is FP */ - if (in->outputArchitecture == 1) - if (in->outputClass == 1) { - (void) HDfprintf(stderr, "%s", err4a); + if ((kindex = OutputArchStrToInt("IEEE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); return (-1); } + in->outputArchitecture = kindex; - /* Arch cant be IEEE if O/p class is IN */ - if (in->outputArchitecture == 2) - if (in->outputClass == 0) { - (void) HDfprintf(stderr, "%s", err4b); + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); return (-1); } + in->outputByteOrder = kindex; - if (in->outputClass == 1) - if (in->outputSize != 32 && in->outputSize != 64) { - (void) HDfprintf(stderr, "%s", err5); + kindex = 3; + } + else if (!HDstrcmp(buffer, "H5T_VAX_F32")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + kindex = 3; + } + else if (!HDstrcmp(buffer, "H5T_VAX_F64")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; + + kindex = 3; + } + else if (!HDstrcmp(buffer, "H5T_NATIVE_FLOAT")) { + in->inputSize = 32; + in->configOptionVector[INPUT_SIZE] = 1; + + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); return (-1); } + in->outputArchitecture = kindex; -#ifndef H5_SIZEOF_LONG_LONG - if (in->inputSize == 64 && (in->inputClass == 0 || in->inputClass == 4 || in->inputClass == 6 || in->inputClass == 7) ) { - (void) HDfprintf(stderr, "%s", err6); - return -1; + kindex = 3; } -#endif - return (0); -} + else if (!HDstrcmp(buffer, "H5T_NATIVE_DOUBLE")) { + in->inputSize = 64; + in->configOptionVector[INPUT_SIZE] = 1; -static int mapKeywordToIndex(char *key) -{ - int i; + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; - for (i = 0; i < NUM_KEYS; i++) - if (!HDstrcmp(keytable[i], key)) - return i; - return -1; -} + kindex = 3; + } +#if H5_SIZEOF_LONG_DOUBLE !=0 + else if (!HDstrcmp(buffer, "H5T_NATIVE_LDOUBLE")) { + in->inputSize = H5_SIZEOF_LONG_DOUBLE; + in->configOptionVector[INPUT_SIZE] = 1; -static int parsePathInfo(struct path_info *path, char *temp) -{ - const char delimiter[] = "/"; - char *token; - int i = 0; - const char *err1 = "Path string larger than MAX_PATH_NAME_LENGTH.\n"; + if ((kindex = OutputArchStrToInt("NATIVE")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; - token = HDstrtok (temp, delimiter); - if (HDstrlen(token) >= MAX_PATH_NAME_LENGTH) { - (void) HDfprintf(stderr, err1); - return (-1); + kindex = 3; } - HDstrcpy(path->group[i++],token); +#endif + else if(!HDstrcmp(buffer, "H5T_TIME: not yet implemented")) { + kindex = -1; + } + else if(!HDstrcmp(buffer, "H5T_STRING")) { + kindex = 5; + } + /* case H5T_BITFIELD: */ + else if (!HDstrcmp(buffer, "H5T_STD_B8BE")) { - while (1) { - token = HDstrtok (NULL, delimiter); - if (token == NULL) - break; - if (HDstrlen(token) >= MAX_PATH_NAME_LENGTH) { - (void) HDfprintf(stderr, err1); + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); return (-1); } - HDstrcpy(path->group[i++],token); + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = -1; } - path->count = i; - return (0); -} + else if (!HDstrcmp(buffer, "H5T_STD_B8LE")) { -static int parseDimensions(struct Input *in, char *strm) -{ - const char delimiter[] = ","; - char temp[255]; - char *token; - int i = 0; - const char *err1 = "Unable to allocate dynamic memory.\n"; + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; - HDstrncpy(temp, strm, sizeof(temp)); - temp[sizeof(temp) - 1] = '\0'; - HDstrtok (temp, delimiter); + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; - while (1) { - token = HDstrtok (NULL, delimiter); - if (token == NULL) - break; - i++; - } - in->rank = i + 1; - if ((in->sizeOfDimension = (hsize_t *) HDmalloc ((size_t) in->rank * sizeof(hsize_t))) == NULL) { - (void) HDfprintf(stderr, "%s", err1); - return (-1); + kindex = -1; } + else if (!HDstrcmp(buffer, "H5T_STD_B16BE")) { - i = 0; - HDstrncpy(temp, strm, sizeof(temp)); - temp[sizeof(temp) - 1] = '\0'; - in->sizeOfDimension[i++] - = HDstrtol(HDstrtok (temp, delimiter), NULL, BASE_10); + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; - while (1) { - token = HDstrtok (NULL, delimiter); - if (token == NULL) - break; - in->sizeOfDimension[i++] = HDstrtol(token, NULL, BASE_10); + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = -1; } - return (0); -} + else if (!HDstrcmp(buffer, "H5T_STD_B16LE")) { -static int getOutputClass(struct Input *in, FILE *strm) -{ - char temp[255]; - int kindex; - const char *err1 = "Unable to get 'string' value.\n"; - const char *err2 = "Invalid value for output class.\n"; + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; - if (fscanf(strm, "%s", temp) != 1) { - (void) HDfprintf(stderr, "%s", err1); - return (-1); + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = -1; } + else if (!HDstrcmp(buffer, "H5T_STD_B32BE")) { - if ((kindex = OutputClassStrToInt(temp)) == -1) { - (void) HDfprintf(stderr, "%s", err2); - return (-1); + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = -1; } + else if (!HDstrcmp(buffer, "H5T_STD_B32LE")) { - in->outputClass = kindex; - return (0); -} + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; -static int OutputClassStrToInt(char *temp) -{ - int i; - char classKeywordTable[3][15] = { "IN", "FP", "UIN" }; - for (i = 0; i < 3; i++) - if (!HDstrcmp(classKeywordTable[i], temp)) - return i; + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; - return -1; -} -/* same as getInputSize. But defined separately for extensibility */ -static int getOutputSize(struct Input *in, FILE *strm) -{ - int ival; - int i; - int outputSizeValidValues[4] = { 8, 16, 32, 64 }; - const char *err1 = "Unable to get integer value.\n"; - const char *err2 = "Invalid value for output size.\n"; + kindex = -1; + } + else if (!HDstrcmp(buffer, "H5T_STD_B64BE")) { - if (fscanf(strm, "%d", (&ival)) != 1) { - (void) HDfprintf(stderr, "%s", err1); - return (-1); + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); + } + in->outputArchitecture = kindex; + + if ((kindex = OutputByteOrderStrToInt("BE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; + + kindex = -1; } + else if (!HDstrcmp(buffer, "H5T_STD_B64LE")) { - for (i = 0; i < 4; i++) - if (outputSizeValidValues[i] == ival) { - in->outputSize = ival; - return (0); + if ((kindex = OutputArchStrToInt("STD")) == -1) { + (void) HDfprintf(stderr, "%s", err2); + return (-1); } - (void) HDfprintf(stderr, "%s", err2); - return (-1); -} + in->outputArchitecture = kindex; -static int getInputClass(struct Input *in, char * temp) -{ - int kindex; - const char *err1 = "Invalid value for input class.\n"; + if ((kindex = OutputByteOrderStrToInt("LE")) == -1) { + (void) HDfprintf(stderr, "%s", err3); + return (-1); + } + in->outputByteOrder = kindex; - if ((kindex = InputClassStrToInt(temp)) == -1) { + kindex = -1; + } + /* case H5T_OPAQUE: */ + else if(!HDstrcmp(buffer, "H5T_OPAQUE")) { + kindex = -1; + } + /* case H5T_COMPOUND: */ + else if(!HDstrcmp(buffer, "H5T_COMPOUND")) { + kindex = -1; + } + /* case H5T_REFERENCE: */ + else if(!HDstrcmp(buffer, "H5T_REFERENCE")) { + kindex = -1; + } + /* case H5T_ENUM: */ + else if(!HDstrcmp(buffer, "H5T_ENUM")) { + kindex = -1; + } + /* case H5T_VLEN: */ + else if(!HDstrcmp(buffer, "H5T_VLEN")) { + kindex = -1; + } + /* case H5T_ARRAY: */ + else if(!HDstrcmp(buffer, "H5T_ARRAY")) { + kindex = -1; + } + + if (kindex == -1) { (void) HDfprintf(stderr, "%s", err1); return (-1); } + /*set default value for output-size */ + if (in->configOptionVector[OUTPUT_SIZE] == 0) + in->outputSize = in->inputSize; +#ifdef H5DEBUGIMPORT + printf("h5dump DATATYPE STRING %d inputSize\n", in->inputSize); + printf("h5dump DATATYPE STRING %d outputSize\n", in->outputSize); +#endif + in->inputClass = kindex; return (0); } @@ -1910,6 +3408,7 @@ void setDefaultValues(struct Input *in, int count) char temp[255]; char num[255]; + in->h5dumpInput = 0; in->inputClass = 3; /* FP */ in->inputSize = 32; in->outputClass = 1; /* FP */ @@ -2348,6 +3847,9 @@ static int process(struct Options *opt) /*create data type */ intype = createInputDataType(in); outtype = createOutputDataType(in); +#ifdef H5DEBUGIMPORT + printf("process intype %d outtype %d\n", intype, outtype); +#endif /* create property list */ proplist = H5Pcreate(H5P_DATASET_CREATE); @@ -2498,7 +4000,7 @@ void help(char *name) (void) HDfprintf(stdout, "\t The user can specify output type and storage properties in \n"); (void) HDfprintf(stdout, - "\t the configuration file. The user is requited to specify the \n"); + "\t the configuration file. The user is required to specify the \n"); (void) HDfprintf(stdout, "\t path of the dataset. If the groups in the path leading to \n"); (void) HDfprintf(stdout, @@ -2511,7 +4013,7 @@ void help(char *name) (void) HDfprintf(stdout, "\t provide the class and size of output data to be written to \n"); (void) HDfprintf(stdout, - "\t the dataset and may optionally specify the output-architecure,\n"); + "\t the dataset and may optionally specify the output-architecture,\n"); (void) HDfprintf(stdout, "\t and the output-byte-order. If output-architecture is not \n"); (void) HDfprintf(stdout, @@ -2596,7 +4098,11 @@ void help(char *name) (void) HDfprintf(stdout, "\t The configuration file is an ASCII text file and must be \n"); (void) HDfprintf(stdout, - "\t organized as \"CONFIG-KEYWORD VALUE\" pairs, one pair on each \n"); + "\t the ddl formatted file (without data values) produced by h5dump \n"); + (void) HDfprintf(stdout, + "\t when used with the options '-o outfilename -b' of a single dataset (-d) \n"); + (void) HDfprintf(stdout, + "\t OR organized as \"CONFIG-KEYWORD VALUE\" pairs, one pair on each \n"); (void) HDfprintf(stdout, "\t line.\n\n"); (void) HDfprintf(stdout, "\t The configuration file may have the following keywords each \n"); @@ -2612,7 +4118,7 @@ void help(char *name) (void) HDfprintf(stdout, "\t Optional KEYWORDS:\n"); (void) HDfprintf(stdout, "\t OUTPUT-ARCHITECTURE\n"); (void) HDfprintf(stdout, "\t OUTPUT-BYTE-ORDER\n"); - (void) HDfprintf(stdout, "\t CHUNKED-DIMENSION-SIZES\n"); + (void) HDfprintf(stdout, "\t CHUNKED-DIMENSION-SIZES\n"); (void) HDfprintf(stdout, "\t COMPRESSION-TYPE\n"); (void) HDfprintf(stdout, "\t COMPRESSION-PARAM\n"); (void) HDfprintf(stdout, "\t EXTERNAL-STORAGE\n"); @@ -2622,7 +4128,7 @@ void help(char *name) (void) HDfprintf(stdout, "\t Strings separated by spaces to represent\n"); (void) HDfprintf(stdout, "\t the path of the data-set. If the groups in\n"); (void) HDfprintf(stdout, - "\t the path do no exist, they will be created. \n"); + "\t the path do not exist, they will be created. \n"); (void) HDfprintf(stdout, "\t For example,\n"); (void) HDfprintf(stdout, "\t PATH grp1/grp2/dataset1\n"); (void) HDfprintf(stdout, "\t PATH: keyword\n"); diff --git a/tools/h5import/h5import.h b/tools/h5import/h5import.h index dbc6844..c686624 100644 --- a/tools/h5import/h5import.h +++ b/tools/h5import/h5import.h @@ -44,20 +44,20 @@ #define MAX_NUM_DIMENSION 32 #define BASE_10 10 -#define CHUNK 0 -#define COMPRESS 1 -#define EXTEND 2 -#define EXTERNALSTORE 3 +#define PATH 0 +#define INPUT_CLASS 1 +#define INPUT_SIZE 2 +#define RANK 3 #define DIM 4 -#define RANK 5 -#define PATH 6 -#define INPUT_CLASS 7 -#define INPUT_SIZE 8 -#define OUTPUT_CLASS 9 -#define OUTPUT_SIZE 10 -#define OUTPUT_ARCH 11 -#define OUTPUT_B_ORDER 12 -#define COMPRESS_PARAM 13 +#define OUTPUT_CLASS 5 +#define OUTPUT_SIZE 6 +#define OUTPUT_ARCH 7 +#define OUTPUT_B_ORDER 8 +#define CHUNK 9 +#define COMPRESS 10 +#define COMPRESS_PARAM 11 +#define EXTERNALSTORE 12 +#define EXTEND 13 /* data types */ #define H5DT_INT8 signed char @@ -80,6 +80,7 @@ struct path_info struct Input { + int h5dumpInput; struct path_info path; int inputClass; int inputSize; @@ -198,6 +199,7 @@ static int parsePathInfo(struct path_info *path, char *strm); static int parseDimensions(struct Input *in, char *strm); static int getInputSize(struct Input *in, int ival); static int getInputClass(struct Input *in, char * strm); +static int getInputClassType(struct Input *in, char * strm); static int InputClassStrToInt(char *temp); static int getRank(struct Input *in, FILE *strm); static int getDimensionSizes(struct Input *in, FILE *strm); @@ -225,6 +227,7 @@ static int readUIntegerData(FILE *strm, struct Input *in); static int allocateUIntegerStorage(struct Input *in); static int validateConfigurationParameters(struct Input *in); static int processStrData(FILE *strm, struct Input *in, hid_t file_id); +static int processStrHDFData(FILE *strm, struct Input *in, hid_t file_id); #endif /* H5IMPORT_H__ */ diff --git a/tools/h5import/h5importtest.c b/tools/h5import/h5importtest.c index 434cba7..49f977c 100644 --- a/tools/h5import/h5importtest.c +++ b/tools/h5import/h5importtest.c @@ -165,21 +165,38 @@ main(void) #ifndef UNICOS +#ifdef REBUILDTEXTFILES /*------------------------------------------------------------------------- - * TOOLTEST txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5 + * TOOLTEST txtin8.txt -c $srcdir/testfiles/txtin8.conf -o txtin8.h5 *------------------------------------------------------------------------- */ + sp = HDfopen("txtin8.txt", "w"); + for (k = 0; k < npln; k++) + { + for (i = 0; i < nrow; i++) + { + for (j = 0; j < ncol; j++) + (void) fprintf(sp, "%10u", b8i3[k][i][j]); + (void) fprintf(sp, "\n"); + } + } + (void) HDfclose(sp); + + /*------------------------------------------------------------------------- + * TOOLTEST txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5 + *------------------------------------------------------------------------- + */ sp = HDfopen("txtin16.txt", "w"); for (k = 0; k < npln; k++) { - for (i = 0; i < nrow; i++) - { - for (j = 0; j < ncol; j++) - (void) fprintf(sp, "%10u", b16i3[k][i][j]); - (void) fprintf(sp, "\n"); - } + for (i = 0; i < nrow; i++) + { + for (j = 0; j < ncol; j++) + (void) fprintf(sp, "%10u", b16i3[k][i][j]); + (void) fprintf(sp, "\n"); + } } (void) HDfclose(sp); @@ -199,6 +216,7 @@ main(void) } } (void) HDfclose(sp); +#endif /*------------------------------------------------------------------------- * TOOLTEST binin32.bin -c $srcdir/testfiles/binin32.conf -o binin32.h5 diff --git a/tools/h5import/h5importtestutil.sh b/tools/h5import/h5importtestutil.sh index 37613dd..5be3118 100755 --- a/tools/h5import/h5importtestutil.sh +++ b/tools/h5import/h5importtestutil.sh @@ -101,6 +101,14 @@ $SRC_H5IMPORT_TESTFILES/txtin16.txt $SRC_H5IMPORT_TESTFILES/txtin32.txt $SRC_H5IMPORT_TESTFILES/textpfe64.txt $SRC_H5IMPORT_TESTFILES/txtstr.txt +$SRC_H5IMPORT_TESTFILES/dbinfp64.h5.txt +$SRC_H5IMPORT_TESTFILES/dbinin8.h5.txt +$SRC_H5IMPORT_TESTFILES/dbinin8w.h5.txt +$SRC_H5IMPORT_TESTFILES/dbinin16.h5.txt +$SRC_H5IMPORT_TESTFILES/dbinin32.h5.txt +$SRC_H5IMPORT_TESTFILES/dbinuin16.h5.txt +$SRC_H5IMPORT_TESTFILES/dbinuin32.h5.txt +$SRC_H5IMPORT_TESTFILES/dtxtstr.h5.txt " # @@ -153,6 +161,69 @@ else fi } +# Use h5dump output as input to h5import for binary numbers +# Use h5diff to verify results +TOOLTEST2() +{ +err=0 +$RUNSERIAL ../h5dump/h5dump -p -d $1 -o d$2.bin -b tmp_testfiles/$2 > d$2.dmp +$RUNSERIAL ./h5import d$2.bin -c d$2.dmp -o d$2 > d$2.imp +$RUNSERIAL ../h5diff/h5diff -v d$2 tmp_testfiles/$2 $1 $1 > log2 +$CP -f $SRC_H5IMPORT_TESTFILES/d$2.txt log1 + +cmp -s log1 log2 || err=1 +rm -f log1 log2 +if [ $err -eq 1 ]; then +nerrors="` expr $nerrors + 1 `"; + echo "*FAILED*" +else + echo " PASSED" +fi +} + +# Same as TOOLTEST2 except for strings +# Use h5dump output as input to h5import for strings +# Use h5diff to verify results +TOOLTEST3() +{ +err=0 +$RUNSERIAL ../h5dump/h5dump -p -d $1 -o d$2.bin -y --width=1 tmp_testfiles/$2 > d$2.dmp +$RUNSERIAL ./h5import d$2.bin -c d$2.dmp -o d$2 > d$2.imp +$RUNSERIAL ../h5diff/h5diff -v d$2 tmp_testfiles/$2 $1 $1 > log2 +$CP -f $SRC_H5IMPORT_TESTFILES/d$2.txt log1 + +cmp -s log1 log2 || err=1 +rm -f log1 log2 +if [ $err -eq 1 ]; then +nerrors="` expr $nerrors + 1 `"; + echo "*FAILED*" +else + echo " PASSED" +fi +} + +# Same as TOOLTEST3 except for h5diff uses report mode without warnings +# Use h5dump output as input to h5import for strings +# Use h5diff to verify results +TOOLTEST4() +{ +err=0 +$RUNSERIAL ../h5dump/h5dump -p -d $1 -o d$2.bin -y --width=1 tmp_testfiles/$2 > d$2.dmp +$RUNSERIAL ./h5import d$2.bin -c d$2.dmp -o d$2 > d$2.imp +$RUNSERIAL ../h5diff/h5diff -r d$2 tmp_testfiles/$2 $1 $1 > log2 +$CP -f $SRC_H5IMPORT_TESTFILES/d$2.txt log1 + + +cmp -s log1 log2 || err=1 +rm -f log1 log2 +if [ $err -eq 1 ]; then +nerrors="` expr $nerrors + 1 `"; + echo "*FAILED*" +else + echo " PASSED" +fi +} + echo "" echo "==============================" echo "H5IMPORT tests started" @@ -181,58 +252,73 @@ TOOLTEST $TESTDIR/txtin32.txt -c $TESTDIR/txtin32.conf -o txtin32.h5 TESTING "ASCII I16 rank 3 - Output LE - CHUNKED - extended" TOOLTEST $TESTDIR/txtin16.txt -c $TESTDIR/txtin16.conf -o txtin16.h5 - TESTING "ASCII I8 - rank 3 - Output I8 LE-Chunked+Extended+Compressed " TOOLTEST $TESTDIR/txtin8.txt -c $TESTDIR/txtin8.conf -o txtin8.h5 -TESTING "ASCII UI32 - rank 3 - Output BE" -TOOLTEST $TESTDIR/txtuin32.txt -c $TESTDIR/txtuin32.conf -o txtuin32.h5 TESTING "ASCII UI16 - rank 2 - Output LE+Chunked+Compressed " TOOLTEST $TESTDIR/txtuin16.txt -c $TESTDIR/txtuin16.conf -o txtuin16.h5 +TESTING "ASCII UI32 - rank 3 - Output BE" +TOOLTEST $TESTDIR/txtuin32.txt -c $TESTDIR/txtuin32.conf -o txtuin32.h5 + + TESTING "ASCII F32 - rank 3 - Output LE " TOOLTEST $TESTDIR/txtfp32.txt -c $TESTDIR/txtfp32.conf -o txtfp32.h5 - TESTING "ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed " TOOLTEST $TESTDIR/txtfp64.txt -c $TESTDIR/txtfp64.conf -o txtfp64.h5 + TESTING "BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed " TOOLTEST binfp64.bin -c $TESTDIR/binfp64.conf -o binfp64.h5 - - -TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended " -TOOLTEST binin16.bin -c $TESTDIR/binin16.conf -o binin16.h5 +TESTING "H5DUMP-BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed " +TOOLTEST2 "/fp/bin/64-bit" binfp64.h5 TESTING "BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed " -TOOLTEST binin8.bin -c $TESTDIR/binin8.conf -o binin8.h5 +TOOLTEST binin8.bin -c $TESTDIR/binin8.conf -o binin8.h5 +TESTING "H5DUMP-BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed " +TOOLTEST2 "/int/bin/8-bit" binin8.h5 +TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended " +TOOLTEST binin16.bin -c $TESTDIR/binin16.conf -o binin16.h5 +TESTING "H5DUMP-BINARY I16 - rank 3 - Output order LE + CHUNKED + extended " +TOOLTEST2 "/int/bin/16-bit" binin16.h5 TESTING "BINARY I32 - rank 3 - Output BE + CHUNKED " TOOLTEST binin32.bin -c $TESTDIR/binin32.conf -o binin32.h5 +TESTING "H5DUMP-BINARY I32 - rank 3 - Output BE + CHUNKED " +TOOLTEST2 "/int/bin/32-bit" binin32.h5 TESTING "BINARY UI16 - rank 3 - Output byte BE + CHUNKED " TOOLTEST binuin16.bin -c $TESTDIR/binuin16.conf -o binuin16.h5 +TESTING "H5DUMP-BINARY UI16 - rank 3 - Output byte BE + CHUNKED " +TOOLTEST2 "/int/buin/16-bit" binuin16.h5 TESTING "BINARY UI32 - rank 3 - Output LE + CHUNKED " TOOLTEST binuin32.bin -c $TESTDIR/binuin32.conf -o binuin32.h5 +TESTING "H5DUMP-BINARY UI32 - rank 3 - Output LE + CHUNKED " +TOOLTEST2 "/int/buin/32-bit" binuin32.h5 TESTING "STR" TOOLTEST $TESTDIR/txtstr.txt -c $TESTDIR/txtstr.conf -o txtstr.h5 +TESTING "H5DUMP-STR" +TOOLTEST43 "/mytext/data" txtstr.h5 + TESTING "BINARY I8 CR LF EOF" TOOLTEST binin8w.bin -c $TESTDIR/binin8w.conf -o binin8w.h5 +TESTING "H5DUMP-BINARY I8 CR LF EOF" +TOOLTEST2 "/dataset0" binin8w.h5 TESTING "ASCII F64 - rank 1 - INPUT-CLASS TEXTFPE " TOOLTEST $TESTDIR/textpfe64.txt -c $TESTDIR/textpfe.conf -o textpfe.h5 - -rm -f txtin32.txt txtin16.txt txtin8.txt txtuin32.txt txtuin16.txt *.bin *.h5 +rm -f txtin32.txt txtin16.txt txtin8.txt txtuin32.txt txtuin16.txt *.bin *.dmp *.imp *.h5 rm -rf tmp_testfiles else echo "** h5import or h5importtest not available ***" diff --git a/tools/h5import/testfiles/dbinfp64.h5.txt b/tools/h5import/testfiles/dbinfp64.h5.txt new file mode 100644 index 0000000..fb88984 --- /dev/null +++ b/tools/h5import/testfiles/dbinfp64.h5.txt @@ -0,0 +1,2 @@ +dataset: and +0 differences found diff --git a/tools/h5import/testfiles/dbinin16.h5.txt b/tools/h5import/testfiles/dbinin16.h5.txt new file mode 100644 index 0000000..b94781e --- /dev/null +++ b/tools/h5import/testfiles/dbinin16.h5.txt @@ -0,0 +1,2 @@ +dataset: and +0 differences found diff --git a/tools/h5import/testfiles/dbinin32.h5.txt b/tools/h5import/testfiles/dbinin32.h5.txt new file mode 100644 index 0000000..a35cd79 --- /dev/null +++ b/tools/h5import/testfiles/dbinin32.h5.txt @@ -0,0 +1,2 @@ +dataset: and +0 differences found diff --git a/tools/h5import/testfiles/dbinin8.h5.txt b/tools/h5import/testfiles/dbinin8.h5.txt new file mode 100644 index 0000000..bbc6c67 --- /dev/null +++ b/tools/h5import/testfiles/dbinin8.h5.txt @@ -0,0 +1,2 @@ +dataset: and +0 differences found diff --git a/tools/h5import/testfiles/dbinin8w.h5.txt b/tools/h5import/testfiles/dbinin8w.h5.txt new file mode 100644 index 0000000..28d43d2 --- /dev/null +++ b/tools/h5import/testfiles/dbinin8w.h5.txt @@ -0,0 +1,2 @@ +dataset: and +0 differences found diff --git a/tools/h5import/testfiles/dbinuin16.h5.txt b/tools/h5import/testfiles/dbinuin16.h5.txt new file mode 100644 index 0000000..ecad7a0 --- /dev/null +++ b/tools/h5import/testfiles/dbinuin16.h5.txt @@ -0,0 +1,2 @@ +dataset: and +0 differences found diff --git a/tools/h5import/testfiles/dbinuin32.h5.txt b/tools/h5import/testfiles/dbinuin32.h5.txt new file mode 100644 index 0000000..cc1d9f3 --- /dev/null +++ b/tools/h5import/testfiles/dbinuin32.h5.txt @@ -0,0 +1,2 @@ +dataset: and +0 differences found diff --git a/tools/h5import/testfiles/dtxtstr.h5.txt b/tools/h5import/testfiles/dtxtstr.h5.txt new file mode 100644 index 0000000..2170300 --- /dev/null +++ b/tools/h5import/testfiles/dtxtstr.h5.txt @@ -0,0 +1,2 @@ +dataset: and +0 differences found diff --git a/tools/h5repack/CMakeLists.txt b/tools/h5repack/CMakeLists.txt index ef5279d..936559e 100644 --- a/tools/h5repack/CMakeLists.txt +++ b/tools/h5repack/CMakeLists.txt @@ -96,6 +96,7 @@ IF (BUILD_TESTING) ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout.h5 ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layouto.h5 ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout2.h5 + ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout3.h5 ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_named_dtypes.h5 ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_nbit.h5 ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_objs.h5 @@ -322,10 +323,12 @@ IF (BUILD_TESTING) -E remove ./testfiles/h5repack_filters.h5.out ./testfiles/h5repack_filters.h5.out.err - ./testfiles/h5repack_layout2.h5-v.out - ./testfiles/h5repack_layout2.h5-v.out.err ./testfiles/h5repack_layout.h5-v.out ./testfiles/h5repack_layout.h5-v.out.err + ./testfiles/h5repack_layout2.h5-v.out + ./testfiles/h5repack_layout2.h5-v.out.err + ./testfiles/h5repack_layout3.h5-v.out + ./testfiles/h5repack_layout3.h5-v.out.err ./testfiles/out.tfamily%05d.h5 ./testfiles/out.h5diff_attr1.h5 ./testfiles/out.h5repack_attr.h5 @@ -336,9 +339,10 @@ IF (BUILD_TESTING) ./testfiles/out.h5repack_filters.h5 ./testfiles/out.h5repack_fletcher.h5 ./testfiles/out.h5repack_hlink.h5 - ./testfiles/out.h5repack_layout2.h5 ./testfiles/out.h5repack_layout.h5 ./testfiles/out.h5repack_layouto.h5 + ./testfiles/out.h5repack_layout2.h5 + ./testfiles/out.h5repack_layout3.h5 ./testfiles/out.h5repack_named_dtypes.h5 ./testfiles/out.h5repack_nbit.h5 ./testfiles/out.h5repack_objs.h5 @@ -369,9 +373,10 @@ IF (BUILD_TESTING) h5repack_fletcher_out.h5 h5repack_hlink.h5 h5repack_hlink_out.h5 - h5repack_layout2.h5 h5repack_layout.h5 h5repack_layout_out.h5 + h5repack_layout2.h5 + h5repack_layout3.h5 h5repack_named_dtypes.h5 h5repack_named_dtypes_out.h5 h5repack_nbit.h5 @@ -777,6 +782,24 @@ IF (BUILD_TESTING) ADD_H5_TEST (contig_small_fixed_compa "TEST" ${FILE18} -l chunked_small_fixed:COMPA) ADD_H5_VERIFY_TEST (contig_small_fixed_compa "TEST" 0 ${FILE18} chunked_small_fixed COMPACT) +#--------------------------------------------------------------------------- +# Test file contains chunked datasets (need multiple dsets) with +# unlimited max dims. (HDFFV-7933) +# Use first dset to test. +#--------------------------------------------------------------------------- +# chunk to chunk - specify chunk dim bigger than any current dim +ADD_H5_TEST (chunk2chunk "TEST" h5repack_layout3.h5 -l chunk_unlimit1:CHUNK=100x300) +ADD_H5_VERIFY_TEST (chunk2chunk "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK) + +# chunk to contiguous +ADD_H5_TEST (chunk2conti "TEST" h5repack_layout3.h5 -l chunk_unlimit1:CONTI) +ADD_H5_VERIFY_TEST (chunk2conti "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CONTI) + +# chunk to compact - convert big dataset (should be > 64k) for this purpose, +# should remain as original layout (chunk) +ADD_H5_TEST (chunk2compa "TEST" h5repack_layout3.h5 -l chunk_unlimit1:COMPA) +ADD_H5_VERIFY_TEST (chunk2compa "TEST" 0 h5repack_layout3.h5 chunk_unlimit1 CHUNK) + # Native option # Do not use FILE1, as the named dtype will be converted to native, and h5diff will # report a difference. diff --git a/tools/h5repack/h5repack.c b/tools/h5repack/h5repack.c index fb38bc6..42472b56 100644 --- a/tools/h5repack/h5repack.c +++ b/tools/h5repack/h5repack.c @@ -207,10 +207,12 @@ int h5repack_addlayout(const char* str, if (obj_list==NULL) return -1; - /* set global layout option */ + /* set layout option */ + options->layout_g = pack.layout; + + /* no individual dataset specified */ if (options->all_layout==1 ) { - options->layout_g=pack.layout; if (pack.layout==H5D_CHUNKED) { /* -2 means the NONE option, remove chunking @@ -229,6 +231,7 @@ int h5repack_addlayout(const char* str, } } + /* individual dataset specified */ if (options->all_layout==0) options_add_layout(obj_list, n_objs, @@ -505,7 +508,7 @@ int copy_attr(hid_t loc_in, if (type_class == H5T_COMPOUND) { int nmembers = H5Tget_nmembers(wtype_id) ; for (j=0; j $layoutfile $GREP $expectlayout $layoutfile > /dev/null if [ $? -eq 0 ]; then @@ -260,7 +261,7 @@ VERIFY_LAYOUT_ALL() #--------------------------------- # check the layout from a dataset # check if the other layouts still exsit - VERIFY "Layout " + VERIFY "layouts" # if CONTIGUOUS if [ $expectlayout = "CONTIGUOUS" ]; then $RUNSERIAL $H5DUMP_BIN -pH $outfile > $layoutfile @@ -360,7 +361,8 @@ TOOLTEST1() rm -f $outfile } -# Call h5repack and compare output to a text file for -v option +# This is same as TOOLTEST() with comparing display output +# from -v option # TOOLTESTV() { @@ -374,10 +376,20 @@ TOOLTESTV() outfile=$TESTDIR/out.$1 shift $RUNSERIAL $H5REPACK_BIN "$@" $infile $outfile >$actual 2>$actual_err - cp $actual $actual_sav + RET=$? + if [ $RET != 0 ] ; then + echo "*FAILED*" + nerrors="`expr $nerrors + 1`" + else + echo " PASSED" + DIFFTEST $infile $outfile + fi + + # display output compare STDOUT_FILTER $actual cat $actual_err >> $actual + VERIFY output from $H5REPACK $@ if cmp -s $expect $actual; then echo " PASSED" else @@ -387,7 +399,8 @@ TOOLTESTV() test yes = "$verbose" && diff -c $expect $actual |sed 's/^/ /' fi - rm -f $actual $actual_err $actual_sav + rm -f $actual $actual_err + rm -f $outfile } # TOOLTEST_META: @@ -559,7 +572,8 @@ arg="h5repack_filters.h5 -v -f /dset_deflate:GZIP=9" if test $USE_FILTER_DEFLATE != "yes" ; then SKIP $arg else - TOOLTEST $arg + # compare output + TOOLTESTV $arg fi ########################################################### @@ -778,6 +792,24 @@ VERIFY_LAYOUT_DSET h5repack_layout2.h5 contig_small COMPACT TOOLTEST_MAIN h5repack_layout2.h5 -l chunked_small_fixed:COMPA VERIFY_LAYOUT_DSET h5repack_layout2.h5 chunked_small_fixed COMPACT +#--------------------------------------------------------------------------- +# Test file contains chunked datasets (need multiple dsets) with +# unlimited max dims. (HDFFV-7933) +# Use first dset to test. +#--------------------------------------------------------------------------- +# chunk to chunk - specify chunk dim bigger than any current dim +TOOLTEST_MAIN h5repack_layout3.h5 -l chunk_unlimit1:CHUNK=100x300 +VERIFY_LAYOUT_DSET h5repack_layout3.h5 chunk_unlimit1 CHUNK + +# chunk to contiguous +TOOLTEST_MAIN h5repack_layout3.h5 -l chunk_unlimit1:CONTI +VERIFY_LAYOUT_DSET h5repack_layout3.h5 chunk_unlimit1 CONTI + +# chunk to compact - convert big dataset (should be > 64k) for this purpose, +# should remain as original layout (chunk) +TOOLTEST_MAIN h5repack_layout3.h5 -l chunk_unlimit1:COMPA +VERIFY_LAYOUT_DSET h5repack_layout3.h5 chunk_unlimit1 CHUNK + # Native option # Do not use FILE1, as the named dtype will be converted to native, and h5diff will # report a difference. @@ -856,8 +888,7 @@ TOOLTEST h5repack_attr_refs.h5 # Note: this test is experimental for sharing test file among tools TOOLTEST h5diff_attr1.h5 -# tests for metadata block size option ('-M') -TOOLTEST_META h5repack_layout.h5 -M 8192 +# tests for metadata block size option TOOLTEST_META h5repack_layout.h5 --metadata_block_size=8192 if test $nerrors -eq 0 ; then diff --git a/tools/h5repack/h5repack_copy.c b/tools/h5repack/h5repack_copy.c index d38a15c..957d3c8 100644 --- a/tools/h5repack/h5repack_copy.c +++ b/tools/h5repack/h5repack_copy.c @@ -778,6 +778,8 @@ int do_copy_objects(hid_t fidin, unsigned u; int is_ref=0; htri_t is_named; + hbool_t limit_maxdims; + hsize_t size_dset; /*------------------------------------------------------------------------- @@ -794,8 +796,10 @@ int do_copy_objects(hid_t fidin, for ( i = 0; i < travt->nobjs; i++) { - + /* init variables per obj */ buf = NULL; + limit_maxdims = FALSE; + switch ( travt->objs[i].type ) { @@ -970,6 +974,9 @@ int do_copy_objects(hid_t fidin, if((msize = H5Tget_size(wtype_id)) == 0) goto error; + /* size of current dset */ + size_dset = nelmts * msize; + /*------------------------------------------------------------------------- * check if the dataset creation property list has filters that * are not registered in the current configuration @@ -999,7 +1006,7 @@ int do_copy_objects(hid_t fidin, */ if (options->layout_g != H5D_COMPACT) { - if ( nelmts*msize < options->min_comp ) + if ( size_dset < options->min_comp ) apply_s=0; } @@ -1016,9 +1023,38 @@ int do_copy_objects(hid_t fidin, goto error; } - /* unset the unlimimted dimensions, which cannot be applied to layout other than chunked. */ - if (options->layout_g != H5D_CHUNKED) { - H5Sset_extent_simple( f_space_id, rank, dims, NULL ); + /*------------------------------------------------- + * Unset the unlimited max dims if convert to other + * than chunk layouts, because unlimited max dims + * only can be applied to chunk layout. + * Also perform only for targeted dataset + * Also check for size limit to convert to compact + *-------------------------------------------------*/ + if (options->layout_g != H5D_CHUNKED) + { + /* any dataset is specified */ + if (options->op_tbl->nelems > 0) + { + /* if current obj match specified obj */ + if (options_get_object (travt->objs[i].name, options->op_tbl)) + limit_maxdims = TRUE; + } + else /* no dataset is specified */ + { + limit_maxdims = TRUE; + } + + /* if convert to COMPACT */ + if (options->layout_g == H5D_COMPACT) + { + /* should be smaller than 64K */ + if ( size_dset > MAX_COMPACT_DSIZE ) + limit_maxdims = FALSE; + } + + /* unset unlimited max dims */ + if (limit_maxdims) + H5Sset_extent_simple( f_space_id, rank, dims, NULL ); } /*------------------------------------------------------------------------- diff --git a/tools/h5repack/h5repack_main.c b/tools/h5repack/h5repack_main.c index b6b8bfa..bfa8e96 100644 --- a/tools/h5repack/h5repack_main.c +++ b/tools/h5repack/h5repack_main.c @@ -456,6 +456,8 @@ void parse_command_line(int argc, const char **argv, pack_opt_t* options) options->fs_threshold = (hsize_t)HDatol( opt_arg ); break; + default: + break; } /* switch */ diff --git a/tools/h5repack/h5repack_opttable.c b/tools/h5repack/h5repack_opttable.c index d0fcff3..4ec7fcf 100644 --- a/tools/h5repack/h5repack_opttable.c +++ b/tools/h5repack/h5repack_opttable.c @@ -388,11 +388,22 @@ pack_info_t* options_get_object( const char *path, pack_opttbl_t *table ) { unsigned int i; + const char tbl_path[MAX_NC_NAME]; + for ( i = 0; i < table->nelems; i++) { + /* make full path (start with "/") to compare correctly */ + if (HDstrncmp(table->objs[i].path, "/", 1)) + { + HDstrcpy(tbl_path, "/"); + HDstrcat(tbl_path, table->objs[i].path); + } + else + HDstrcpy(tbl_path, table->objs[i].path); + /* found it */ - if (HDstrcmp(table->objs[i].path,path)==0) + if (HDstrcmp(tbl_path, path)==0) { return (&table->objs[i]); } diff --git a/tools/h5repack/h5repacktst.c b/tools/h5repack/h5repacktst.c index 0caf72a..3926744 100644 --- a/tools/h5repack/h5repacktst.c +++ b/tools/h5repack/h5repacktst.c @@ -124,6 +124,7 @@ static int make_hlinks(hid_t loc_id); static int make_early(void); static int make_layout(hid_t loc_id); static int make_layout2(hid_t loc_id); +static int make_layout3(hid_t loc_id); #ifdef H5_HAVE_FILTER_SZIP static int make_szip(hid_t loc_id); #endif /* H5_HAVE_FILTER_SZIP */ @@ -1761,6 +1762,19 @@ int make_testfiles(void) return -1; /*------------------------------------------------------------------------- + * for test layout conversions form chunk with unlimited max dims + *------------------------------------------------------------------------- + */ + if((fid = H5Fcreate("h5repack_layout3.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) + return -1; + + if(make_layout3(fid) < 0) + goto out; + + if(H5Fclose(fid) < 0) + return -1; + + /*------------------------------------------------------------------------- * create a file for the H5D_ALLOC_TIME_EARLY test *------------------------------------------------------------------------- */ @@ -3124,6 +3138,94 @@ out: } /* make_layout2() */ /*------------------------------------------------------------------------- +* Function: make_layout3 +* +* Purpose: make chunked datasets with unlimited max dim and chunk dim is +* bigger than current dim. (HDFFV-7933) +* Test for converting chunk to chunk , chunk to conti and chunk +* to compact. +* - The chunk to chunk changes layout bigger than any current dim +* again. +* - The chunk to compact test dataset bigger than 64K, should +* remain original layout.* +* +*------------------------------------------------------------------------- +*/ +#define DIM1_L3 300 +#define DIM2_L3 200 +static +int make_layout3(hid_t loc_id) +{ + hid_t dcpl=-1; /* dataset creation property list */ + hid_t sid=-1; /* dataspace ID */ + hsize_t dims[RANK]={DIM1_L3,DIM2_L3}; + hsize_t maxdims[RANK]={H5S_UNLIMITED, H5S_UNLIMITED}; + hsize_t chunk_dims[RANK]={DIM1_L3*2,5}; + int buf[DIM1_L3][DIM2_L3]; + int i, j, n; + + for (i=n=0; ifid = fid; - - return 0; -} /* iter_init() */ - - -/*------------------------------------------------------------------------- - * Function: free_iter - * - * Purpose: Freee iter structure + * Purpose: Free iter structure * * Return: Success: 0 * @@ -1610,7 +1583,7 @@ main(int argc, const char *argv[]) { iter_t iter; const char *fname = NULL; - hid_t fid; + hid_t fid = -1; hid_t fcpl; struct handler_t *hand = NULL; H5F_info2_t finfo; @@ -1633,6 +1606,8 @@ main(int argc, const char *argv[]) printf("Filename: %s\n", fname); + HDmemset(&iter, 0, sizeof(iter)); + fid = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); if(fid < 0) { error_msg("unable to open file \"%s\"\n", fname); @@ -1641,7 +1616,7 @@ main(int argc, const char *argv[]) } /* end if */ /* Initialize iter structure */ - iter_init(&iter, fid); + iter.fid = fid; if(H5Fget_filesize(fid, &iter.filesize) < 0) warn_msg("Unable to retrieve file size\n"); @@ -1708,7 +1683,7 @@ done: /* Free iter structure */ iter_free(&iter); - if(H5Fclose(fid) < 0) { + if(fid >= 0 && H5Fclose(fid) < 0) { error_msg("unable to close file \"%s\"\n", fname); h5tools_setstatus(EXIT_FAILURE); } diff --git a/tools/h5stat/testfiles/h5stat_notexist.ddl b/tools/h5stat/testfiles/h5stat_notexist.ddl new file mode 100644 index 0000000..ac0fce4 --- /dev/null +++ b/tools/h5stat/testfiles/h5stat_notexist.ddl @@ -0,0 +1,5 @@ +############################# +Expected output for 'h5stat notexist.h5' +############################# +Filename: notexist.h5 +h5stat error: unable to open file "notexist.h5" diff --git a/tools/h5stat/testh5stat.sh.in b/tools/h5stat/testh5stat.sh.in index 74155e9..c605295 100644 --- a/tools/h5stat/testh5stat.sh.in +++ b/tools/h5stat/testh5stat.sh.in @@ -78,6 +78,7 @@ $SRC_H5STAT_TESTFILES/h5stat_idx.h5 LIST_OTHER_TEST_FILES=" $SRC_H5STAT_TESTFILES/h5stat_help1.ddl $SRC_H5STAT_TESTFILES/h5stat_help2.ddl +$SRC_H5STAT_TESTFILES/h5stat_notexist.ddl $SRC_H5STAT_TESTFILES/h5stat_filters.ddl $SRC_H5STAT_TESTFILES/h5stat_filters-file.ddl $SRC_H5STAT_TESTFILES/h5stat_filters-F.ddl @@ -191,6 +192,8 @@ COPY_TESTFILES_TO_TESTDIR # Test for help flag TOOLTEST h5stat_help1.ddl -h TOOLTEST h5stat_help2.ddl --help +# Test when h5stat a file that does not exist +TOOLTEST h5stat_notexist.ddl notexist.h5 # Test file with groups, compressed datasets, user-applied fileters, etc. # h5stat_filters.h5 is a copy of ../../testfiles/tfilters.h5 as of release 1.8.0-alpha4 diff --git a/tools/lib/h5tools_dump.c b/tools/lib/h5tools_dump.c index ae43722..8805793 100644 --- a/tools/lib/h5tools_dump.c +++ b/tools/lib/h5tools_dump.c @@ -262,7 +262,7 @@ h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, hid_t contai h5tools_context_t *ctx/*in,out*/, unsigned flags, hsize_t nelmts, hid_t type, void *_mem) { - HERR_INIT(int, SUCCEED) + int ret_value = 0; /*no need to LEAVE() on ERROR: HERR_INIT(int, SUCCEED) */ unsigned char *mem = (unsigned char*) _mem; hsize_t i; /*element counter */ size_t size; /*size of each datum */ @@ -391,7 +391,6 @@ h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, hid_t contai h5tools_str_close(&buffer); }/* else bin */ -CATCH return ret_value; } @@ -782,7 +781,7 @@ h5tools_print_region_data_points(hid_t region_space, hid_t region_id, hsize_t curr_pos = 0; hsize_t total_size[H5S_MAX_RANK]; size_t jndx; - int indx; + unsigned indx; int type_size; int ret_value = SUCCEED; unsigned int region_flags; /* buffer extent flags */ @@ -2186,6 +2185,7 @@ h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_ case H5T_CSET_RESERVED_14: case H5T_CSET_RESERVED_15: h5tools_str_append(buffer, "H5T_CSET_UNKNOWN;"); + break; case H5T_CSET_ERROR: h5tools_str_append(buffer, "H5T_CSET_ERROR;"); break; @@ -2341,7 +2341,7 @@ h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_ ctx->indent_level++; for (i = 0; i < nmembers; i++) { mname = H5Tget_member_name(type, i); - if((mtype = H5Tget_member_type(type, i))>=0) { + if((mtype = H5Tget_member_type(type, i)) >= 0) { ctx->need_prefix = TRUE; h5tools_simple_prefix(stream, info, ctx, 0, 0); @@ -2378,7 +2378,7 @@ h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_ case H5T_ENUM: if((super = H5Tget_super(type)) < 0) - H5E_THROW(FAIL, H5E_tools_min_id_g, "H5Tget_nmembers failed"); + H5E_THROW(FAIL, H5E_tools_min_id_g, "H5Tget_super failed"); h5tools_str_append(buffer, "H5T_ENUM %s", h5tools_dump_header_format->enumblockbegin); h5tools_render_element(stream, info, ctx, buffer, &curr_pos, ncols, 0, 0); @@ -2410,7 +2410,7 @@ h5tools_print_datatype(FILE *stream, h5tools_str_t *buffer, const h5tool_format_ case H5T_VLEN: if((super = H5Tget_super(type)) < 0) - H5E_THROW(FAIL, H5E_tools_min_id_g, "H5Tget_nmembers failed"); + H5E_THROW(FAIL, H5E_tools_min_id_g, "H5Tget_super failed"); h5tools_str_append(buffer, "H5T_VLEN %s ", h5tools_dump_header_format->vlenblockbegin); @@ -2898,7 +2898,6 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info, hsize_t size; /* size of external file */ hsize_t storage_size; hsize_t curr_pos = 0; /* total data element position */ - haddr_t ioffset; h5tools_str_t buffer; /* string into which to render */ /* setup */ @@ -2908,7 +2907,6 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info, storage_size = H5Dget_storage_size(obj_id); nfilters = H5Pget_nfilters(dcpl_id); - ioffset = H5Dget_offset(obj_id); HDstrcpy(f_name,"\0"); /*------------------------------------------------------------------------- @@ -3091,6 +3089,8 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info, h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, ncols, 0, 0); } else { + haddr_t ioffset; + ctx->indent_level++; ctx->need_prefix = TRUE; @@ -3111,6 +3111,7 @@ h5tools_dump_dcpl(FILE *stream, const h5tool_format_t *info, h5tools_simple_prefix(stream, info, ctx, curr_pos, 0); h5tools_str_reset(&buffer); + ioffset = H5Dget_offset(obj_id); h5tools_str_append(&buffer,"OFFSET "H5_PRINTF_HADDR_FMT, ioffset); h5tools_render_element(stream, info, ctx, &buffer, &curr_pos, ncols, 0, 0); diff --git a/tools/lib/h5trav.c b/tools/lib/h5trav.c index ad8b9fe..0215c46 100644 --- a/tools/lib/h5trav.c +++ b/tools/lib/h5trav.c @@ -48,6 +48,9 @@ typedef struct { hid_t fid; /* File ID being traversed */ } trav_print_udata_t; +/* format for hsize_t */ +#define HSIZE_T_FORMAT "%"H5_PRINTF_LL_WIDTH"u" + /*------------------------------------------------------------------------- * local functions *------------------------------------------------------------------------- @@ -61,6 +64,46 @@ static void trav_table_addlink(trav_table_t *table, const char *path); /*------------------------------------------------------------------------- + * local variables + *------------------------------------------------------------------------- + */ +static H5_index_t trav_index_by = H5_INDEX_NAME; +static H5_iter_order_t trav_index_order = H5_ITER_INC; + +static int trav_verbosity = 0; + +/*------------------------------------------------------------------------- + * Function: h5trav_set_index + * + * Purpose: Set indexing properties for the objects & links in the file + * + * Return: none + * + *------------------------------------------------------------------------- + */ +void +h5trav_set_index(H5_index_t print_index_by, H5_iter_order_t print_index_order) +{ + trav_index_by = print_index_by; + trav_index_order = print_index_order; +} + +/*------------------------------------------------------------------------- + * Function: h5trav_set_verbose + * + * Purpose: Set verbosity of file contents 1=>attributes + * + * Return: none + * + *------------------------------------------------------------------------- + */ +void +h5trav_set_verbose(int print_verbose) +{ + trav_verbosity = print_verbose; +} + +/*------------------------------------------------------------------------- * "h5trav info" public functions. used in h5diff *------------------------------------------------------------------------- */ @@ -255,12 +298,12 @@ traverse(hid_t file_id, const char *grp_name, hbool_t visit_start, /* Check for iteration of links vs. visiting all links recursively */ if(recurse) { /* Visit all links in group, recursively */ - if(H5Lvisit_by_name(file_id, grp_name, H5_INDEX_NAME, H5_ITER_INC, traverse_cb, &udata, H5P_DEFAULT) < 0) + if(H5Lvisit_by_name(file_id, grp_name, trav_index_by, trav_index_order, traverse_cb, &udata, H5P_DEFAULT) < 0) return -1; } /* end if */ else { /* Iterate over links in group */ - if(H5Literate_by_name(file_id, grp_name, H5_INDEX_NAME, H5_ITER_INC, NULL, traverse_cb, &udata, H5P_DEFAULT) < 0) + if(H5Literate_by_name(file_id, grp_name, trav_index_by, trav_index_order, NULL, traverse_cb, &udata, H5P_DEFAULT) < 0) return -1; } /* end else */ @@ -821,6 +864,72 @@ void trav_table_free( trav_table_t *table ) HDfree(table); } +static herr_t +trav_attr(hid_t obj, const char *attr_name, const H5A_info_t UNUSED *ainfo, void *op_data) +{ + char *buf; + + buf = (char*)op_data; + if((strlen(buf)==1) && (*buf=='/')) + printf(" %-10s %s%s", "attribute", buf, attr_name); + else + printf(" %-10s %s/%s", "attribute", buf, attr_name); + +#ifdef H5TRAV_PRINT_SPACE + if(trav_verbosity < 2) { +#endif + printf("\n"); +#ifdef H5TRAV_PRINT_SPACE + } + else { + hid_t attr = -1; + hid_t space = -1; + hsize_t size[H5S_MAX_RANK]; + int ndims; + int i; + H5S_class_t space_type; + + if((attr = H5Aopen(obj, attr_name, H5P_DEFAULT))) { + space = H5Aget_space(attr); + + /* Data space */ + ndims = H5Sget_simple_extent_dims(space, size, NULL); + space_type = H5Sget_simple_extent_type(space); + switch(space_type) { + case H5S_SCALAR: + /* scalar dataspace */ + printf(" scalar\n"); + break; + + case H5S_SIMPLE: + /* simple dataspace */ + printf(" {"); + for (i=0; i 0) + H5Aiterate_by_name(print_udata->fid, path, trav_index_by, trav_index_order, NULL, trav_attr, path, H5P_DEFAULT); + } else /* Print the link's original name */ printf(" -> %s\n", already_visited); diff --git a/tools/lib/h5trav.h b/tools/lib/h5trav.h index da8dc69..c416cf8 100644 --- a/tools/lib/h5trav.h +++ b/tools/lib/h5trav.h @@ -131,6 +131,7 @@ extern "C" { * "h5trav general" public functions *------------------------------------------------------------------------- */ +H5TOOLS_DLL void h5trav_set_index(H5_index_t print_index_by, H5_iter_order_t print_index_order); H5TOOLS_DLL int h5trav_visit(hid_t file_id, const char *grp_name, hbool_t visit_start, hbool_t recurse, h5trav_obj_func_t visit_obj, h5trav_lnk_func_t visit_lnk, void *udata); @@ -159,6 +160,7 @@ H5TOOLS_DLL int h5trav_getindext(const char *obj, const trav_table_t *travt); *------------------------------------------------------------------------- */ H5TOOLS_DLL int h5trav_print(hid_t fid); +H5TOOLS_DLL void h5trav_set_verbose(int print_verbose); #ifdef __cplusplus } diff --git a/tools/misc/CMakeLists.txt b/tools/misc/CMakeLists.txt index 1c6e909..0687323 100644 --- a/tools/misc/CMakeLists.txt +++ b/tools/misc/CMakeLists.txt @@ -31,6 +31,13 @@ SET (H5_DEP_EXECUTABLES h5mkgrp ) +#----------------------------------------------------------------------------- +# Generate the h5cc file containing settings needed to compile programs +#----------------------------------------------------------------------------- +#IF (NOT WIN32) +# CONFIGURE_FILE (${HDF5_TOOLS_MISC_SOURCE_DIR}/h5cc.in ${HDF5_BINARY_DIR}/h5cc @ONLY) +#ENDIF (NOT WIN32) + ############################################################################## ############################################################################## ### T E S T I N G ### diff --git a/tools/testfiles/filter_fail.ddl b/tools/testfiles/filter_fail.ddl index 75534e2..3a456f5 100644 --- a/tools/testfiles/filter_fail.ddl +++ b/tools/testfiles/filter_fail.ddl @@ -8,24 +8,3 @@ GROUP "/" { } } } -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Dread(): can't read data - major: Dataset - minor: Read failed - #001: (file name) line (number) in H5D_read(): can't read data - major: Dataset - minor: Read failed - #002: (file name) line (number) in H5D_chunk_read(): unable to read raw data chunk - major: Low-level I/O - minor: Read failed - #003: (file name) line (number) in H5D_chunk_lock(): data pipeline read failed - major: Data filters - minor: Filter operation failed - #004: (file name) line (number) in H5Z_pipeline(): required filter 'filter_fail_test' is not registered - major: Data filters - minor: Read failed -h5dump error: unable to print data -H5tools-DIAG: Error detected in HDF5:tools (version (number)) thread (IDs): - #000: (file name) line (number) in h5tools_dump_simple_dset(): H5Dread failed - major: Failure in tools library - minor: error in function diff --git a/tools/testfiles/h5dump-help.txt b/tools/testfiles/h5dump-help.txt index d8551ca..5e0a8f1 100644 --- a/tools/testfiles/h5dump-help.txt +++ b/tools/testfiles/h5dump-help.txt @@ -2,6 +2,7 @@ usage: h5dump [OPTIONS] files OPTIONS -h, --help Print a usage message and exit -n, --contents Print a list of the file contents and exit + Optional value 1 also prints attributes. -B, --superblock Print the content of the super block -H, --header Print the header only; no data is displayed -A, --onlyattr Print the header and value of attributes @@ -61,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -101,7 +112,11 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile diff --git a/tools/testfiles/tattr-3.ddl b/tools/testfiles/tattr-3.ddl index a19f69a..943dc0d 100644 --- a/tools/testfiles/tattr-3.ddl +++ b/tools/testfiles/tattr-3.ddl @@ -6,11 +6,3 @@ ATTRIBUTE "attr2" { ATTRIBUTE "attr" { } } -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Aopen(): unable to load attribute info from object header for attribute: 'attr' - major: Attribute - minor: Unable to initialize object - #001: (file name) line (number) in H5O_attr_open_by_name(): can't locate attribute: 'attr' - major: Attribute - minor: Object not found -h5dump error: unable to open attribute "attr" diff --git a/tools/testfiles/tattrcontents1.ddl b/tools/testfiles/tattrcontents1.ddl new file mode 100644 index 0000000..e118d89 --- /dev/null +++ b/tools/testfiles/tattrcontents1.ddl @@ -0,0 +1,21 @@ +HDF5 "tall.h5" { +FILE_CONTENTS { + group / + attribute /attr1 + attribute /attr2 + group /g1 + group /g1/g1.1 + dataset /g1/g1.1/dset1.1.1 + attribute /g1/g1.1/dset1.1.1/attr1 + attribute /g1/g1.1/dset1.1.1/attr2 + dataset /g1/g1.1/dset1.1.2 + group /g1/g1.2 + ext link /g1/g1.2/extlink -> somefile somepath + group /g1/g1.2/g1.2.1 + link /g1/g1.2/g1.2.1/slink -> somevalue + group /g2 + dataset /g2/dset2.1 + dataset /g2/dset2.2 + unknown type of UD link /g2/udlink -> ??? + } +} diff --git a/tools/testfiles/tattrcontents2.ddl b/tools/testfiles/tattrcontents2.ddl new file mode 100644 index 0000000..4076385 --- /dev/null +++ b/tools/testfiles/tattrcontents2.ddl @@ -0,0 +1,21 @@ +HDF5 "tall.h5" { +FILE_CONTENTS { + group / + attribute /attr2 + attribute /attr1 + group /g2 + unknown type of UD link /g2/udlink -> ??? + dataset /g2/dset2.2 + dataset /g2/dset2.1 + group /g1 + group /g1/g1.2 + group /g1/g1.2/g1.2.1 + link /g1/g1.2/g1.2.1/slink -> somevalue + ext link /g1/g1.2/extlink -> somefile somepath + group /g1/g1.1 + dataset /g1/g1.1/dset1.1.2 + dataset /g1/g1.1/dset1.1.1 + attribute /g1/g1.1/dset1.1.1/attr2 + attribute /g1/g1.1/dset1.1.1/attr1 + } +} diff --git a/tools/testfiles/tdset-2.ddl b/tools/testfiles/tdset-2.ddl index 2034a43..dfda95e 100644 --- a/tools/testfiles/tdset-2.ddl +++ b/tools/testfiles/tdset-2.ddl @@ -8,36 +8,3 @@ DATASET "/dset2" { DATASPACE SIMPLE { ( 30, 20 ) / ( 30, 20 ) } } } -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Dopen2(): not found - major: Dataset - minor: Object not found - #001: (file name) line (number) in H5G_loc_find(): can't find object - major: Symbol table - minor: Object not found - #002: (file name) line (number) in H5G_traverse(): internal path traversal failed - major: Symbol table - minor: Object not found - #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed - major: Symbol table - minor: Callback failed - #004: (file name) line (number) in H5G_loc_find_cb(): object 'dset3' doesn't exist - major: Symbol table - minor: Object not found -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Lget_info(): unable to get link info - major: Symbol table - minor: Object not found - #001: (file name) line (number) in H5L_get_info(): name doesn't exist - major: Symbol table - minor: Object already exists - #002: (file name) line (number) in H5G_traverse(): internal path traversal failed - major: Symbol table - minor: Object not found - #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed - major: Symbol table - minor: Callback failed - #004: (file name) line (number) in H5L_get_info_cb(): name doesn't exist - major: Symbol table - minor: Object not found -h5dump error: unable to get link info from "dset3" diff --git a/tools/testfiles/tdset_idx.ls b/tools/testfiles/tdset_idx.ls new file mode 100644 index 0000000..daa14b2 --- /dev/null +++ b/tools/testfiles/tdset_idx.ls @@ -0,0 +1,36 @@ +dset_btree Dataset {20/200, 10/100} + Data: + (0,0) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, + (2,2) 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, + (4,4) 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, + (6,6) 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, + (8,8) 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + (11,0) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, + (13,2) 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, + (15,4) 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, + (17,6) 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, + (19,8) 8, 9 +dset_filter Dataset {20, 10} + Data: + (0,0) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, + (2,2) 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, + (4,4) 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, + (6,6) 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, + (8,8) 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + (11,0) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, + (13,2) 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, + (15,4) 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, + (17,6) 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, + (19,8) 8, 9 +dset_fixed Dataset {20, 10} + Data: + (0,0) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, + (2,2) 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, + (4,4) 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, + (6,6) 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, + (8,8) 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + (11,0) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, + (13,2) 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, + (15,4) 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, + (17,6) 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, + (19,8) 8, 9 diff --git a/tools/testfiles/textlink.ddl b/tools/testfiles/textlink.ddl index 4718adb..5459b30 100644 --- a/tools/testfiles/textlink.ddl +++ b/tools/testfiles/textlink.ddl @@ -10,53 +10,3 @@ GROUP "/" { } } } -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Oopen(): unable to open object - major: Symbol table - minor: Can't open object - #001: (file name) line (number) in H5O_open_name(): object not found - major: Symbol table - minor: Object not found - #002: (file name) line (number) in H5G_loc_find(): can't find object - major: Symbol table - minor: Object not found - #003: (file name) line (number) in H5G_traverse(): internal path traversal failed - major: Symbol table - minor: Object not found - #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed - major: Links - minor: Link traversal failure - #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed - major: Links - minor: Link traversal failure - #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID - major: Symbol table - minor: Unable to find atom information (already closed?) - #007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'filename', temp_file_name = 'filename' - major: Links - minor: Unable to open file -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Oopen(): unable to open object - major: Symbol table - minor: Can't open object - #001: (file name) line (number) in H5O_open_name(): object not found - major: Symbol table - minor: Object not found - #002: (file name) line (number) in H5G_loc_find(): can't find object - major: Symbol table - minor: Object not found - #003: (file name) line (number) in H5G_traverse(): internal path traversal failed - major: Symbol table - minor: Object not found - #004: (file name) line (number) in H5G_traverse_real(): special link traversal failed - major: Links - minor: Link traversal failure - #005: (file name) line (number) in H5G__traverse_special(): user-defined link traversal failed - major: Links - minor: Link traversal failure - #006: (file name) line (number) in H5G_traverse_ud(): traversal callback returned invalid ID - major: Symbol table - minor: Unable to find atom information (already closed?) - #007: (file name) line (number) in H5L_extern_traverse(): unable to open external file, external link file name = 'anotherfile', temp_file_name = 'anotherfile' - major: Links - minor: Unable to open file diff --git a/tools/testfiles/tgroup-2.ddl b/tools/testfiles/tgroup-2.ddl index c4af7bb..2ac8ac6 100644 --- a/tools/testfiles/tgroup-2.ddl +++ b/tools/testfiles/tgroup-2.ddl @@ -40,4 +40,3 @@ GROUP "/" { GROUP "/y" { } } -h5dump error: unable to open group "/y" diff --git a/tools/testfiles/tnestedcmpddt.ddl b/tools/testfiles/tnestedcmpddt.ddl new file mode 100644 index 0000000..db949f0 --- /dev/null +++ b/tools/testfiles/tnestedcmpddt.ddl @@ -0,0 +1,220 @@ +HDF5 "tnestedcmpddt.h5" { +GROUP "/" { + DATASET "dset1" { + DATATYPE H5T_COMPOUND { + H5T_STD_I32LE "a_name"; + H5T_IEEE_F32LE "b_name"; + } + DATASPACE SIMPLE { ( 6 ) / ( H5S_UNLIMITED ) } + DATA { + (0): { + 0, + 0 + }, + (1): { + 1, + 1 + }, + (2): { + 2, + 4 + }, + (3): { + 3, + 9 + }, + (4): { + 4, + 16 + }, + (5): { + 5, + 25 + } + } + } + DATASET "dset2" { + DATATYPE H5T_COMPOUND { + H5T_STD_I32LE "a_name"; + H5T_IEEE_F32LE "b_name"; + H5T_ENUM { + H5T_STD_I32LE; + "Red" 0; + "Green" 1; + "Blue" 2; + "White" 3; + "Black" 4; + } "c_name"; + } + DATASPACE SIMPLE { ( 6 ) / ( H5S_UNLIMITED ) } + DATA { + (0): { + 0, + 0, + Green + }, + (1): { + 1, + 1.1, + Green + }, + (2): { + 2, + 2.2, + Green + }, + (3): { + 3, + 3.3, + Green + }, + (4): { + 4, + 4.4, + Green + }, + (5): { + 5, + 5.5, + Green + } + } + } + DATASET "dset4" { + DATATYPE "/enumtype" + DATASPACE SIMPLE { ( 6 ) / ( H5S_UNLIMITED ) } + DATA { + (0): Red, Green, Blue, Green, White, Blue + } + } + DATASET "dset5" { + DATATYPE "/type1" + DATASPACE SIMPLE { ( 6 ) / ( H5S_UNLIMITED ) } + DATA { + (0): { + 0, + 0 + }, + (1): { + 1, + 1 + }, + (2): { + 2, + 4 + }, + (3): { + 3, + 9 + }, + (4): { + 4, + 16 + }, + (5): { + 5, + 25 + } + } + } + DATATYPE "enumtype" H5T_ENUM { + H5T_STD_I32LE; + "Red" 0; + "Green" 1; + "Blue" 2; + "White" 3; + "Black" 4; + }; + GROUP "group1" { + DATASET "dset3" { + DATATYPE H5T_COMPOUND { + H5T_ARRAY { [5] H5T_STD_I32LE } "int_name"; + H5T_ARRAY { [5][6] H5T_IEEE_F32LE } "float_name"; + H5T_COMPOUND { + H5T_STD_I32LE "int_name"; + H5T_IEEE_F32LE "float_name"; + } "cmpd_name"; + } + DATASPACE SIMPLE { ( 6 ) / ( H5S_UNLIMITED ) } + DATA { + (0): { + [ 0, 0, 0, 0, 0 ], + [ 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0 ], + { + 0, + 0 + } + }, + (1): { + [ 0, 1, 2, 3, 4 ], + [ 0, 0, 0, 0, 0, 0, + 0, 1, 2, 3, 4, 5, + 0, 2, 4, 6, 8, 10, + 0, 3, 6, 9, 12, 15, + 0, 4, 8, 12, 16, 20 ], + { + 1, + 1 + } + }, + (2): { + [ 0, 2, 4, 6, 8 ], + [ 0, 0, 0, 0, 0, 0, + 0, 2, 4, 6, 8, 10, + 0, 4, 8, 12, 16, 20, + 0, 6, 12, 18, 24, 30, + 0, 8, 16, 24, 32, 40 ], + { + 2, + 2 + } + }, + (3): { + [ 0, 3, 6, 9, 12 ], + [ 0, 0, 0, 0, 0, 0, + 0, 3, 6, 9, 12, 15, + 0, 6, 12, 18, 24, 30, + 0, 9, 18, 27, 36, 45, + 0, 12, 24, 36, 48, 60 ], + { + 3, + 3 + } + }, + (4): { + [ 0, 4, 8, 12, 16 ], + [ 0, 0, 0, 0, 0, 0, + 0, 4, 8, 12, 16, 20, + 0, 8, 16, 24, 32, 40, + 0, 12, 24, 36, 48, 60, + 0, 16, 32, 48, 64, 80 ], + { + 4, + 4 + } + }, + (5): { + [ 0, 5, 10, 15, 20 ], + [ 0, 0, 0, 0, 0, 0, + 0, 5, 10, 15, 20, 25, + 0, 10, 20, 30, 40, 50, + 0, 15, 30, 45, 60, 75, + 0, 20, 40, 60, 80, 100 ], + { + 5, + 5 + } + } + } + } + } + DATATYPE "type1" H5T_COMPOUND { + H5T_STD_I32LE "int_name"; + H5T_IEEE_F32LE "float_name"; + } +} +} diff --git a/tools/testfiles/tnestedcmpddt.h5 b/tools/testfiles/tnestedcmpddt.h5 new file mode 100644 index 0000000..f2af756 Binary files /dev/null and b/tools/testfiles/tnestedcmpddt.h5 differ diff --git a/tools/testfiles/tnofilename-with-packed-bits.ddl b/tools/testfiles/tnofilename-with-packed-bits.ddl index 050a3a3..a82c94e 100644 --- a/tools/testfiles/tnofilename-with-packed-bits.ddl +++ b/tools/testfiles/tnofilename-with-packed-bits.ddl @@ -2,6 +2,7 @@ usage: h5dump [OPTIONS] files OPTIONS -h, --help Print a usage message and exit -n, --contents Print a list of the file contents and exit + Optional value 1 also prints attributes. -B, --superblock Print the content of the super block -H, --header Print the header only; no data is displayed -A, --onlyattr Print the header and value of attributes @@ -61,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -101,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: missing file name diff --git a/tools/testfiles/tordercontents1.ddl b/tools/testfiles/tordercontents1.ddl new file mode 100644 index 0000000..14e12d6 --- /dev/null +++ b/tools/testfiles/tordercontents1.ddl @@ -0,0 +1,20 @@ +HDF5 "tfcontents1.h5" { +FILE_CONTENTS { + datatype /#5616 + group / + dataset /dset + dataset /dset3 -> /dset + dataset /dset4 -> /dset + dataset /dsetmytype2 + ext link /extlink -> fname oname + group /g1 + dataset /g1/dset1 -> /dset + group /g1/g1.1 + dataset /g1/g1.1/dset2 -> /dset + group /g2 -> /g1/g1.1 + link /mylink -> mylink + datatype /mytype + link /softlink -> /dset + unknown type of UD link /udlink -> ??? + } +} diff --git a/tools/testfiles/tordercontents2.ddl b/tools/testfiles/tordercontents2.ddl new file mode 100644 index 0000000..6757338 --- /dev/null +++ b/tools/testfiles/tordercontents2.ddl @@ -0,0 +1,20 @@ +HDF5 "tfcontents1.h5" { +FILE_CONTENTS { + datatype /#5616 + group / + unknown type of UD link /udlink -> ??? + link /softlink -> /dset + datatype /mytype + link /mylink -> mylink + group /g2 + dataset /g2/dset2 + group /g1 + group /g1/g1.1 -> /g2 + dataset /g1/dset1 -> /g2/dset2 + ext link /extlink -> fname oname + dataset /dsetmytype2 + dataset /dset4 -> /g2/dset2 + dataset /dset3 -> /g2/dset2 + dataset /dset -> /g2/dset2 + } +} diff --git a/tools/testfiles/torderlinks1.ddl b/tools/testfiles/torderlinks1.ddl new file mode 100644 index 0000000..eaf6eea --- /dev/null +++ b/tools/testfiles/torderlinks1.ddl @@ -0,0 +1,52 @@ +HDF5 "tfcontents1.h5" { +GROUP "/" { + DATATYPE "#5616" H5T_STD_I32BE; + DATASET "dset" { + DATATYPE H5T_STD_I32BE + DATASPACE SIMPLE { ( 4 ) / ( 4 ) } + DATA { + (0): 1, 2, 3, 4 + } + } + DATASET "dset3" { + HARDLINK "/dset" + } + DATASET "dset4" { + HARDLINK "/dset" + } + DATASET "dsetmytype2" { + DATATYPE "/#5616" + DATASPACE SIMPLE { ( 4 ) / ( 4 ) } + DATA { + (0): 1, 2, 3, 4 + } + } + EXTERNAL_LINK "extlink" { + TARGETFILE "fname" + TARGETPATH "oname" + } + GROUP "g1" { + DATASET "dset1" { + HARDLINK "/dset" + } + GROUP "g1.1" { + DATASET "dset2" { + HARDLINK "/dset" + } + } + } + GROUP "g2" { + HARDLINK "/g1/g1.1" + } + SOFTLINK "mylink" { + LINKTARGET "mylink" + } + DATATYPE "mytype" H5T_STD_I32BE; + SOFTLINK "softlink" { + LINKTARGET "/dset" + } + USERDEFINED_LINK "udlink" { + LINKCLASS 187 + } +} +} diff --git a/tools/testfiles/torderlinks2.ddl b/tools/testfiles/torderlinks2.ddl new file mode 100644 index 0000000..dd68208 --- /dev/null +++ b/tools/testfiles/torderlinks2.ddl @@ -0,0 +1,52 @@ +HDF5 "tfcontents1.h5" { +GROUP "/" { + DATATYPE "#5616" H5T_STD_I32BE; + USERDEFINED_LINK "udlink" { + LINKCLASS 187 + } + SOFTLINK "softlink" { + LINKTARGET "/dset" + } + DATATYPE "mytype" H5T_STD_I32BE; + SOFTLINK "mylink" { + LINKTARGET "mylink" + } + GROUP "g2" { + DATASET "dset2" { + DATATYPE H5T_STD_I32BE + DATASPACE SIMPLE { ( 4 ) / ( 4 ) } + DATA { + (0): 1, 2, 3, 4 + } + } + } + GROUP "g1" { + GROUP "g1.1" { + HARDLINK "/g2" + } + DATASET "dset1" { + HARDLINK "/g2/dset2" + } + } + EXTERNAL_LINK "extlink" { + TARGETFILE "fname" + TARGETPATH "oname" + } + DATASET "dsetmytype2" { + DATATYPE "/#5616" + DATASPACE SIMPLE { ( 4 ) / ( 4 ) } + DATA { + (0): 1, 2, 3, 4 + } + } + DATASET "dset4" { + HARDLINK "/g2/dset2" + } + DATASET "dset3" { + HARDLINK "/g2/dset2" + } + DATASET "dset" { + HARDLINK "/g2/dset2" + } +} +} diff --git a/tools/testfiles/tpbitsIncomplete.ddl b/tools/testfiles/tpbitsIncomplete.ddl index 5608d2b..72d54fc 100644 --- a/tools/testfiles/tpbitsIncomplete.ddl +++ b/tools/testfiles/tpbitsIncomplete.ddl @@ -2,6 +2,7 @@ usage: h5dump [OPTIONS] files OPTIONS -h, --help Print a usage message and exit -n, --contents Print a list of the file contents and exit + Optional value 1 also prints attributes. -B, --superblock Print the content of the super block -H, --header Print the header only; no data is displayed -A, --onlyattr Print the header and value of attributes @@ -61,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -101,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Bad mask list(0,2,2,1,0,2,2,) diff --git a/tools/testfiles/tpbitsLengthExceeded.ddl b/tools/testfiles/tpbitsLengthExceeded.ddl index f89b65f..d8b627c 100644 --- a/tools/testfiles/tpbitsLengthExceeded.ddl +++ b/tools/testfiles/tpbitsLengthExceeded.ddl @@ -2,6 +2,7 @@ usage: h5dump [OPTIONS] files OPTIONS -h, --help Print a usage message and exit -n, --contents Print a list of the file contents and exit + Optional value 1 also prints attributes. -B, --superblock Print the content of the super block -H, --header Print the header only; no data is displayed -A, --onlyattr Print the header and value of attributes @@ -61,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -101,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Packed Bit offset+length value(65) too large. Max is 64 diff --git a/tools/testfiles/tpbitsLengthPositive.ddl b/tools/testfiles/tpbitsLengthPositive.ddl index ba32aa6..39cef23 100644 --- a/tools/testfiles/tpbitsLengthPositive.ddl +++ b/tools/testfiles/tpbitsLengthPositive.ddl @@ -2,6 +2,7 @@ usage: h5dump [OPTIONS] files OPTIONS -h, --help Print a usage message and exit -n, --contents Print a list of the file contents and exit + Optional value 1 also prints attributes. -B, --superblock Print the content of the super block -H, --header Print the header only; no data is displayed -A, --onlyattr Print the header and value of attributes @@ -61,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -101,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Packed Bit length value(0) must be positive. diff --git a/tools/testfiles/tpbitsMaxExceeded.ddl b/tools/testfiles/tpbitsMaxExceeded.ddl index 16f953d..5f35825 100644 --- a/tools/testfiles/tpbitsMaxExceeded.ddl +++ b/tools/testfiles/tpbitsMaxExceeded.ddl @@ -2,6 +2,7 @@ usage: h5dump [OPTIONS] files OPTIONS -h, --help Print a usage message and exit -n, --contents Print a list of the file contents and exit + Optional value 1 also prints attributes. -B, --superblock Print the content of the super block -H, --header Print the header only; no data is displayed -A, --onlyattr Print the header and value of attributes @@ -61,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -101,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Too many masks requested (max. 8). Mask list(0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1) diff --git a/tools/testfiles/tpbitsOffsetExceeded.ddl b/tools/testfiles/tpbitsOffsetExceeded.ddl index 446fe2d..92cc816 100644 --- a/tools/testfiles/tpbitsOffsetExceeded.ddl +++ b/tools/testfiles/tpbitsOffsetExceeded.ddl @@ -2,6 +2,7 @@ usage: h5dump [OPTIONS] files OPTIONS -h, --help Print a usage message and exit -n, --contents Print a list of the file contents and exit + Optional value 1 also prints attributes. -B, --superblock Print the content of the super block -H, --header Print the header only; no data is displayed -A, --onlyattr Print the header and value of attributes @@ -61,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -101,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Packed Bit offset value(64) must be between 0 and 63 diff --git a/tools/testfiles/tpbitsOffsetNegative.ddl b/tools/testfiles/tpbitsOffsetNegative.ddl index 747cf99..c318834 100644 --- a/tools/testfiles/tpbitsOffsetNegative.ddl +++ b/tools/testfiles/tpbitsOffsetNegative.ddl @@ -2,6 +2,7 @@ usage: h5dump [OPTIONS] files OPTIONS -h, --help Print a usage message and exit -n, --contents Print a list of the file contents and exit + Optional value 1 also prints attributes. -B, --superblock Print the content of the super block -H, --header Print the header only; no data is displayed -A, --onlyattr Print the header and value of attributes @@ -61,10 +62,20 @@ usage: h5dump [OPTIONS] files number of dimensions in the dataspace being queried D - is the file driver to use in opening the file. Acceptable values - are "sec2", "family", "split", "multi", "direct", and "stream". Without - the file driver flag, the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. + are "sec2", "family", "split", "multi", "direct", and "stream". Without + the file driver flag, the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + These are the letters that are appended to the file name(without .h5) when opening + names for the split(m,r) and multi(s,b,r,g,l,o) drivers. They are: + m: All meta data when using the split driver. + s: The userblock, superblock, and driver info block + b: B-tree nodes + r: Dataset raw data + g: Global heap + l: local heap (object names) + o: object headers + F - is a filename. P - is the full path from the root group to the object. N - is an integer greater than 1. @@ -101,8 +112,12 @@ usage: h5dump [OPTIONS] files h5dump -d /dset -M 0,1,4,3 quux.h5 - 5) Dataset foo in files multi1.h5 multi2.h5 multi3.h5 + 5) Dataset foo in files file1.h5 file2.h5 file3.h5 + + h5dump -d /foo file1.h5 file2.h5 file3.h5 + + 6) Dataset foo in split files splitfile-m.h5 splitfile-r.h5 - h5dump -d /foo multi1.h5 multi2.h5 multi3.h5 + h5dump -d /foo -f split splitfile h5dump error: Bad mask list(-1,1) diff --git a/tools/testfiles/tperror.ddl b/tools/testfiles/tperror.ddl index 16a7d8e..0cb961c 100644 --- a/tools/testfiles/tperror.ddl +++ b/tools/testfiles/tperror.ddl @@ -1,35 +1,2 @@ HDF5 "tfcontents1.h5" { } -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Dopen2(): not found - major: Dataset - minor: Object not found - #001: (file name) line (number) in H5G_loc_find(): can't find object - major: Symbol table - minor: Object not found - #002: (file name) line (number) in H5G_traverse(): internal path traversal failed - major: Symbol table - minor: Object not found - #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed - major: Symbol table - minor: Callback failed - #004: (file name) line (number) in H5G_loc_find_cb(): object 'bogus' doesn't exist - major: Symbol table - minor: Object not found -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Lget_info(): unable to get link info - major: Symbol table - minor: Object not found - #001: (file name) line (number) in H5L_get_info(): name doesn't exist - major: Symbol table - minor: Object already exists - #002: (file name) line (number) in H5G_traverse(): internal path traversal failed - major: Symbol table - minor: Object not found - #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed - major: Symbol table - minor: Callback failed - #004: (file name) line (number) in H5L_get_info_cb(): name doesn't exist - major: Symbol table - minor: Object not found -h5dump error: unable to get link info from "bogus" diff --git a/tools/testfiles/tqmarkfile.ddl b/tools/testfiles/tqmarkfile.ddl index e7771cb..885be5f 100644 --- a/tools/testfiles/tqmarkfile.ddl +++ b/tools/testfiles/tqmarkfile.ddl @@ -48,36 +48,3 @@ DATASET "Dataset1" { } HDF5 "tarray8.h5" { } -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Dopen2(): not found - major: Dataset - minor: Object not found - #001: (file name) line (number) in H5G_loc_find(): can't find object - major: Symbol table - minor: Object not found - #002: (file name) line (number) in H5G_traverse(): internal path traversal failed - major: Symbol table - minor: Object not found - #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed - major: Symbol table - minor: Callback failed - #004: (file name) line (number) in H5G_loc_find_cb(): object 'Dataset1' doesn't exist - major: Symbol table - minor: Object not found -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Lget_info(): unable to get link info - major: Symbol table - minor: Object not found - #001: (file name) line (number) in H5L_get_info(): name doesn't exist - major: Symbol table - minor: Object already exists - #002: (file name) line (number) in H5G_traverse(): internal path traversal failed - major: Symbol table - minor: Object not found - #003: (file name) line (number) in H5G_traverse_real(): traversal operator failed - major: Symbol table - minor: Callback failed - #004: (file name) line (number) in H5L_get_info_cb(): name doesn't exist - major: Symbol table - minor: Object not found -h5dump error: unable to get link info from "Dataset1" diff --git a/tools/testfiles/tslink-D.ddl b/tools/testfiles/tslink-D.ddl index a1d999a..9d90262 100644 --- a/tools/testfiles/tslink-D.ddl +++ b/tools/testfiles/tslink-D.ddl @@ -3,28 +3,3 @@ SOFTLINK "/slink1" { LINKTARGET "somevalue" } } -HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs): - #000: (file name) line (number) in H5Dopen2(): not found - major: Dataset - minor: Object not found - #001: (file name) line (number) in H5G_loc_find(): can't find object - major: Symbol table - minor: Object not found - #002: (file name) line (number) in H5G_traverse(): internal path traversal failed - major: Symbol table - minor: Object not found - #003: (file name) line (number) in H5G_traverse_real(): special link traversal failed - major: Links - minor: Link traversal failure - #004: (file name) line (number) in H5G__traverse_special(): symbolic link traversal failed - major: Links - minor: Link traversal failure - #005: (file name) line (number) in H5G_traverse_slink(): unable to follow symbolic link - major: Symbol table - minor: Object not found - #006: (file name) line (number) in H5G_traverse_real(): traversal operator failed - major: Symbol table - minor: Callback failed - #007: (file name) line (number) in H5G_traverse_slink_cb(): component not found - major: Symbol table - minor: Object not found diff --git a/tools/testfiles/twidedisplay.ddl b/tools/testfiles/twidedisplay.ddl new file mode 100644 index 0000000..1e6ffee --- /dev/null +++ b/tools/testfiles/twidedisplay.ddl @@ -0,0 +1,130 @@ +HDF5 "packedbits.h5" { +GROUP "/" { + DATASET "DS08BITS" { + DATATYPE H5T_STD_I8LE + DATASPACE SIMPLE { ( 8, 8 ) / ( 8, 8 ) } + DATA { + (0,0): -1, -2, -4, -8, -16, -32, -64, -128, + (1,0): -2, -4, -8, -16, -32, -64, -128, 0, + (2,0): -4, -8, -16, -32, -64, -128, 0, 0, + (3,0): -8, -16, -32, -64, -128, 0, 0, 0, + (4,0): -16, -32, -64, -128, 0, 0, 0, 0, + (5,0): -32, -64, -128, 0, 0, 0, 0, 0, + (6,0): -64, -128, 0, 0, 0, 0, 0, 0, + (7,0): -128, 0, 0, 0, 0, 0, 0, 0 + } + } + DATASET "DS16BITS" { + DATATYPE H5T_STD_I16LE + DATASPACE SIMPLE { ( 8, 16 ) / ( 8, 16 ) } + DATA { + (0,0): -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, + (1,0): -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, + (2,0): -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, + (3,0): -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, + (4,0): -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, + (5,0): -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0, + (6,0): -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0, 0, + (7,0): -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, 0, 0, 0, 0, 0, 0, 0 + } + } + DATASET "DS32BITS" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 8, 32 ) / ( 8, 32 ) } + DATA { + (0,0): -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, + (1,0): -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, + (2,0): -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, + (3,0): -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, + (4,0): -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, + (5,0): -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0, + (6,0): -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0, 0, + (7,0): -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, 0, 0, 0, 0, 0, 0, 0 + } + } + DATASET "DS64BITS" { + DATATYPE H5T_STD_I64LE + DATASPACE SIMPLE { ( 8, 64 ) / ( 8, 64 ) } + DATA { + (0,0): -1, -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, + (1,0): -2, -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, + (2,0): -4, -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, + (3,0): -8, -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, + (4,0): -16, -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, + (5,0): -32, -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, 0, + (6,0): -64, -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, 0, 0, + (7,0): -128, -256, -512, -1024, -2048, -4096, -8192, -16384, -32768, -65536, -131072, -262144, -524288, -1048576, -2097152, -4194304, -8388608, -16777216, -33554432, -67108864, -134217728, -268435456, -536870912, -1073741824, -2147483648, -4294967296, -8589934592, -17179869184, -34359738368, -68719476736, -137438953472, -274877906944, -549755813888, -1099511627776, -2199023255552, -4398046511104, -8796093022208, -17592186044416, -35184372088832, -70368744177664, -140737488355328, -281474976710656, -562949953421312, -1125899906842624, -2251799813685248, -4503599627370496, -9007199254740992, -18014398509481984, -36028797018963968, -72057594037927936, -144115188075855872, -288230376151711744, -576460752303423488, -1152921504606846976, -2305843009213693952, -4611686018427387904, -9223372036854775808, 0, 0, 0, 0, 0, 0, 0 + } + } + DATASET "DU08BITS" { + DATATYPE H5T_STD_U8LE + DATASPACE SIMPLE { ( 8, 8 ) / ( 8, 8 ) } + DATA { + (0,0): 255, 254, 252, 248, 240, 224, 192, 128, + (1,0): 254, 252, 248, 240, 224, 192, 128, 0, + (2,0): 252, 248, 240, 224, 192, 128, 0, 0, + (3,0): 248, 240, 224, 192, 128, 0, 0, 0, + (4,0): 240, 224, 192, 128, 0, 0, 0, 0, + (5,0): 224, 192, 128, 0, 0, 0, 0, 0, + (6,0): 192, 128, 0, 0, 0, 0, 0, 0, + (7,0): 128, 0, 0, 0, 0, 0, 0, 0 + } + } + DATASET "DU16BITS" { + DATATYPE H5T_STD_U16LE + DATASPACE SIMPLE { ( 8, 16 ) / ( 8, 16 ) } + DATA { + (0,0): 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, + (1,0): 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, + (2,0): 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, + (3,0): 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, + (4,0): 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, + (5,0): 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0, + (6,0): 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0, 0, + (7,0): 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, 0, 0, 0, 0, 0, 0, 0 + } + } + DATASET "DU32BITS" { + DATATYPE H5T_STD_U32LE + DATASPACE SIMPLE { ( 8, 32 ) / ( 8, 32 ) } + DATA { + (0,0): 4294967295, 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, + (1,0): 4294967294, 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, + (2,0): 4294967292, 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, + (3,0): 4294967288, 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, + (4,0): 4294967280, 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, + (5,0): 4294967264, 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0, + (6,0): 4294967232, 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0, 0, + (7,0): 4294967168, 4294967040, 4294966784, 4294966272, 4294965248, 4294963200, 4294959104, 4294950912, 4294934528, 4294901760, 4294836224, 4294705152, 4294443008, 4293918720, 4292870144, 4290772992, 4286578688, 4278190080, 4261412864, 4227858432, 4160749568, 4026531840, 3758096384, 3221225472, 2147483648, 0, 0, 0, 0, 0, 0, 0 + } + } + DATASET "DU64BITS" { + DATATYPE H5T_STD_U64LE + DATASPACE SIMPLE { ( 8, 64 ) / ( 8, 64 ) } + DATA { + (0,0): 18446744073709551615, 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, + (1,0): 18446744073709551614, 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, + (2,0): 18446744073709551612, 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, + (3,0): 18446744073709551608, 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, + (4,0): 18446744073709551600, 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, + (5,0): 18446744073709551584, 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0, + (6,0): 18446744073709551552, 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0, 0, + (7,0): 18446744073709551488, 18446744073709551360, 18446744073709551104, 18446744073709550592, 18446744073709549568, 18446744073709547520, 18446744073709543424, 18446744073709535232, 18446744073709518848, 18446744073709486080, 18446744073709420544, 18446744073709289472, 18446744073709027328, 18446744073708503040, 18446744073707454464, 18446744073705357312, 18446744073701163008, 18446744073692774400, 18446744073675997184, 18446744073642442752, 18446744073575333888, 18446744073441116160, 18446744073172680704, 18446744072635809792, 18446744071562067968, 18446744069414584320, 18446744065119617024, 18446744056529682432, 18446744039349813248, 18446744004990074880, 18446743936270598144, 18446743798831644672, 18446743523953737728, 18446742974197923840, 18446741874686296064, 18446739675663040512, 18446735277616529408, 18446726481523507200, 18446708889337462784, 18446673704965373952, 18446603336221196288, 18446462598732840960, 18446181123756130304, 18445618173802708992, 18444492273895866368, 18442240474082181120, 18437736874454810624, 18428729675200069632, 18410715276690587648, 18374686479671623680, 18302628885633695744, 18158513697557839872, 17870283321406128128, 17293822569102704640, 16140901064495857664, 13835058055282163712, 9223372036854775808, 0, 0, 0, 0, 0, 0, 0 + } + } + DATASET "DummyDBL" { + DATATYPE H5T_IEEE_F64BE + DATASPACE SIMPLE { ( 8, 8 ) / ( 8, 8 ) } + DATA { + (0,0): 0, 0.0001, 0.0002, 0.0003, 0.0004, 0.0005, 0.0006, 0.0007, + (1,0): 1, 1.0001, 1.0002, 1.0003, 1.0004, 1.0005, 1.0006, 1.0007, + (2,0): 2, 2.0001, 2.0002, 2.0003, 2.0004, 2.0005, 2.0006, 2.0007, + (3,0): 3, 3.0001, 3.0002, 3.0003, 3.0004, 3.0005, 3.0006, 3.0007, + (4,0): 4, 4.0001, 4.0002, 4.0003, 4.0004, 4.0005, 4.0006, 4.0007, + (5,0): 5, 5.0001, 5.0002, 5.0003, 5.0004, 5.0005, 5.0006, 5.0007, + (6,0): 6, 6.0001, 6.0002, 6.0003, 6.0004, 6.0005, 6.0006, 6.0007, + (7,0): 7, 7.0001, 7.0002, 7.0003, 7.0004, 7.0005, 7.0006, 7.0007 + } + } +} +} diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h index d45cd48..e6cb4e5 100644 --- a/vms/src/h5pubconf.h +++ b/vms/src/h5pubconf.h @@ -418,7 +418,7 @@ /* #undef H5_HAVE_WINDOW_PATH */ /* Define to 1 if you have the header file. */ -/* #undef H5_HAVE_WINSOCK_H */ +/* #undef H5_HAVE_WINSOCK2_H */ /* Define to 1 if you have the header file. */ #define H5_HAVE_ZLIB_H 1 @@ -502,7 +502,7 @@ #define H5_PACKAGE_NAME "HDF5" /* Define to the full name and version of this package. */ -#define H5_PACKAGE_STRING "HDF5 1.9.113-FA_a5" +#define H5_PACKAGE_STRING "HDF5 1.9.124-FA_a5" /* Define to the one symbol short name of this package. */ #define H5_PACKAGE_TARNAME "hdf5" @@ -511,7 +511,7 @@ #define H5_PACKAGE_URL "" /* Define to the version of this package. */ -#define H5_PACKAGE_VERSION "1.9.113-FA_a5" +#define H5_PACKAGE_VERSION "1.9.124-FA_a5" /* Width for printf() for type `long long' or `__int64', use `ll' */ #define H5_PRINTF_LL_WIDTH "ll" @@ -674,7 +674,7 @@ /* #undef H5_USING_MEMCHECKER */ /* Version number of package */ -#define H5_VERSION "1.9.113-FA_a5" +#define H5_VERSION "1.9.124-FA_a5" /* Define if vsnprintf() returns the correct value for formatted strings that don't fit into size allowed */ diff --git a/windows/src/H5pubconf.h b/windows/src/H5pubconf.h index 32c1dee..05276d8 100644 --- a/windows/src/H5pubconf.h +++ b/windows/src/H5pubconf.h @@ -527,7 +527,7 @@ #define H5_PACKAGE_NAME "HDF5" /* Define to the full name and version of this package. */ -#define H5_PACKAGE_STRING "HDF5 1.9.113-FA_a5" +#define H5_PACKAGE_STRING "HDF5 1.9.124-FA_a5" /* Define to the one symbol short name of this package. */ #define H5_PACKAGE_TARNAME "hdf5" @@ -536,7 +536,7 @@ #define H5_PACKAGE_URL "" /* Define to the version of this package. */ -#define H5_PACKAGE_VERSION "1.9.113-FA_a5" +#define H5_PACKAGE_VERSION "1.9.124-FA_a5" /* Width for printf() for type `long long' or `__int64', use `ll' */ #define H5_PRINTF_LL_WIDTH "I64" @@ -707,7 +707,7 @@ /* #undef H5_USING_MEMCHECKER */ /* Version number of package */ -#define H5_VERSION "1.9.113-FA_a5" +#define H5_VERSION "1.9.124-FA_a5" /* Define if vsnprintf() returns the correct value for formatted strings that don't fit into size allowed */ -- cgit v0.12