diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 9a0719f1dc9..26900a08511 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -32,7 +32,9 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT set (ZLIB_URL ${TGZPATH}/${ZLIB_TGZ_NAME}) if (NOT EXISTS "${ZLIB_URL}") set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE) - message (STATUS "Filter ZLIB file ${ZLIB_URL} not found") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Filter ZLIB file ${ZLIB_URL} not found") + endif () endif () set (SZIP_URL ${TGZPATH}/${SZIP_TGZ_NAME}) if (USE_LIBAEC) @@ -40,7 +42,9 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT endif () if (NOT EXISTS "${SZIP_URL}") set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE) - message (STATUS "Filter SZIP file ${SZIP_URL} not found") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Filter SZIP file ${SZIP_URL} not found") + endif () endif () else () set (ZLIB_USE_EXTERNAL 0) @@ -76,7 +80,9 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) set (H5_HAVE_FILTER_DEFLATE 1) set (H5_HAVE_ZLIB_H 1) set (H5_HAVE_LIBZ 1) - message (STATUS "Filter ZLIB is built") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Filter ZLIB is built") + endif () else () message (FATAL_ERROR " ZLib is Required for ZLib support in HDF5") endif () @@ -92,7 +98,9 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) endif () set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_STATIC_LIBRARY}) INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS}) - message (STATUS "Filter ZLIB is ON") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Filter ZLIB is ON") + endif () endif () #----------------------------------------------------------------------------- @@ -122,9 +130,13 @@ if (HDF5_ENABLE_SZIP_SUPPORT) set (H5_HAVE_FILTER_SZIP 1) set (H5_HAVE_SZLIB_H 1) set (H5_HAVE_LIBSZ 1) - message (STATUS "Filter SZIP is built") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Filter SZIP is built") + endif () if (USE_LIBAEC) - message (STATUS "... with library AEC") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "... with library AEC") + endif () set (SZ_PACKAGE_NAME ${LIBAEC_PACKAGE_NAME}) else () set (SZ_PACKAGE_NAME ${SZIP_PACKAGE_NAME}) @@ -135,7 +147,9 @@ if (HDF5_ENABLE_SZIP_SUPPORT) endif () set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_STATIC_LIBRARY}) INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS}) - message (STATUS "Filter SZIP is ON") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Filter SZIP is ON") + endif () if (H5_HAVE_FILTER_SZIP) set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DECODE") endif () diff --git a/CMakeLists.txt b/CMakeLists.txt index b65bdf28233..b86d61a6833 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,7 +44,6 @@ if (CMAKE_VERSION VERSION_LESS "3.14.0") if (WIN32) message (FATAL_ERROR "Windows builds requires a minimum of CMake 3.14") endif() -else () endif () #----------------------------------------------------------------------------- @@ -204,6 +203,7 @@ set (HDF5_HL_F90_C_LIBSH_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-shared") #----------------------------------------------------------------------------- # Define some CMake variables for use later in the project #----------------------------------------------------------------------------- +set (HDF_CONFIG_DIR ${HDF5_SOURCE_DIR}/config) set (HDF_RESOURCES_DIR ${HDF5_SOURCE_DIR}/config/cmake) set (HDF_RESOURCES_EXT_DIR ${HDF5_SOURCE_DIR}/config/cmake_ext_mod) set (HDF5_SRC_DIR ${HDF5_SOURCE_DIR}/src) @@ -239,7 +239,9 @@ string (REGEX REPLACE ".*#define[ \t]+H5_VERS_RELEASE[ \t]+([0-9]*).*$" "\\1" H5_VERS_RELEASE ${_h5public_h_contents}) string (REGEX REPLACE ".*#define[ \t]+H5_VERS_SUBRELEASE[ \t]+\"([0-9A-Za-z._\-]*)\".*$" "\\1" H5_VERS_SUBRELEASE ${_h5public_h_contents}) -#message (STATUS "VERSION: ${H5_VERS_MAJOR}.${H5_VERS_MINOR}.${H5_VERS_RELEASE}-${H5_VERS_SUBRELEASE}") +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (TRACE "VERSION: ${H5_VERS_MAJOR}.${H5_VERS_MINOR}.${H5_VERS_RELEASE}-${H5_VERS_SUBRELEASE}") +endif () #----------------------------------------------------------------------------- # parse the full soversion number from config/lt_vers.am and include in H5_SOVERS_INFO @@ -252,7 +254,9 @@ string (REGEX REPLACE ".*LT_VERS_REVISION[ \t]+=[ \t]+([0-9]*).*$" string (REGEX REPLACE ".*LT_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$" "\\1" H5_LIB_SOVERS_RELEASE ${_lt_vers_am_contents}) math (EXPR H5_LIB_SOVERS_MAJOR ${H5_LIB_SOVERS_INTERFACE}-${H5_LIB_SOVERS_RELEASE}) -message (STATUS "SOVERSION: ${H5_LIB_SOVERS_MAJOR}.${H5_LIB_SOVERS_RELEASE}.${H5_LIB_SOVERS_MINOR}") +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "SOVERSION: ${H5_LIB_SOVERS_MAJOR}.${H5_LIB_SOVERS_RELEASE}.${H5_LIB_SOVERS_MINOR}") +endif () string (REGEX MATCH ".*LT_TOOLS_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$" H5_TOOLS_SOVERS_EXISTS ${_lt_vers_am_contents}) if (H5_TOOLS_SOVERS_EXISTS) string (REGEX REPLACE ".*LT_TOOLS_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$" @@ -262,7 +266,9 @@ if (H5_TOOLS_SOVERS_EXISTS) string (REGEX REPLACE ".*LT_TOOLS_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$" "\\1" H5_TOOLS_SOVERS_RELEASE ${_lt_vers_am_contents}) math (EXPR H5_TOOLS_SOVERS_MAJOR ${H5_TOOLS_SOVERS_INTERFACE}-${H5_TOOLS_SOVERS_RELEASE}) - message (STATUS "SOVERSION_TOOLS: ${H5_TOOLS_SOVERS_MAJOR}.${H5_TOOLS_SOVERS_RELEASE}.${H5_TOOLS_SOVERS_MINOR}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "SOVERSION_TOOLS: ${H5_TOOLS_SOVERS_MAJOR}.${H5_TOOLS_SOVERS_RELEASE}.${H5_TOOLS_SOVERS_MINOR}") + endif () endif () string (REGEX MATCH ".*LT_CXX_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$" H5_CXX_SOVERS_EXISTS ${_lt_vers_am_contents}) if (H5_CXX_SOVERS_EXISTS) @@ -273,7 +279,9 @@ if (H5_CXX_SOVERS_EXISTS) string (REGEX REPLACE ".*LT_CXX_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$" "\\1" H5_CXX_SOVERS_RELEASE ${_lt_vers_am_contents}) math (EXPR H5_CXX_SOVERS_MAJOR ${H5_CXX_SOVERS_INTERFACE}-${H5_CXX_SOVERS_RELEASE}) - message (STATUS "SOVERSION_CXX: ${H5_CXX_SOVERS_MAJOR}.${H5_CXX_SOVERS_RELEASE}.${H5_CXX_SOVERS_MINOR}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "SOVERSION_CXX: ${H5_CXX_SOVERS_MAJOR}.${H5_CXX_SOVERS_RELEASE}.${H5_CXX_SOVERS_MINOR}") + endif () endif () string (REGEX MATCH ".*LT_F_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$" H5_F_SOVERS_EXISTS ${_lt_vers_am_contents}) if (H5_F_SOVERS_EXISTS) @@ -284,7 +292,9 @@ if (H5_F_SOVERS_EXISTS) string (REGEX REPLACE ".*LT_F_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$" "\\1" H5_F_SOVERS_RELEASE ${_lt_vers_am_contents}) math (EXPR H5_F_SOVERS_MAJOR ${H5_F_SOVERS_INTERFACE}-${H5_F_SOVERS_RELEASE}) - message (STATUS "SOVERSION_F: ${H5_F_SOVERS_MAJOR}.${H5_F_SOVERS_RELEASE}.${H5_F_SOVERS_MINOR}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "SOVERSION_F: ${H5_F_SOVERS_MAJOR}.${H5_F_SOVERS_RELEASE}.${H5_F_SOVERS_MINOR}") + endif () endif () string (REGEX MATCH ".*LT_HL_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$" H5_HL_SOVERS_EXISTS ${_lt_vers_am_contents}) if (H5_HL_SOVERS_EXISTS) @@ -295,7 +305,9 @@ if (H5_HL_SOVERS_EXISTS) string (REGEX REPLACE ".*LT_HL_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$" "\\1" H5_HL_SOVERS_RELEASE ${_lt_vers_am_contents}) math (EXPR H5_HL_SOVERS_MAJOR ${H5_HL_SOVERS_INTERFACE}-${H5_HL_SOVERS_RELEASE}) - message (STATUS "SOVERSION_HL: ${H5_HL_SOVERS_MAJOR}.${H5_HL_SOVERS_RELEASE}.${H5_HL_SOVERS_MINOR}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "SOVERSION_HL: ${H5_HL_SOVERS_MAJOR}.${H5_HL_SOVERS_RELEASE}.${H5_HL_SOVERS_MINOR}") + endif () endif () string (REGEX MATCH ".*LT_HL_CXX_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$" H5_HL_CXX_SOVERS_EXISTS ${_lt_vers_am_contents}) if (H5_HL_CXX_SOVERS_EXISTS) @@ -306,7 +318,9 @@ if (H5_HL_CXX_SOVERS_EXISTS) string (REGEX REPLACE ".*LT_HL_CXX_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$" "\\1" H5_HL_CXX_SOVERS_RELEASE ${_lt_vers_am_contents}) math (EXPR H5_HL_CXX_SOVERS_MAJOR ${H5_HL_CXX_SOVERS_INTERFACE}-${H5_HL_CXX_SOVERS_RELEASE}) - message (STATUS "SOVERSION_HL_CXX: ${H5_HL_CXX_SOVERS_MAJOR}.${H5_HL_CXX_SOVERS_RELEASE}.${H5_HL_CXX_SOVERS_MINOR}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "SOVERSION_HL_CXX: ${H5_HL_CXX_SOVERS_MAJOR}.${H5_HL_CXX_SOVERS_RELEASE}.${H5_HL_CXX_SOVERS_MINOR}") + endif () endif () string (REGEX MATCH ".*LT_HL_F_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$" H5_HL_F_SOVERS_EXISTS ${_lt_vers_am_contents}) if (H5_HL_F_SOVERS_EXISTS) @@ -317,7 +331,9 @@ if (H5_HL_F_SOVERS_EXISTS) string (REGEX REPLACE ".*LT_HL_F_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$" "\\1" H5_HL_F_SOVERS_RELEASE ${_lt_vers_am_contents}) math (EXPR H5_HL_F_SOVERS_MAJOR ${H5_HL_F_SOVERS_INTERFACE}-${H5_HL_F_SOVERS_RELEASE}) - message (STATUS "SOVERSION_HL_F: ${H5_HL_F_SOVERS_MAJOR}.${H5_HL_F_SOVERS_RELEASE}.${H5_HL_F_SOVERS_MINOR}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "SOVERSION_HL_F: ${H5_HL_F_SOVERS_MAJOR}.${H5_HL_F_SOVERS_RELEASE}.${H5_HL_F_SOVERS_MINOR}") + endif () endif () string (REGEX MATCH ".*LT_JAVA_VERS_INTERFACE[ \t]+=[ \t]+([0-9]*).*$" H5_JAVA_SOVERS_EXISTS ${_lt_vers_am_contents}) if(H5_JAVA_SOVERS_EXISTS) @@ -328,7 +344,9 @@ if(H5_JAVA_SOVERS_EXISTS) string (REGEX REPLACE ".*LT_JAVA_VERS_AGE[ \t]+=[ \t]+([0-9]*).*$" "\\1" H5_JAVA_SOVERS_RELEASE ${_lt_vers_am_contents}) math (EXPR H5_JAVA_SOVERS_MAJOR ${H5_JAVA_SOVERS_INTERFACE}-${H5_JAVA_SOVERS_RELEASE}) - message (STATUS "SOVERSION_JAVA: ${H5_JAVA_SOVERS_MAJOR}.${H5_JAVA_SOVERS_RELEASE}.${H5_JAVA_SOVERS_MINOR}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "SOVERSION_JAVA: ${H5_JAVA_SOVERS_MAJOR}.${H5_JAVA_SOVERS_RELEASE}.${H5_JAVA_SOVERS_MINOR}") + endif () endif () #----------------------------------------------------------------------------- @@ -796,39 +814,51 @@ option (HDF5_ENABLE_THREADSAFE "Enable thread-safety" OFF) if (HDF5_ENABLE_THREADSAFE) # check for unsupported options if (WIN32) - message (STATUS " **** thread-safety option not supported with static library **** ") - message (STATUS " **** thread-safety option will not be used building static library **** ") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE " **** thread-safety option not supported with static library **** ") + message (VERBOSE " **** thread-safety option will not be used building static library **** ") + endif () endif () if (HDF5_ENABLE_PARALLEL) if (NOT ALLOW_UNSUPPORTED) message (FATAL_ERROR " **** parallel and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ") else () - message (STATUS " **** Allowing unsupported parallel and thread-safety options **** ") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE " **** Allowing unsupported parallel and thread-safety options **** ") + endif () endif () endif () if (HDF5_BUILD_FORTRAN) if (NOT ALLOW_UNSUPPORTED) message (FATAL_ERROR " **** Fortran and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ") else () - message (STATUS " **** Allowing unsupported Fortran and thread-safety options **** ") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE " **** Allowing unsupported Fortran and thread-safety options **** ") + endif () endif () endif () if (HDF5_BUILD_CPP_LIB) if (NOT ALLOW_UNSUPPORTED) message (FATAL_ERROR " **** C++ and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ") else () - message (STATUS " **** Allowing unsupported C++ and thread-safety options **** ") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE " **** Allowing unsupported C++ and thread-safety options **** ") + endif () endif () endif () if (HDF5_BUILD_HL_LIB) if (NOT ALLOW_UNSUPPORTED) message (FATAL_ERROR " **** HL and thread-safety options are not supported, override with ALLOW_UNSUPPORTED option **** ") else () - message (STATUS " **** Allowing unsupported HL and thread-safety options **** ") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE " **** Allowing unsupported HL and thread-safety options **** ") + endif () endif () endif () if (H5_HAVE_IOEO) - message (STATUS " **** Win32 threads requires WINVER>=0x600 (Windows Vista/7/8) **** ") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE " **** Win32 threads requires WINVER>=0x600 (Windows Vista/7/8) **** ") + endif () set (H5_HAVE_WIN_THREADS 1) else () if (NOT H5_HAVE_PTHREAD_H) @@ -1017,7 +1047,9 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for if (HDF5_BUILD_FORTRAN) include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake) - message (STATUS "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}") + endif () include (${HDF_RESOURCES_DIR}/HDFFortranCompilerFlags.cmake) include (${HDF_RESOURCES_DIR}/HDF5UseFortran.cmake) set (LINK_Fortran_LIBS ${LINK_LIBS}) @@ -1066,7 +1098,9 @@ if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++") if (NOT ALLOW_UNSUPPORTED) message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive, override with ALLOW_UNSUPPORTED option **** ") else () - message (STATUS " **** Allowing unsupported Parallel and C++ options **** ") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE " **** Allowing unsupported Parallel and C++ options **** ") + endif () endif () endif () diff --git a/MANIFEST b/MANIFEST index 2ac2c2066a6..36b2808e873 100644 --- a/MANIFEST +++ b/MANIFEST @@ -139,6 +139,7 @@ ./config/ibm-flags ./config/intel-fflags ./config/intel-flags +./config/libhdf5.pc.in ./config/linux-gnu ./config/linux-gnuaout ./config/linux-gnueabihf @@ -3514,7 +3515,6 @@ ./config/cmake/jrunTest.cmake ./config/cmake/jvolTest.cmake ./config/cmake/libh5cc.in -./config/cmake/libhdf5.pc.in ./config/cmake/libhdf5.settings.cmake.in ./config/cmake/mccacheinit.cmake ./config/cmake/patch.xml diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt index 13eb7953694..8608c678062 100644 --- a/c++/src/CMakeLists.txt +++ b/c++/src/CMakeLists.txt @@ -198,7 +198,7 @@ set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( - ${HDF_RESOURCES_DIR}/libhdf5.pc.in + ${HDF_CONFIG_DIR}/libhdf5.pc.in ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_CPP_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}.pc @ONLY ) diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake index ab121e9c581..abdde7026f1 100644 --- a/config/cmake/ConfigureChecks.cmake +++ b/config/cmake/ConfigureChecks.cmake @@ -165,14 +165,18 @@ if (NOT WINDOWS) add_definitions ("-D_GNU_SOURCE") else () set (TEST_DIRECT_VFD_WORKS "" CACHE INTERNAL ${msg}) - message (STATUS "${msg}... no") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "${msg}... no") + endif () file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log "Test TEST_DIRECT_VFD_WORKS Run failed with the following output and exit code:\n ${OUTPUT}\n" ) endif () else () set (TEST_DIRECT_VFD_WORKS "" CACHE INTERNAL ${msg}) - message (STATUS "${msg}... no") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "${msg}... no") + endif () file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log "Test TEST_DIRECT_VFD_WORKS Compile failed with the following output:\n ${OUTPUT}\n" ) @@ -192,7 +196,7 @@ option (HDF5_ENABLE_ROS3_VFD "Build the ROS3 Virtual File Driver" OFF) list (APPEND LINK_LIBS ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES}) INCLUDE_DIRECTORIES (${CURL_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR}) else () - message (STATUS "The Read-Only S3 VFD was requested but cannot be built.\nPlease check that openssl and cURL are available on your\nsystem, and/or re-configure without option HDF5_ENABLE_ROS3_VFD.") + message (WARNING "The Read-Only S3 VFD was requested but cannot be built.\nPlease check that openssl and cURL are available on your\nsystem, and/or re-configure without option HDF5_ENABLE_ROS3_VFD.") endif () endif () @@ -209,7 +213,7 @@ if (H5FD_ENABLE_MIRROR_VFD) ${HDF_PREFIX}_HAVE_FORK) set (${HDF_PREFIX}_HAVE_MIRROR_VFD 1) else() - message(STATUS "The socket-based Mirror VFD was requested but cannot be built. System prerequisites are not met.") + message(WARNING "The socket-based Mirror VFD was requested but cannot be built. System prerequisites are not met.") endif() endif() @@ -235,7 +239,6 @@ endif () #----------------------------------------------------------------------------- macro (H5ConversionTests TEST msg) if (NOT DEFINED ${TEST}) - # message (STATUS "===> ${TEST}") TRY_RUN (${TEST}_RUN ${TEST}_COMPILE ${CMAKE_BINARY_DIR} ${HDF_RESOURCES_DIR}/ConversionTests.c @@ -245,17 +248,23 @@ macro (H5ConversionTests TEST msg) if (${TEST}_COMPILE) if (${TEST}_RUN MATCHES 0) set (${TEST} 1 CACHE INTERNAL ${msg}) - message (STATUS "${msg}... yes") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "${msg}... yes") + endif () else () set (${TEST} "" CACHE INTERNAL ${msg}) - message (STATUS "${msg}... no") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "${msg}... no") + endif () file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log "Test ${TEST} Run failed with the following output and exit code:\n ${OUTPUT}\n" ) endif () else () set (${TEST} "" CACHE INTERNAL ${msg}) - message (STATUS "${msg}... no") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "${msg}... no") + endif () file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log "Test ${TEST} Compile failed with the following output:\n ${OUTPUT}\n" ) diff --git a/config/cmake/HDF5PluginCache.cmake b/config/cmake/HDF5PluginCache.cmake index 99ea4b25e24..2b9e48c26f7 100644 --- a/config/cmake/HDF5PluginCache.cmake +++ b/config/cmake/HDF5PluginCache.cmake @@ -8,7 +8,6 @@ set (H5PL_BUILD_TESTING ON CACHE BOOL "Enable h5pl testing" FORCE) set (BUILD_EXAMPLES ON CACHE BOOL "Build h5pl Examples" FORCE) -set (HDF5_PACKAGE_NAME "hdf5" CACHE STRING "Name of HDF5 package" FORCE) set (HDF5_HDF5_HEADER "h5pubconf.h" CACHE STRING "Name of HDF5 header" FORCE) set (HDF5_LINK_LIBS ${HDF5_LIBSH_TARGET} CACHE STRING "hdf5 target" FORCE) #set (HDF5_INCLUDE_DIR $ CACHE PATH "hdf5 include dirs" FORCE) diff --git a/config/cmake/HDF5PluginMacros.cmake b/config/cmake/HDF5PluginMacros.cmake index a858353f37f..4e05399becb 100644 --- a/config/cmake/HDF5PluginMacros.cmake +++ b/config/cmake/HDF5PluginMacros.cmake @@ -14,7 +14,9 @@ macro (EXTERNAL_PLUGIN_LIBRARY compress_type) ) endif () FetchContent_GetProperties(PLUGIN) - message (STATUS "HDF5_INCLUDE_DIR=${HDF5_INCLUDE_DIR}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "HDF5_INCLUDE_DIR=${HDF5_INCLUDE_DIR}") + endif () if(NOT PLUGIN_POPULATED) FetchContent_Populate(PLUGIN) include (${HDF_RESOURCES_DIR}/HDF5PluginCache.cmake) @@ -65,8 +67,10 @@ macro (EXTERNAL_PLUGIN_LIBRARY compress_type) add_dependencies (h5ex_d_zfp ${HDF5_LIBSH_TARGET}) target_include_directories (h5ex_d_zfp PRIVATE "${HDF5_SRC_DIR};${HDF5_SRC_BINARY_DIR}") endif () - endif() - message (STATUS "HDF5_INCLUDE_DIR=${HDF5_INCLUDE_DIR}") + endif () + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "HDF5_INCLUDE_DIR=${HDF5_INCLUDE_DIR}") + endif () set (PLUGIN_BINARY_DIR "${plugin_BINARY_DIR}") set (PLUGIN_SOURCE_DIR "${plugin_SOURCE_DIR}") set (PLUGIN_LIBRARY "PLUGIN") diff --git a/config/cmake/HDF5UseFortran.cmake b/config/cmake/HDF5UseFortran.cmake index 4350b7afa2d..8579b7385d2 100644 --- a/config/cmake/HDF5UseFortran.cmake +++ b/config/cmake/HDF5UseFortran.cmake @@ -41,7 +41,9 @@ else () # so this one is used. #----------------------------------------------------------------------------- macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR1 RETURN_VAR) - message (STATUS "Detecting Fortran ${FUNCTION_NAME}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Detecting Fortran ${FUNCTION_NAME}") + endif () file (WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90 "${SOURCE_CODE}" @@ -55,18 +57,24 @@ macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR1 if (${COMPILE_RESULT_VAR}) set(${RETURN_VAR} ${RUN_RESULT_VAR}) if (${RUN_RESULT_VAR} MATCHES 0) - message (STATUS "Testing Fortran ${FUNCTION_NAME} - OK") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Testing Fortran ${FUNCTION_NAME} - OK") + endif () file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "Determining if the Fortran ${FUNCTION_NAME} exists passed\n" ) else () - message (STATUS "Testing Fortran ${FUNCTION_NAME} - Fail") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Testing Fortran ${FUNCTION_NAME} - Fail") + endif () file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Determining if the Fortran ${FUNCTION_NAME} exists failed: ${RUN_RESULT_VAR}\n" ) endif () else () - message (STATUS "Compiling Fortran ${FUNCTION_NAME} - Fail") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Compiling Fortran ${FUNCTION_NAME} - Fail") + endif () file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Determining if the Fortran ${FUNCTION_NAME} compiles failed: ${COMPILE_RESULT_VAR}\n" ) @@ -281,7 +289,9 @@ string (REGEX REPLACE " " "" pack_int_sizeof "${pack_int_sizeof}") set (PAC_FC_ALL_INTEGER_KINDS_SIZEOF "\{${pack_int_sizeof}\}") -message (STATUS "....FOUND SIZEOF for INTEGER KINDs ${PAC_FC_ALL_INTEGER_KINDS_SIZEOF}") +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "....FOUND SIZEOF for INTEGER KINDs ${PAC_FC_ALL_INTEGER_KINDS_SIZEOF}") +endif () # ********** # REALS # ********** @@ -442,7 +452,9 @@ else () # so this one is used. #----------------------------------------------------------------------------- macro (C_RUN FUNCTION_NAME SOURCE_CODE RETURN_VAR) - message (STATUS "Detecting C ${FUNCTION_NAME}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Detecting C ${FUNCTION_NAME}") + endif () if (HDF5_REQUIRED_LIBRARIES) set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}") @@ -462,22 +474,28 @@ macro (C_RUN FUNCTION_NAME SOURCE_CODE RETURN_VAR) set (${RETURN_VAR} ${OUTPUT_VAR}) - #message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") - #message (STATUS "Test COMPILE_RESULT_VAR ${COMPILE_RESULT_VAR} ") - #message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") - #message (STATUS "Test RUN_RESULT_VAR ${RUN_RESULT_VAR} ") - #message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") + #if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + # message (TRACE "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") + # message (TRACE "Test COMPILE_RESULT_VAR ${COMPILE_RESULT_VAR} ") + # message (TRACE "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") + # message (TRACE "Test RUN_RESULT_VAR ${RUN_RESULT_VAR} ") + # message (TRACE "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") + #endif () if (${COMPILE_RESULT_VAR}) if (${RUN_RESULT_VAR} MATCHES 1) set (${RUN_RESULT_VAR} 1 CACHE INTERNAL "Have C function ${FUNCTION_NAME}") - message (STATUS "Testing C ${FUNCTION_NAME} - OK") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Testing C ${FUNCTION_NAME} - OK") + endif () file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "Determining if the C ${FUNCTION_NAME} exists passed with the following output:\n" "${OUTPUT_VAR}\n\n" ) else () - message (STATUS "Testing C ${FUNCTION_NAME} - Fail") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Testing C ${FUNCTION_NAME} - Fail") + endif () set (${RUN_RESULT_VAR} 0 CACHE INTERNAL "Have C function ${FUNCTION_NAME}") file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Determining if the C ${FUNCTION_NAME} exists failed with the following output:\n" diff --git a/config/cmake/HDFCXXCompilerFlags.cmake b/config/cmake/HDFCXXCompilerFlags.cmake index 59259894c6d..4f2eabec2e0 100644 --- a/config/cmake/HDFCXXCompilerFlags.cmake +++ b/config/cmake/HDFCXXCompilerFlags.cmake @@ -14,7 +14,9 @@ set(CMAKE_CXX_STANDARD_REQUIRED TRUE) set(CMAKE_CXX_EXTENSIONS OFF) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_SANITIZER_FLAGS} ${CMAKE_CXX_FLAGS}") -message (STATUS "Warnings Configuration: CXX default: ${CMAKE_CXX_FLAGS}") +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Warnings Configuration: CXX default: ${CMAKE_CXX_FLAGS}") +endif () #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- @@ -100,7 +102,9 @@ if (NOT MSVC AND NOT MINGW) elseif (CMAKE_CXX_COMPILER_ID STREQUAL "PGI") list (APPEND HDF5_CMAKE_CXX_FLAGS "-Minform=inform") endif () - message (STATUS "CMAKE_CXX_FLAGS_GENERAL=${HDF5_CMAKE_CXX_FLAGS}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "CMAKE_CXX_FLAGS_GENERAL=${HDF5_CMAKE_CXX_FLAGS}") + endif () endif () #----------------------------------------------------------------------------- diff --git a/config/cmake/HDFCompilerFlags.cmake b/config/cmake/HDFCompilerFlags.cmake index 5f35e6113e8..fb527d5411c 100644 --- a/config/cmake/HDFCompilerFlags.cmake +++ b/config/cmake/HDFCompilerFlags.cmake @@ -15,7 +15,9 @@ set(CMAKE_C_STANDARD_REQUIRED TRUE) set (CMAKE_C_FLAGS "${CMAKE_C99_STANDARD_COMPILE_OPTION} ${CMAKE_C_FLAGS}") set (CMAKE_C_FLAGS "${CMAKE_C_SANITIZER_FLAGS} ${CMAKE_C_FLAGS}") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_SANITIZER_FLAGS} ${CMAKE_CXX_FLAGS}") -message (STATUS "Warnings Configuration: default: ${CMAKE_C_FLAGS} : ${CMAKE_CXX_FLAGS}") +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Warnings Configuration: default: ${CMAKE_C_FLAGS} : ${CMAKE_CXX_FLAGS}") +endif () #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- @@ -127,7 +129,9 @@ if (NOT MSVC AND NOT MINGW) elseif (CMAKE_C_COMPILER_ID STREQUAL "PGI") list (APPEND HDF5_CMAKE_C_FLAGS "-Minform=inform") endif () - message (STATUS "CMAKE_C_FLAGS_GENERAL=${HDF5_CMAKE_C_FLAGS}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "CMAKE_C_FLAGS_GENERAL=${HDF5_CMAKE_C_FLAGS}") + endif () endif () #----------------------------------------------------------------------------- diff --git a/config/cmake/HDFFortranCompilerFlags.cmake b/config/cmake/HDFFortranCompilerFlags.cmake index 2bbb35d8d82..c7f085ceab2 100644 --- a/config/cmake/HDFFortranCompilerFlags.cmake +++ b/config/cmake/HDFFortranCompilerFlags.cmake @@ -10,7 +10,9 @@ # help@hdfgroup.org. # -message (STATUS "Warnings Configuration: default Fortran: ${CMAKE_Fortran_FLAGS}") +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Warnings Configuration: default Fortran: ${CMAKE_Fortran_FLAGS}") +endif () #----------------------------------------------------------------------------- # Option to allow the user to disable compiler warnings @@ -64,7 +66,9 @@ if (NOT MSVC AND NOT MINGW) elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "PGI") list (APPEND HDF5_CMAKE_Fortran_FLAGS "-Mfreeform" "-Mdclchk" "-Mstandard" "-Mallocatable=03") endif () - message (STATUS "HDF5_CMAKE_Fortran_FLAGS=${HDF5_CMAKE_Fortran_FLAGS}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "HDF5_CMAKE_Fortran_FLAGS=${HDF5_CMAKE_Fortran_FLAGS}") + endif () if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU") diff --git a/config/cmake/fileCompareTest.cmake b/config/cmake/fileCompareTest.cmake index d913da02973..2f968fac02d 100644 --- a/config/cmake/fileCompareTest.cmake +++ b/config/cmake/fileCompareTest.cmake @@ -24,9 +24,6 @@ endif () if (NOT TEST_FUNCTION) message (FATAL_ERROR "Require TEST_FUNCTION (LT,LTEQ,EQ,GTEQ,GT) to be defined") endif () -#if (NOT TEST_EXPECT) -# message (STATUS "Require TEST_EXPECT to be defined") -#endif () set (TEST_ONE_SIZE 0) set (TEST_TWO_SIZE 0) @@ -53,7 +50,9 @@ if (TEST_STRINGS STREQUAL "YES") RESULT_VARIABLE TEST_RESULT ) - message (STATUS "COMPARE Result: ${TEST_RESULT}: ${TEST_STRING_SIZE}=${TEST_U_STRING_LEN}-${TEST_O_STRING_LEN}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "COMPARE Result: ${TEST_RESULT}: ${TEST_STRING_SIZE}=${TEST_U_STRING_LEN}-${TEST_O_STRING_LEN}") + endif () # if the return value is !=${TEST_EXPECT} bail out if (NOT TEST_RESULT EQUAL TEST_EXPECT) message (FATAL_ERROR "Failed: The output of ${TEST_FOLDER}/${TEST_ONEFILE} did not match ${TEST_FOLDER}/${TEST_TWOFILE}.\n${TEST_ERROR}") @@ -66,31 +65,41 @@ else () file (SIZE ${TEST_FOLDER}/${TEST_TWOFILE} TEST_TWO_SIZE) if (TEST_FUNCTION MATCHES "LT") if (TEST_ONE_SIZE LESS TEST_TWO_SIZE) - message (STATUS "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was less ${TEST_FOLDER}/${TEST_TWOFILE}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was less ${TEST_FOLDER}/${TEST_TWOFILE}") + endif () else () message (FATAL_ERROR "The size of ${TEST_FOLDER}/${TEST_ONEFILE} was NOT less ${TEST_FOLDER}/${TEST_TWOFILE}") endif () elseif (TEST_FUNCTION MATCHES "LTEQ") if (TEST_ONE_SIZE LESS_EQUAL TEST_TWO_SIZE) - message (STATUS "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was less or equal ${TEST_FOLDER}/${TEST_TWOFILE}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSES "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was less or equal ${TEST_FOLDER}/${TEST_TWOFILE}") + endif () else () message (FATAL_ERROR "The size of ${TEST_FOLDER}/${TEST_ONEFILE} was NOT less or equal ${TEST_FOLDER}/${TEST_TWOFILE}") endif () elseif (TEST_FUNCTION MATCHES "EQ") if (TEST_ONE_SIZE LESS_EQUAL TEST_TWO_SIZE) - message (STATUS "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was equal ${TEST_FOLDER}/${TEST_TWOFILE}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was equal ${TEST_FOLDER}/${TEST_TWOFILE}") + endif () else () message (FATAL_ERROR "The size of ${TEST_FOLDER}/${TEST_ONEFILE} was NOT equal ${TEST_FOLDER}/${TEST_TWOFILE}") endif () elseif (TEST_FUNCTION MATCHES "GTEQ") if (TEST_ONE_SIZE LESS_EQUAL TEST_TWO_SIZE) - message (STATUS "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was greater or equal ${TEST_FOLDER}/${TEST_TWOFILE}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was greater or equal ${TEST_FOLDER}/${TEST_TWOFILE}") + endif () else () message (FATAL_ERROR "The size of ${TEST_FOLDER}/${TEST_ONEFILE} was NOT greater or equal ${TEST_FOLDER}/${TEST_TWOFILE}") endif () elseif (TEST_FUNCTION MATCHES "GT") if (TEST_ONE_SIZE LESS_EQUAL TEST_TWO_SIZE) - message (STATUS "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was greater ${TEST_FOLDER}/${TEST_TWOFILE}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Passed: The size of ${TEST_FOLDER}/${TEST_ONEFILE} was greater ${TEST_FOLDER}/${TEST_TWOFILE}") + endif () else () message (FATAL_ERROR "The size of ${TEST_FOLDER}/${TEST_ONEFILE} was NOT greater ${TEST_FOLDER}/${TEST_TWOFILE}") endif () diff --git a/config/cmake_ext_mod/ConfigureChecks.cmake b/config/cmake_ext_mod/ConfigureChecks.cmake index 7988772d70c..5fa6ca12acd 100644 --- a/config/cmake_ext_mod/ConfigureChecks.cmake +++ b/config/cmake_ext_mod/ConfigureChecks.cmake @@ -224,7 +224,9 @@ macro (HDF_FUNCTION_TEST OTHER_TEST) ) endif () - #message (STATUS "Performing ${OTHER_TEST}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (TRACE "Performing ${OTHER_TEST}") + endif () try_compile (${OTHER_TEST} ${CMAKE_BINARY_DIR} ${HDF_RESOURCES_EXT_DIR}/HDFTests.c @@ -234,9 +236,13 @@ macro (HDF_FUNCTION_TEST OTHER_TEST) ) if (${OTHER_TEST}) set (${HDF_PREFIX}_${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}") - message (STATUS "Performing Other Test ${OTHER_TEST} - Success") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Performing Other Test ${OTHER_TEST} - Success") + endif () else () - message (STATUS "Performing Other Test ${OTHER_TEST} - Failed") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Performing Other Test ${OTHER_TEST} - Failed") + endif () set (${HDF_PREFIX}_${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}") file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Performing Other Test ${OTHER_TEST} failed with the following output:\n" @@ -297,17 +303,23 @@ if (MINGW OR NOT WINDOWS) set (TEST_LFS_WORKS 1 CACHE INTERNAL ${msg}) set (LARGEFILE 1) set (HDF_EXTRA_FLAGS ${HDF_EXTRA_FLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE) - message (STATUS "${msg}... yes") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "${msg}... yes") + endif () else () set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg}) - message (STATUS "${msg}... no") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "${msg}... no") + endif () file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Test TEST_LFS_WORKS Run failed with the following exit code:\n ${TEST_LFS_WORKS_RUN}\n" ) endif () else () set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg}) - message (STATUS "${msg}... no") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "${msg}... no") + endif () file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Test TEST_LFS_WORKS Compile failed\n" ) @@ -340,11 +352,15 @@ endif () macro (HDF_CHECK_TYPE_SIZE type var) set (aType ${type}) set (aVar ${var}) -# message (STATUS "Checking size of ${aType} and storing into ${aVar}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (TRACE "Checking size of ${aType} and storing into ${aVar}") + endif () CHECK_TYPE_SIZE (${aType} ${aVar}) if (NOT ${aVar}) set (${aVar} 0 CACHE INTERNAL "SizeOf for ${aType}") -# message (STATUS "Size of ${aType} was NOT Found") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (TRACE "Size of ${aType} was NOT Found") + endif () endif () endmacro () @@ -574,7 +590,9 @@ endif () #----------------------------------------------------------------------------- if (WINDOWS) if (NOT HDF_NO_IOEO_TEST) - message (STATUS "Checking for InitOnceExecuteOnce:") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Checking for InitOnceExecuteOnce:") + endif () if (NOT DEFINED ${HDF_PREFIX}_HAVE_IOEO) if (LARGEFILE) set (CMAKE_REQUIRED_DEFINITIONS @@ -603,7 +621,9 @@ if (WINDOWS) # if the return value was 0 then it worked if ("${HAVE_IOEO_EXITCODE}" EQUAL 0) set (${HDF_PREFIX}_HAVE_IOEO 1 CACHE INTERNAL "Test InitOnceExecuteOnce") - message (STATUS "Performing Test InitOnceExecuteOnce - Success") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Performing Test InitOnceExecuteOnce - Success") + endif () file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "Performing C SOURCE FILE Test InitOnceExecuteOnce succeded with the following output:\n" "${OUTPUT}\n" @@ -615,7 +635,9 @@ if (WINDOWS) set (${HDF_PREFIX}_HAVE_IOEO "" CACHE INTERNAL "Test InitOnceExecuteOnce") endif () - message (STATUS "Performing Test InitOnceExecuteOnce - Failed") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Performing Test InitOnceExecuteOnce - Failed") + endif () file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Performing InitOnceExecuteOnce Test failed with the following output:\n" "${OUTPUT}\n" @@ -638,7 +660,9 @@ endforeach () #----------------------------------------------------------------------------- if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "unknown") set (PRINT_LL_FOUND 0) - message (STATUS "Checking for appropriate format for 64 bit long:") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Checking for appropriate format for 64 bit long:") + endif () set (CURRENT_TEST_DEFINITIONS "-DPRINTF_LL_WIDTH") if (${HDF_PREFIX}_SIZEOF_LONG_LONG) set (CURRENT_TEST_DEFINITIONS "${CURRENT_TEST_DEFINITIONS} -DHAVE_LONG_LONG") @@ -655,7 +679,9 @@ if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES " set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"${${HDF_PREFIX}_PRINTF_LL}\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll") set (PRINT_LL_FOUND 1) else () - message (STATUS "Width test failed with result: ${${HDF_PREFIX}_PRINTF_LL_TEST_RUN}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Width test failed with result: ${${HDF_PREFIX}_PRINTF_LL_TEST_RUN}") + endif () endif () else () file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log @@ -664,9 +690,13 @@ if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES " endif () if (PRINT_LL_FOUND) - message (STATUS "Checking for appropriate format for 64 bit long: found ${${HDF_PREFIX}_PRINTF_LL_WIDTH}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Checking for appropriate format for 64 bit long: found ${${HDF_PREFIX}_PRINTF_LL_WIDTH}") + endif () else () - message (STATUS "Checking for appropriate format for 64 bit long: not found") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Checking for appropriate format for 64 bit long: not found") + endif () set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"unknown\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll" ) diff --git a/config/cmake_ext_mod/FindSZIP.cmake b/config/cmake_ext_mod/FindSZIP.cmake index 8f882b4a5fa..6ac20994c7a 100644 --- a/config/cmake_ext_mod/FindSZIP.cmake +++ b/config/cmake_ext_mod/FindSZIP.cmake @@ -118,7 +118,9 @@ if (NOT SZIP_FOUND) "SZip was not found. Make sure SZIP_LIBRARY and SZIP_INCLUDE_DIR are set or set the SZIP_INSTALL environment variable." ) if (NOT SZIP_FIND_QUIETLY) - message (STATUS "${SZIP_DIR_MESSAGE}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "${SZIP_DIR_MESSAGE}") + endif () else () if (SZIP_FIND_REQUIRED) message (FATAL_ERROR "SZip was NOT found and is Required by this project") diff --git a/config/cmake_ext_mod/HDFMacros.cmake b/config/cmake_ext_mod/HDFMacros.cmake index 952b766d1b5..15b51177f4c 100644 --- a/config/cmake_ext_mod/HDFMacros.cmake +++ b/config/cmake_ext_mod/HDFMacros.cmake @@ -28,7 +28,9 @@ macro (SET_HDF_BUILD_TYPE) endif() endif() if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - message (STATUS "Setting build type to 'RelWithDebInfo' as none was specified.") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Setting build type to 'RelWithDebInfo' as none was specified.") + endif() set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE) # Set the possible values of build type for cmake-gui set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" @@ -126,10 +128,6 @@ macro (HDF_SET_LIB_OPTIONS libtarget libname libtype) OUTPUT_NAME_MINSIZEREL ${LIB_RELEASE_NAME} OUTPUT_NAME_RELWITHDEBINFO ${LIB_RELEASE_NAME} ) - #get_property (target_name TARGET ${libtarget} PROPERTY OUTPUT_NAME) - #get_property (target_name_debug TARGET ${libtarget} PROPERTY OUTPUT_NAME_DEBUG) - #get_property (target_name_rwdi TARGET ${libtarget} PROPERTY OUTPUT_NAME_RELWITHDEBINFO) - #message (STATUS "${target_name} : ${target_name_debug} : ${target_name_rwdi}") if (${libtype} MATCHES "STATIC") if (WIN32) @@ -458,19 +456,19 @@ endmacro () macro (ADD_H5_FLAGS h5_flag_var infile) file (STRINGS ${infile} TEST_FLAG_STREAM) - #message (STATUS "TEST_FLAG_STREAM=${TEST_FLAG_STREAM}") + #message (TRACE "TEST_FLAG_STREAM=${TEST_FLAG_STREAM}") list (LENGTH TEST_FLAG_STREAM len_flag) if (len_flag GREATER 0) math (EXPR _FP_LEN "${len_flag} - 1") foreach (line RANGE 0 ${_FP_LEN}) list (GET TEST_FLAG_STREAM ${line} str_flag) string (REGEX REPLACE "^#.*" "" str_flag "${str_flag}") - #message (STATUS "str_flag=${str_flag}") + #message (TRACE "str_flag=${str_flag}") if (str_flag) list (APPEND ${h5_flag_var} "${str_flag}") endif () endforeach () endif () - #message (STATUS "h5_flag_var=${${h5_flag_var}}") + #message (TRACE "h5_flag_var=${${h5_flag_var}}") endmacro () diff --git a/config/cmake_ext_mod/HDFUseCXX.cmake b/config/cmake_ext_mod/HDFUseCXX.cmake index 8d981479912..efce42f0d9c 100644 --- a/config/cmake_ext_mod/HDFUseCXX.cmake +++ b/config/cmake_ext_mod/HDFUseCXX.cmake @@ -70,7 +70,9 @@ macro (HDF_CXX_FUNCTION_TEST OTHER_TEST) ) endif () - #message (STATUS "Performing ${OTHER_TEST}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (TRACE "Performing ${OTHER_TEST}") + endif () TRY_COMPILE (${OTHER_TEST} ${CMAKE_BINARY_DIR} ${HDF_RESOURCES_EXT_DIR}/HDFCXXTests.cpp @@ -80,9 +82,13 @@ macro (HDF_CXX_FUNCTION_TEST OTHER_TEST) ) if (${OTHER_TEST} EQUAL 0) set (${OTHER_TEST} 1 CACHE INTERNAL "CXX test ${FUNCTION}") - message (STATUS "Performing CXX Test ${OTHER_TEST} - Success") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Performing CXX Test ${OTHER_TEST} - Success") + endif () else () - message (STATUS "Performing CXX Test ${OTHER_TEST} - Failed") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Performing CXX Test ${OTHER_TEST} - Failed") + endif () set (${OTHER_TEST} "" CACHE INTERNAL "CXX test ${FUNCTION}") file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log "Performing CXX Test ${OTHER_TEST} failed with the following output:\n" diff --git a/config/cmake_ext_mod/HDFUseFortran.cmake b/config/cmake_ext_mod/HDFUseFortran.cmake index 0a6a0926ddb..2da7148dc36 100644 --- a/config/cmake_ext_mod/HDFUseFortran.cmake +++ b/config/cmake_ext_mod/HDFUseFortran.cmake @@ -135,7 +135,9 @@ else () # so this one is used for a sizeof test. #----------------------------------------------------------------------------- macro (CHECK_FORTRAN_FEATURE FUNCTION CODE VARIABLE) - message (STATUS "Testing Fortran ${FUNCTION}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Testing Fortran ${FUNCTION}") + endif () if (HDF5_REQUIRED_LIBRARIES) set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}") @@ -153,13 +155,17 @@ else () OUTPUT_VARIABLE OUTPUT ) - # message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") - # message (STATUS "Test result ${OUTPUT}") - # message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") + # if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + # message (TRACE "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") + # message (TRACE "Test result ${OUTPUT}") + # message (TRACE "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ") + # endif () if (${RESULT_VAR}) set (${VARIABLE} 1 CACHE INTERNAL "Have Fortran function ${FUNCTION}") - message (STATUS "Testing Fortran ${FUNCTION} - OK") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "Testing Fortran ${FUNCTION} - OK") + endif () file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "Determining if the Fortran ${FUNCTION} exists passed with the following output:\n" "${OUTPUT}\n\n" diff --git a/config/cmake_ext_mod/grepTest.cmake b/config/cmake_ext_mod/grepTest.cmake index 758b62b177c..cf7071d5249 100644 --- a/config/cmake_ext_mod/grepTest.cmake +++ b/config/cmake_ext_mod/grepTest.cmake @@ -16,18 +16,12 @@ if (NOT TEST_PROGRAM) message (FATAL_ERROR "Require TEST_PROGRAM to be defined") endif () -#if (NOT TEST_ARGS) -# message (STATUS "Require TEST_ARGS to be defined") -#endif () if (NOT TEST_FOLDER) message (FATAL_ERROR "Require TEST_FOLDER to be defined") endif () if (NOT TEST_OUTPUT) message (FATAL_ERROR "Require TEST_OUTPUT to be defined") endif () -#if (NOT TEST_EXPECT) -# message (STATUS "Require TEST_EXPECT to be defined") -#endif () if (NOT TEST_FILTER) message (STATUS "Optional TEST_FILTER to be defined") endif () @@ -55,7 +49,9 @@ endif () if (TEST_ENV_VAR) set (ENV{${TEST_ENV_VAR}} "${TEST_ENV_VALUE}") - #message (STATUS "ENV:${TEST_ENV_VAR}=$ENV{${TEST_ENV_VAR}}") + if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (TRACE "ENV:${TEST_ENV_VAR}=$ENV{${TEST_ENV_VAR}}") + endif () endif () # run the test program, capture the stdout/stderr and the result var diff --git a/config/cmake/libhdf5.pc.in b/config/libhdf5.pc.in similarity index 100% rename from config/cmake/libhdf5.pc.in rename to config/libhdf5.pc.in diff --git a/configure.ac b/configure.ac index ca3a1bb6ad1..4677c15c986 100644 --- a/configure.ac +++ b/configure.ac @@ -1986,10 +1986,10 @@ esac ## ---------------------------------------------------------------------- -## Does the struct stat have the st_blocks field? This field is not Posix. +## Does the struct stat have the st_blocks field? This field is not POSIX. ## AC_MSG_CHECKING([for st_blocks in struct stat]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM[[ +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]],[[struct stat sb; sb.st_blocks=0;]])], [AC_DEFINE([HAVE_STAT_ST_BLOCKS], [1], [Define if struct stat has the st_blocks field]) diff --git a/examples/h5_attribute.c b/examples/h5_attribute.c index e127e404c0c..9de573ee627 100644 --- a/examples/h5_attribute.c +++ b/examples/h5_attribute.c @@ -184,7 +184,7 @@ main(void) printf("The value of the attribute \"Integer attribute\" is %d \n", point_out); ret = H5Aclose(attr); -//! [H5Oget_info3_snip] + //! [H5Oget_info3_snip] /* * Find string attribute by iterating through all attributes @@ -205,7 +205,7 @@ main(void) ret = H5Tclose(atype); } -//! [H5Oget_info3_snip] + //! [H5Oget_info3_snip] /* * Get attribute info using iteration function. */ diff --git a/examples/h5_extlink.c b/examples/h5_extlink.c index bdd8b2f8a59..ebc542c2f4e 100644 --- a/examples/h5_extlink.c +++ b/examples/h5_extlink.c @@ -414,14 +414,14 @@ UD_hard_create(const char *link_name, hid_t loc_group, const void *udata, size_t token = *((H5O_token_t *)udata); -//! [H5Open_by_token_snip] + //! [H5Open_by_token_snip] /* Open the object this link points to so that we can increment * its reference count. This also ensures that the token passed * in points to a real object (although this check is not perfect!) */ target_obj = H5Oopen_by_token(loc_group, token); -//! [H5Open_by_token_snip] + //! [H5Open_by_token_snip] if (target_obj < 0) { ret_value = -1; diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt index be98cfbe323..37b5157a405 100644 --- a/fortran/src/CMakeLists.txt +++ b/fortran/src/CMakeLists.txt @@ -539,7 +539,7 @@ set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( - ${HDF_RESOURCES_DIR}/libhdf5.pc.in + ${HDF_CONFIG_DIR}/libhdf5.pc.in ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}.pc @ONLY ) diff --git a/hl/c++/src/CMakeLists.txt b/hl/c++/src/CMakeLists.txt index 0c9b04b6d63..1eac9fe9228 100644 --- a/hl/c++/src/CMakeLists.txt +++ b/hl/c++/src/CMakeLists.txt @@ -109,7 +109,7 @@ set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( - ${HDF_RESOURCES_DIR}/libhdf5.pc.in + ${HDF_CONFIG_DIR}/libhdf5.pc.in ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_HL_CPP_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}.pc @ONLY ) diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt index d35ca3b639c..0b7795b45de 100644 --- a/hl/fortran/src/CMakeLists.txt +++ b/hl/fortran/src/CMakeLists.txt @@ -342,7 +342,7 @@ set (_PKG_CONFIG_REQUIRES "${HDF5_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( - ${HDF_RESOURCES_DIR}/libhdf5.pc.in + ${HDF_CONFIG_DIR}/libhdf5.pc.in ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_HL_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}.pc @ONLY ) diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt index 91953b00804..785bdcfc784 100644 --- a/hl/src/CMakeLists.txt +++ b/hl/src/CMakeLists.txt @@ -141,7 +141,7 @@ set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( - ${HDF_RESOURCES_DIR}/libhdf5.pc.in + ${HDF_CONFIG_DIR}/libhdf5.pc.in ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}.pc @ONLY ) diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt index 416e495707e..5c79bd3b700 100644 --- a/java/CMakeLists.txt +++ b/java/CMakeLists.txt @@ -9,10 +9,14 @@ find_package (Java) #----------------------------------------------------------------------------- include (${HDF_RESOURCES_DIR}/UseJava.cmake) -message (STATUS "JAVA: JAVA_HOME=$ENV{JAVA_HOME} JAVA_ROOT=$ENV{JAVA_ROOT}") +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "JAVA: JAVA_HOME=$ENV{JAVA_HOME} JAVA_ROOT=$ENV{JAVA_ROOT}") +endif () find_package (JNI) -message (STATUS "JNI_LIBRARIES=${JNI_LIBRARIES}") -message (STATUS "JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS}") +if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0") + message (VERBOSE "JNI_LIBRARIES=${JNI_LIBRARIES}") + message (VERBOSE "JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS}") +endif () if (WIN32) diff --git a/java/examples/datasets/JavaDatasetExample.sh.in b/java/examples/datasets/JavaDatasetExample.sh.in index ae794166fa8..7c47002e838 100644 --- a/java/examples/datasets/JavaDatasetExample.sh.in +++ b/java/examples/datasets/JavaDatasetExample.sh.in @@ -15,6 +15,7 @@ top_builddir=@top_builddir@ top_srcdir=@top_srcdir@ srcdir=@srcdir@ +IS_DARWIN="@H5_IS_DARWIN@" USE_FILTER_SZIP="@USE_FILTER_SZIP@" USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@" @@ -36,8 +37,8 @@ nerrors=0 # where the libs exist HDFLIB_HOME="$top_srcdir/java/lib" -BLDLIBDIR="$top_builddir/hdf5/lib" BLDDIR="." +BLDLIBDIR="$BLDDIR/testlibs" HDFTEST_HOME="$top_srcdir/java/examples/datasets" JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar TESTJARFILE=jar@PACKAGE_TARNAME@datasets.jar @@ -113,6 +114,13 @@ COPY_LIBFILES_TO_BLDLIBDIR() fi fi done + if [ "$IS_DARWIN" = "yes" ]; then + (cd $BLDLIBDIR; \ + install_name_tool -add_rpath @loader_path libhdf5_java.dylib; \ + exist_path=` otool -l libhdf5_java.dylib | grep libhdf5 | grep -v java | awk '{print $2}'`; \ + echo $exist_path; \ + install_name_tool -change $exist_path @rpath/libhdf5.dylib libhdf5_java.dylib) + fi # copy jar files. Used -f to make sure get a new copy for tstfile in $COPY_JARTESTFILES do diff --git a/java/examples/datatypes/JavaDatatypeExample.sh.in b/java/examples/datatypes/JavaDatatypeExample.sh.in index 447512a42f8..6a4581a8edb 100644 --- a/java/examples/datatypes/JavaDatatypeExample.sh.in +++ b/java/examples/datatypes/JavaDatatypeExample.sh.in @@ -15,6 +15,7 @@ top_builddir=@top_builddir@ top_srcdir=@top_srcdir@ srcdir=@srcdir@ +IS_DARWIN="@H5_IS_DARWIN@" TESTNAME=EX_Datatypes EXIT_SUCCESS=0 @@ -33,8 +34,8 @@ nerrors=0 # where the libs exist HDFLIB_HOME="$top_srcdir/java/lib" -BLDLIBDIR="$top_builddir/hdf5/lib" BLDDIR="." +BLDLIBDIR="$BLDDIR/testlibs" HDFTEST_HOME="$top_srcdir/java/examples/datatypes" JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar TESTJARFILE=jar@PACKAGE_TARNAME@datatypes.jar @@ -110,6 +111,13 @@ COPY_LIBFILES_TO_BLDLIBDIR() fi fi done + if [ "$IS_DARWIN" = "yes" ]; then + (cd $BLDLIBDIR; \ + install_name_tool -add_rpath @loader_path libhdf5_java.dylib; \ + exist_path=` otool -l libhdf5_java.dylib | grep libhdf5 | grep -v java | awk '{print $2}'`; \ + echo $exist_path; \ + install_name_tool -change $exist_path @rpath/libhdf5.dylib libhdf5_java.dylib) + fi # copy jar files. Used -f to make sure get a new copy for tstfile in $COPY_JARTESTFILES do diff --git a/java/examples/groups/JavaGroupExample.sh.in b/java/examples/groups/JavaGroupExample.sh.in index acc606f64a4..f32947a9253 100644 --- a/java/examples/groups/JavaGroupExample.sh.in +++ b/java/examples/groups/JavaGroupExample.sh.in @@ -15,6 +15,7 @@ top_builddir=@top_builddir@ top_srcdir=@top_srcdir@ srcdir=@srcdir@ +IS_DARWIN="@H5_IS_DARWIN@" TESTNAME=EX_Groups EXIT_SUCCESS=0 @@ -33,9 +34,9 @@ nerrors=0 # where the libs exist HDFLIB_HOME="$top_srcdir/java/lib" -BLDLIBDIR="$top_builddir/hdf5/lib" -BLDITERDIR="./groups" BLDDIR="." +BLDLIBDIR="$BLDDIR/testlibs" +BLDITERDIR="./groups" HDFTEST_HOME="$top_srcdir/java/examples/groups" JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar TESTJARFILE=jar@PACKAGE_TARNAME@groups.jar @@ -105,6 +106,13 @@ COPY_LIBFILES_TO_BLDLIBDIR() fi fi done + if [ "$IS_DARWIN" = "yes" ]; then + (cd $BLDLIBDIR; \ + install_name_tool -add_rpath @loader_path libhdf5_java.dylib; \ + exist_path=` otool -l libhdf5_java.dylib | grep libhdf5 | grep -v java | awk '{print $2}'`; \ + echo $exist_path; \ + install_name_tool -change $exist_path @rpath/libhdf5.dylib libhdf5_java.dylib) + fi # copy jar files. Used -f to make sure get a new copy for tstfile in $COPY_JARTESTFILES do diff --git a/java/examples/intro/JavaIntroExample.sh.in b/java/examples/intro/JavaIntroExample.sh.in index 1886485ad86..7f7dabf6e08 100644 --- a/java/examples/intro/JavaIntroExample.sh.in +++ b/java/examples/intro/JavaIntroExample.sh.in @@ -15,6 +15,7 @@ top_builddir=@top_builddir@ top_srcdir=@top_srcdir@ srcdir=@srcdir@ +IS_DARWIN="@H5_IS_DARWIN@" TESTNAME=EX_Intro EXIT_SUCCESS=0 @@ -33,8 +34,8 @@ nerrors=0 # where the libs exist HDFLIB_HOME="$top_srcdir/java/lib" -BLDLIBDIR="$top_builddir/hdf5/lib" BLDDIR="." +BLDLIBDIR="$BLDDIR/testlibs" HDFTEST_HOME="$top_srcdir/java/examples/intro" JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar TESTJARFILE=jar@PACKAGE_TARNAME@intro.jar @@ -99,6 +100,13 @@ COPY_LIBFILES_TO_BLDLIBDIR() fi fi done + if [ "$IS_DARWIN" = "yes" ]; then + (cd $BLDLIBDIR; \ + install_name_tool -add_rpath @loader_path libhdf5_java.dylib; \ + exist_path=` otool -l libhdf5_java.dylib | grep libhdf5 | grep -v java | awk '{print $2}'`; \ + echo $exist_path; \ + install_name_tool -change $exist_path @rpath/libhdf5.dylib libhdf5_java.dylib) + fi # copy jar files. Used -f to make sure get a new copy for tstfile in $COPY_JARTESTFILES do diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 053d3211846..24fe4c11750 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -576,6 +576,14 @@ New Features Tools: ------ + - h5repack added help text for user-defined filters. + + Added help text line that states the valid values of the filter flag + for user-defined filters; + filter_flag: 1 is OPTIONAL or 0 is MANDATORY + + (ADB - 2021/01/14, HDFFV-11099) + - Added h5delete tool Deleting HDF5 storage when using the VOL can be tricky when the VOL @@ -762,7 +770,28 @@ Bug Fixes since HDF5-1.12.0 release Configuration ------------- - - + - Reclassify CMake messages, to allow new modes and --log-level option + + CMake message commands have a mode argument. By default, STATUS mode + was chosen for any non-error message. CMake version 3.15 added additional + modes, NOTICE, VERBOSE, DEBUG and TRACE. All message commands with a mode + of STATUS were reviewed and most were reclassified as VERBOSE. The new + mode was protected by a check for a CMake version of at least 3.15. If CMake + version 3.17 or above is used, the user can use the command line option + of "--log-level" to further restrict which message commands are displayed. + + (ADB - 2021/01/11, HDFFV-11144) + + - Fixes Autotools determination of the stat struct having an st_blocks field + + A missing parenthesis in an autoconf macro prevented building the test + code used to determine if the stat struct contains the st_blocks field. + Now that the test functions correctly, the H5_HAVE_STAT_ST_BLOCKS #define + found in H5pubconf.h will be defined correctly on both the Autotools and + CMake. This #define is only used in the tests and does not affect the + HDF5 C library. + + (DER - 2021/01/07, HDFFV-11201) Performance diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e831659ac9b..755cf3b2146 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1018,7 +1018,7 @@ if (HDF5_GENERATE_HEADERS) ) message(STATUS ${SCRIPT_OUTPUT}) else () - message (STATUS "Cannot generate headers - perl not found") + message (WARNING "Cannot generate headers - perl not found") endif () endif () @@ -1350,7 +1350,7 @@ set (_PKG_CONFIG_REQUIRES) set (_PKG_CONFIG_REQUIRES_PRIVATE) configure_file ( - ${HDF_RESOURCES_DIR}/libhdf5.pc.in + ${HDF_CONFIG_DIR}/libhdf5.pc.in ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}.pc @ONLY ) diff --git a/src/H5A.c b/src/H5A.c index 0a71a33b194..f6cc8143a85 100644 --- a/src/H5A.c +++ b/src/H5A.c @@ -277,7 +277,7 @@ H5Acreate_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIui*siiiii", app_file, app_func, app_line, loc_id, attr_name, type_id, space_id, acpl_id, aapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref(ret_value) < 0) HDONE_ERROR(H5E_ATTR, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on attribute ID") HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -426,7 +426,7 @@ H5Acreate_by_name_async(const char *app_file, const char *app_func, unsigned app /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE12(FUNC, "*s*sIui*s*siiiiii", app_file, app_func, app_line, loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref(ret_value) < 0) HDONE_ERROR(H5E_ATTR, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on attribute ID") HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -589,7 +589,7 @@ H5Aopen_async(const char *app_file, const char *app_func, unsigned app_line, hid /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIui*sii", app_file, app_func, app_line, loc_id, attr_name, aapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref(ret_value) < 0) HDONE_ERROR(H5E_ATTR, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on attribute ID") HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -720,7 +720,7 @@ H5Aopen_by_name_async(const char *app_file, const char *app_func, unsigned app_l /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE9(FUNC, "*s*sIui*s*siii", app_file, app_func, app_line, loc_id, obj_name, attr_name, aapl_id, lapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref(ret_value) < 0) HDONE_ERROR(H5E_ATTR, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on attribute ID") HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -860,7 +860,7 @@ H5Aopen_by_idx_async(const char *app_file, const char *app_func, unsigned app_li /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE11(FUNC, "*s*sIui*sIiIohiii", app_file, app_func, app_line, loc_id, obj_name, idx_type, order, n, aapl_id, lapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref(ret_value) < 0) HDONE_ERROR(H5E_ATTR, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on attribute ID") HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -972,7 +972,7 @@ H5Awrite_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIuii*xi", app_file, app_func, app_line, attr_id, dtype_id, buf, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1080,7 +1080,7 @@ H5Aread_async(const char *app_file, const char *app_func, unsigned app_line, hid /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIuii*xi", app_file, app_func, app_line, attr_id, dtype_id, buf, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1658,7 +1658,7 @@ H5Arename_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIui*s*si", app_file, app_func, app_line, loc_id, old_name, new_name, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1778,7 +1778,7 @@ H5Arename_by_name_async(const char *app_file, const char *app_func, unsigned app /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE9(FUNC, "*s*sIui*s*s*sii", app_file, app_func, app_line, loc_id, obj_name, old_attr_name, new_attr_name, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -2211,7 +2211,7 @@ H5Aclose_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, attr_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -2362,7 +2362,7 @@ H5Aexists_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIui*s*bi", app_file, app_func, app_line, obj_id, attr_name, attr_exists, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -2481,7 +2481,7 @@ H5Aexists_by_name_async(const char *app_file, const char *app_func, unsigned app /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE9(FUNC, "*s*sIui*s*s*bii", app_file, app_func, app_line, loc_id, obj_name, attr_name, attr_exists, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_ATTR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: diff --git a/src/H5Apublic.h b/src/H5Apublic.h index 993961fe847..6ec7b40a6ed 100644 --- a/src/H5Apublic.h +++ b/src/H5Apublic.h @@ -67,7 +67,7 @@ extern "C" { * * \see H5Acreate(), H5Aopen() */ -H5_DLL herr_t H5Aclose(hid_t attr_id); +H5_DLL herr_t H5Aclose(hid_t attr_id); /* --------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -115,8 +115,8 @@ H5_DLL herr_t H5Aclose(hid_t attr_id); * \see H5Aclose() * */ -H5_DLL hid_t H5Acreate2(hid_t loc_id, const char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, - hid_t aapl_id); +H5_DLL hid_t H5Acreate2(hid_t loc_id, const char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, + hid_t aapl_id); H5_DLL hid_t H5Acreate_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, const char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t es_id); @@ -167,8 +167,8 @@ H5_DLL hid_t H5Acreate_async(const char *app_file, const char *app_func, unsigne * \since 1.8.0 * */ -H5_DLL hid_t H5Acreate_by_name(hid_t loc_id, const char *obj_name, const char *attr_name, hid_t type_id, - hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id); +H5_DLL hid_t H5Acreate_by_name(hid_t loc_id, const char *obj_name, const char *attr_name, hid_t type_id, + hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -190,7 +190,7 @@ H5_DLL hid_t H5Acreate_by_name(hid_t loc_id, const char *obj_name, const char * \since 1.0.0 * */ -H5_DLL herr_t H5Adelete(hid_t loc_id, const char *attr_name); +H5_DLL herr_t H5Adelete(hid_t loc_id, const char *attr_name); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -240,8 +240,8 @@ H5_DLL herr_t H5Adelete(hid_t loc_id, const char *attr_name); * \since 1.8.0 * */ -H5_DLL herr_t H5Adelete_by_idx(hid_t loc_id, const char *obj_name, - H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id); +H5_DLL herr_t H5Adelete_by_idx(hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, + hsize_t n, hid_t lapl_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -270,8 +270,7 @@ H5_DLL herr_t H5Adelete_by_idx(hid_t loc_id, const char *obj_name, * \since 1.8.0 * */ -H5_DLL herr_t H5Adelete_by_name(hid_t loc_id, const char *obj_name, - const char *attr_name, hid_t lapl_id); +H5_DLL herr_t H5Adelete_by_name(hid_t loc_id, const char *obj_name, const char *attr_name, hid_t lapl_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -323,8 +322,7 @@ H5_DLL htri_t H5Aexists(hid_t obj_id, const char *attr_name); * \since 1.8.0 * */ -H5_DLL htri_t H5Aexists_by_name(hid_t obj_id, const char *obj_name, - const char *attr_name, hid_t lapl_id); +H5_DLL htri_t H5Aexists_by_name(hid_t obj_id, const char *obj_name, const char *attr_name, hid_t lapl_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -345,7 +343,7 @@ H5_DLL htri_t H5Aexists_by_name(hid_t obj_id, const char *obj_name, * \since 1.8.0 * */ -H5_DLL hid_t H5Aget_create_plist(hid_t attr_id); +H5_DLL hid_t H5Aget_create_plist(hid_t attr_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -387,7 +385,7 @@ H5_DLL hid_t H5Aget_create_plist(hid_t attr_id); * \since 1.8.0 * */ -H5_DLL herr_t H5Aget_info(hid_t attr_id, H5A_info_t *ainfo /*out*/); +H5_DLL herr_t H5Aget_info(hid_t attr_id, H5A_info_t *ainfo /*out*/); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -429,9 +427,8 @@ H5_DLL herr_t H5Aget_info(hid_t attr_id, H5A_info_t *ainfo /*out*/); * \since 1.8.0 * */ -H5_DLL herr_t H5Aget_info_by_idx(hid_t loc_id, const char *obj_name, - H5_index_t idx_type, H5_iter_order_t order, hsize_t n, - H5A_info_t *ainfo /*out*/, hid_t lapl_id); +H5_DLL herr_t H5Aget_info_by_idx(hid_t loc_id, const char *obj_name, H5_index_t idx_type, + H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo /*out*/, hid_t lapl_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -465,8 +462,8 @@ H5_DLL herr_t H5Aget_info_by_idx(hid_t loc_id, const char *obj_name, * \since 1.8.0 * */ -H5_DLL herr_t H5Aget_info_by_name(hid_t loc_id, const char *obj_name, - const char *attr_name, H5A_info_t *ainfo /*out*/, hid_t lapl_id); +H5_DLL herr_t H5Aget_info_by_name(hid_t loc_id, const char *obj_name, const char *attr_name, + H5A_info_t *ainfo /*out*/, hid_t lapl_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -541,9 +538,9 @@ H5_DLL ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf); * \since 1.8.0 * */ -H5_DLL ssize_t H5Aget_name_by_idx(hid_t loc_id, const char *obj_name, - H5_index_t idx_type, H5_iter_order_t order, hsize_t n, - char *name /*out*/, size_t size, hid_t lapl_id); +H5_DLL ssize_t H5Aget_name_by_idx(hid_t loc_id, const char *obj_name, H5_index_t idx_type, + H5_iter_order_t order, hsize_t n, char *name /*out*/, size_t size, + hid_t lapl_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -562,7 +559,7 @@ H5_DLL ssize_t H5Aget_name_by_idx(hid_t loc_id, const char *obj_name, * \since 1.0.0 * */ -H5_DLL hid_t H5Aget_space(hid_t attr_id); +H5_DLL hid_t H5Aget_space(hid_t attr_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -603,7 +600,7 @@ H5_DLL hsize_t H5Aget_storage_size(hid_t attr_id); * \since 1.0.0 * */ -H5_DLL hid_t H5Aget_type(hid_t attr_id); +H5_DLL hid_t H5Aget_type(hid_t attr_id); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -663,7 +660,7 @@ H5_DLL hid_t H5Aget_type(hid_t attr_id); * in the next step of the iteration. * * The #H5A_operator2_t prototype for the \p op parameter is a - * user defined function where: + * user defined function where: * The operation receives the location identifier for the group or * dataset being iterated over, \p location_id; the name of the * current object attribute, \p attr_name; the attribute’s info @@ -690,8 +687,8 @@ H5_DLL hid_t H5Aget_type(hid_t attr_id); * \since 1.8.0 * */ -H5_DLL herr_t H5Aiterate2(hid_t loc_id, H5_index_t idx_type, - H5_iter_order_t order, hsize_t *idx, H5A_operator2_t op, void *op_data); +H5_DLL herr_t H5Aiterate2(hid_t loc_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, + H5A_operator2_t op, void *op_data); /*--------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -784,13 +781,13 @@ H5_DLL herr_t H5Aiterate2(hid_t loc_id, H5_index_t idx_type, * \since 1.8.0 * */ -H5_DLL herr_t H5Aiterate_by_name(hid_t loc_id, const char *obj_name, H5_index_t idx_type, - H5_iter_order_t order, hsize_t *idx, H5A_operator2_t op, void *op_data, - hid_t lapl_id); -H5_DLL hid_t H5Acreate_by_name_async(const char *app_file, const char *app_func, unsigned app_line, - hid_t loc_id, const char *obj_name, const char *attr_name, hid_t type_id, - hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id, - hid_t es_id); +H5_DLL herr_t H5Aiterate_by_name(hid_t loc_id, const char *obj_name, H5_index_t idx_type, + H5_iter_order_t order, hsize_t *idx, H5A_operator2_t op, void *op_data, + hid_t lapl_id); +H5_DLL hid_t H5Acreate_by_name_async(const char *app_file, const char *app_func, unsigned app_line, + hid_t loc_id, const char *obj_name, const char *attr_name, hid_t type_id, + hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id, + hid_t es_id); /*--------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -821,7 +818,7 @@ H5_DLL hid_t H5Acreate_by_name_async(const char *app_file, const char *app_func, * * \see H5Aclose(), H5Acreate() */ -H5_DLL hid_t H5Aopen(hid_t obj_id, const char *attr_name, hid_t aapl_id); +H5_DLL hid_t H5Aopen(hid_t obj_id, const char *attr_name, hid_t aapl_id); H5_DLL hid_t H5Aopen_async(const char *app_file, const char *app_func, unsigned app_line, hid_t obj_id, const char *attr_name, hid_t aapl_id, hid_t es_id); /*--------------------------------------------------------------------------*/ @@ -869,8 +866,8 @@ H5_DLL hid_t H5Aopen_async(const char *app_file, const char *app_func, unsigned * \since 1.8.0 * */ -H5_DLL hid_t H5Aopen_by_idx(hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, - hsize_t n, hid_t aapl_id, hid_t lapl_id); +H5_DLL hid_t H5Aopen_by_idx(hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, + hsize_t n, hid_t aapl_id, hid_t lapl_id); H5_DLL hid_t H5Aopen_by_idx_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id, hid_t es_id); @@ -915,8 +912,8 @@ H5_DLL hid_t H5Aopen_by_idx_async(const char *app_file, const char *app_func, un * \since 1.8.0 * */ -H5_DLL hid_t H5Aopen_by_name(hid_t loc_id, const char *obj_name, const char *attr_name, hid_t aapl_id, - hid_t lapl_id); +H5_DLL hid_t H5Aopen_by_name(hid_t loc_id, const char *obj_name, const char *attr_name, hid_t aapl_id, + hid_t lapl_id); H5_DLL hid_t H5Aopen_by_name_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, const char *obj_name, const char *attr_name, hid_t aapl_id, hid_t lapl_id, hid_t es_id); @@ -946,8 +943,8 @@ H5_DLL hid_t H5Aopen_by_name_async(const char *app_file, const char *app_func, u * * \see H5Awrite() * -*/ -H5_DLL herr_t H5Aread(hid_t attr_id, hid_t type_id, void *buf); + */ +H5_DLL herr_t H5Aread(hid_t attr_id, hid_t type_id, void *buf); /*-------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -969,7 +966,7 @@ H5_DLL herr_t H5Aread(hid_t attr_id, hid_t type_id, void *buf); * \since 1.6.0 * */ -H5_DLL herr_t H5Arename(hid_t loc_id, const char *old_name, const char *new_name); +H5_DLL herr_t H5Arename(hid_t loc_id, const char *old_name, const char *new_name); H5_DLL herr_t H5Aread_async(const char *app_file, const char *app_func, unsigned app_line, hid_t attr_id, hid_t dtype_id, void *buf, hid_t es_id); /*--------------------------------------------------------------------------*/ @@ -1003,14 +1000,14 @@ H5_DLL herr_t H5Aread_async(const char *app_file, const char *app_func, unsigned * \see H5Aread() * */ -H5_DLL herr_t H5Awrite(hid_t attr_id, hid_t type_id, const void *buf); -H5_DLL herr_t H5Awrite_async(const char *app_file, const char *app_func, unsigned app_line, hid_t attr_id, - hid_t type_id, const void *buf, hid_t es_id); -H5_DLL herr_t H5Arename_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, - const char *old_name, const char *new_name, hid_t es_id); -H5_DLL herr_t H5Arename_by_name_async(const char *app_file, const char *app_func, unsigned app_line, - hid_t loc_id, const char *obj_name, const char *old_attr_name, - const char *new_attr_name, hid_t lapl_id, hid_t es_id); +H5_DLL herr_t H5Awrite(hid_t attr_id, hid_t type_id, const void *buf); +H5_DLL herr_t H5Awrite_async(const char *app_file, const char *app_func, unsigned app_line, hid_t attr_id, + hid_t type_id, const void *buf, hid_t es_id); +H5_DLL herr_t H5Arename_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, + const char *old_name, const char *new_name, hid_t es_id); +H5_DLL herr_t H5Arename_by_name_async(const char *app_file, const char *app_func, unsigned app_line, + hid_t loc_id, const char *obj_name, const char *old_attr_name, + const char *new_attr_name, hid_t lapl_id, hid_t es_id); H5_DLL herr_t H5Aexists_async(const char *app_file, const char *app_func, unsigned app_line, hid_t obj_id, const char *attr_name, hbool_t *exists, hid_t es_id); H5_DLL herr_t H5Aexists_by_name_async(const char *app_file, const char *app_func, unsigned app_line, @@ -1039,8 +1036,8 @@ H5_DLL herr_t H5Aexists_by_name_async(const char *app_file, const char *app_func * \since 1.8.0 * */ -H5_DLL herr_t H5Arename_by_name(hid_t loc_id, const char *obj_name, - const char *old_attr_name, const char *new_attr_name, hid_t lapl_id); +H5_DLL herr_t H5Arename_by_name(hid_t loc_id, const char *obj_name, const char *old_attr_name, + const char *new_attr_name, hid_t lapl_id); H5_DLL herr_t H5Aclose_async(const char *app_file, const char *app_func, unsigned app_line, hid_t attr_id, hid_t es_id); @@ -1138,7 +1135,7 @@ typedef herr_t (*H5A_operator1_t)(hid_t location_id /*in*/, const char *attr_nam * \see H5Aclose() * */ -H5_DLL hid_t H5Acreate1(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, hid_t acpl_id); +H5_DLL hid_t H5Acreate1(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, hid_t acpl_id); /* --------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -1159,7 +1156,7 @@ H5_DLL hid_t H5Acreate1(hid_t loc_id, const char *name, hid_t type_id, hid_t sp * \since 1.0.0 * */ -H5_DLL int H5Aget_num_attrs(hid_t loc_id); +H5_DLL int H5Aget_num_attrs(hid_t loc_id); /* --------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -1215,8 +1212,7 @@ H5_DLL int H5Aget_num_attrs(hid_t loc_id); * \since 1.0.0 * */ -H5_DLL herr_t H5Aiterate1(hid_t loc_id, unsigned *idx, H5A_operator1_t op, - void *op_data); +H5_DLL herr_t H5Aiterate1(hid_t loc_id, unsigned *idx, H5A_operator1_t op, void *op_data); /* --------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -1243,7 +1239,7 @@ H5_DLL herr_t H5Aiterate1(hid_t loc_id, unsigned *idx, H5A_operator1_t op, * \since 1.0.0 * */ -H5_DLL hid_t H5Aopen_idx(hid_t loc_id, unsigned idx); +H5_DLL hid_t H5Aopen_idx(hid_t loc_id, unsigned idx); /* --------------------------------------------------------------------------*/ /** * \ingroup H5A @@ -1268,7 +1264,7 @@ H5_DLL hid_t H5Aopen_idx(hid_t loc_id, unsigned idx); * \since 1.0.0 * */ -H5_DLL hid_t H5Aopen_name(hid_t loc_id, const char *name); +H5_DLL hid_t H5Aopen_name(hid_t loc_id, const char *name); #endif /* H5_NO_DEPRECATED_SYMBOLS */ diff --git a/src/H5D.c b/src/H5D.c index 02e60996240..f1ac2dfb678 100644 --- a/src/H5D.c +++ b/src/H5D.c @@ -229,7 +229,7 @@ H5Dcreate_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE11(FUNC, "*s*sIui*siiiiii", app_file, app_func, app_line, loc_id, name, type_id, space_id, lcpl_id, dcpl_id, dapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on dataset ID") HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -438,7 +438,7 @@ H5Dopen_async(const char *app_file, const char *app_func, unsigned app_line, hid /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIui*sii", app_file, app_func, app_line, loc_id, name, dapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on dataset ID") HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -532,7 +532,7 @@ H5Dclose_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, dset_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -641,7 +641,7 @@ H5Dget_space_async(const char *app_file, const char *app_func, unsigned app_line /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, dset_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref(ret_value) < 0) HDONE_ERROR(H5E_DATASET, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on dataspace ID") @@ -1012,7 +1012,7 @@ H5Dread_async(const char *app_file, const char *app_func, unsigned app_line, hid /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIuiiiiixi", app_file, app_func, app_line, dset_id, mem_type_id, mem_space_id, file_space_id, dxpl_id, buf, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1199,7 +1199,7 @@ H5Dwrite_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIuiiiii*xi", app_file, app_func, app_line, dset_id, mem_type_id, mem_space_id, file_space_id, dxpl_id, buf, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1756,7 +1756,7 @@ H5Dset_extent_async(const char *app_file, const char *app_func, unsigned app_lin /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE6(FUNC, "*s*sIui*hi", app_file, app_func, app_line, dset_id, size, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h index 8d0ef30819a..935b1bef05a 100644 --- a/src/H5Dpublic.h +++ b/src/H5Dpublic.h @@ -198,8 +198,8 @@ extern "C" { * \see H5Dopen2(), H5Dclose(), H5Tset_size() * */ -H5_DLL hid_t H5Dcreate2(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, - hid_t dcpl_id, hid_t dapl_id); +H5_DLL hid_t H5Dcreate2(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, + hid_t dcpl_id, hid_t dapl_id); /** * -------------------------------------------------------------------------- @@ -224,9 +224,9 @@ H5_DLL hid_t H5Dcreate2(hid_t loc_id, const char *name, hid_t type_id, hid_t sp * \see H5Dcreate2() * */ -H5_DLL hid_t H5Dcreate_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, - const char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, - hid_t dapl_id, hid_t es_id); +H5_DLL hid_t H5Dcreate_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, + const char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, + hid_t dapl_id, hid_t es_id); /** * -------------------------------------------------------------------------- @@ -287,7 +287,7 @@ H5_DLL hid_t H5Dcreate_async(const char *app_file, const char *app_func, unsign * \see H5Olink(), H5Dcreate(), Using Identifiers * */ -H5_DLL hid_t H5Dcreate_anon(hid_t loc_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id); +H5_DLL hid_t H5Dcreate_anon(hid_t loc_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id); /** * -------------------------------------------------------------------------- @@ -321,7 +321,7 @@ H5_DLL hid_t H5Dcreate_anon(hid_t loc_id, hid_t type_id, hid_t space_id, hid_t * \see H5Dcreate2(), H5Dclose() * */ -H5_DLL hid_t H5Dopen2(hid_t loc_id, const char *name, hid_t dapl_id); +H5_DLL hid_t H5Dopen2(hid_t loc_id, const char *name, hid_t dapl_id); /** * -------------------------------------------------------------------------- @@ -342,8 +342,8 @@ H5_DLL hid_t H5Dopen2(hid_t loc_id, const char *name, hid_t dapl_id); * \see H5Dopen2() * */ -H5_DLL hid_t H5Dopen_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, - const char *name, hid_t dapl_id, hid_t es_id); +H5_DLL hid_t H5Dopen_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, + const char *name, hid_t dapl_id, hid_t es_id); /** * -------------------------------------------------------------------------- @@ -366,7 +366,7 @@ H5_DLL hid_t H5Dopen_async(const char *app_file, const char *app_func, unsigned * \see H5Sclose() * */ -H5_DLL hid_t H5Dget_space(hid_t dset_id); +H5_DLL hid_t H5Dget_space(hid_t dset_id); /** * -------------------------------------------------------------------------- @@ -385,8 +385,8 @@ H5_DLL hid_t H5Dget_space(hid_t dset_id); * \see H5Dget_space() * */ -H5_DLL hid_t H5Dget_space_async(const char *app_file, const char *app_func, unsigned app_line, hid_t dset_id, - hid_t es_id); +H5_DLL hid_t H5Dget_space_async(const char *app_file, const char *app_func, unsigned app_line, hid_t dset_id, + hid_t es_id); H5_DLL herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *allocation); @@ -428,7 +428,7 @@ H5_DLL herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *allocation) * given a text description. * */ -H5_DLL hid_t H5Dget_type(hid_t dset_id); +H5_DLL hid_t H5Dget_type(hid_t dset_id); /** * -------------------------------------------------------------------------- @@ -449,7 +449,7 @@ H5_DLL hid_t H5Dget_type(hid_t dset_id); * with H5Pclose() to prevent resource leaks. * */ -H5_DLL hid_t H5Dget_create_plist(hid_t dset_id); +H5_DLL hid_t H5Dget_create_plist(hid_t dset_id); /** * -------------------------------------------------------------------------- @@ -488,7 +488,7 @@ H5_DLL hid_t H5Dget_create_plist(hid_t dset_id); * \since 1.8.3 * */ -H5_DLL hid_t H5Dget_access_plist(hid_t dset_id); +H5_DLL hid_t H5Dget_access_plist(hid_t dset_id); /** * -------------------------------------------------------------------------- @@ -559,7 +559,7 @@ H5_DLL hsize_t H5Dget_storage_size(hid_t dset_id); * \since 1.10.2 * */ -H5_DLL herr_t H5Dget_chunk_storage_size(hid_t dset_id, const hsize_t *offset, hsize_t *chunk_bytes); +H5_DLL herr_t H5Dget_chunk_storage_size(hid_t dset_id, const hsize_t *offset, hsize_t *chunk_bytes); /** * -------------------------------------------------------------------------- @@ -593,7 +593,7 @@ H5_DLL herr_t H5Dget_chunk_storage_size(hid_t dset_id, const hsize_t *offset, h * \since 1.10.5 * */ -H5_DLL herr_t H5Dget_num_chunks(hid_t dset_id, hid_t fspace_id, hsize_t *nchunks); +H5_DLL herr_t H5Dget_num_chunks(hid_t dset_id, hid_t fspace_id, hsize_t *nchunks); /** * -------------------------------------------------------------------------- @@ -624,8 +624,8 @@ H5_DLL herr_t H5Dget_num_chunks(hid_t dset_id, hid_t fspace_id, hsize_t *nchunk * \since 1.10.5 * */ -H5_DLL herr_t H5Dget_chunk_info_by_coord(hid_t dset_id, const hsize_t *offset, unsigned *filter_mask, - haddr_t *addr, hsize_t *size); +H5_DLL herr_t H5Dget_chunk_info_by_coord(hid_t dset_id, const hsize_t *offset, unsigned *filter_mask, + haddr_t *addr, hsize_t *size); /** * -------------------------------------------------------------------------- @@ -673,8 +673,8 @@ H5_DLL herr_t H5Dget_chunk_info_by_coord(hid_t dset_id, const hsize_t *offset, * \since 1.10.5 * */ -H5_DLL herr_t H5Dget_chunk_info(hid_t dset_id, hid_t fspace_id, hsize_t chk_idx, hsize_t *offset, - unsigned *filter_mask, haddr_t *addr, hsize_t *size); +H5_DLL herr_t H5Dget_chunk_info(hid_t dset_id, hid_t fspace_id, hsize_t chk_idx, hsize_t *offset, + unsigned *filter_mask, haddr_t *addr, hsize_t *size); /** * -------------------------------------------------------------------------- @@ -790,8 +790,8 @@ H5_DLL haddr_t H5Dget_offset(hid_t dset_id); * default data transfer properties are used. * */ -H5_DLL herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, - hid_t dxpl_id, void *buf /*out*/); +H5_DLL herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, + hid_t dxpl_id, void *buf /*out*/); /** * -------------------------------------------------------------------------- @@ -815,9 +815,9 @@ H5_DLL herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid * \see H5Dread() * */ -H5_DLL herr_t H5Dread_async(const char *app_file, const char *app_func, unsigned app_line, hid_t dset_id, - hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t dxpl_id, - void *buf /*out*/, hid_t es_id); +H5_DLL herr_t H5Dread_async(const char *app_file, const char *app_func, unsigned app_line, hid_t dset_id, + hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t dxpl_id, + void *buf /*out*/, hid_t es_id); /** * -------------------------------------------------------------------------- @@ -927,8 +927,8 @@ H5_DLL herr_t H5Dread_async(const char *app_file, const char *app_func, unsigne * \see H5Pset_fill_time(), H5Pset_alloc_time() * */ -H5_DLL herr_t H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, - hid_t dxpl_id, const void *buf); +H5_DLL herr_t H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, + hid_t dxpl_id, const void *buf); /** * -------------------------------------------------------------------------- @@ -952,9 +952,9 @@ H5_DLL herr_t H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hi * \see H5Dwrite() * */ -H5_DLL herr_t H5Dwrite_async(const char *app_file, const char *app_func, unsigned app_line, hid_t dset_id, - hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t dxpl_id, - const void *buf, hid_t es_id); +H5_DLL herr_t H5Dwrite_async(const char *app_file, const char *app_func, unsigned app_line, hid_t dset_id, + hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t dxpl_id, + const void *buf, hid_t es_id); /** * -------------------------------------------------------------------------- @@ -1022,8 +1022,8 @@ H5_DLL herr_t H5Dwrite_async(const char *app_file, const char *app_func, unsign * \since 1.10.2 * */ -H5_DLL herr_t H5Dwrite_chunk(hid_t dset_id, hid_t dxpl_id, uint32_t filters, const hsize_t *offset, - size_t data_size, const void *buf); +H5_DLL herr_t H5Dwrite_chunk(hid_t dset_id, hid_t dxpl_id, uint32_t filters, const hsize_t *offset, + size_t data_size, const void *buf); /** * -------------------------------------------------------------------------- @@ -1078,8 +1078,8 @@ H5_DLL herr_t H5Dwrite_chunk(hid_t dset_id, hid_t dxpl_id, uint32_t filters, co * \since 1.10.2 * */ -H5_DLL herr_t H5Dread_chunk(hid_t dset_id, hid_t dxpl_id, const hsize_t *offset, uint32_t *filters, - void *buf); +H5_DLL herr_t H5Dread_chunk(hid_t dset_id, hid_t dxpl_id, const hsize_t *offset, uint32_t *filters, + void *buf); /** * -------------------------------------------------------------------------- @@ -1154,7 +1154,7 @@ H5_DLL herr_t H5Dread_chunk(hid_t dset_id, hid_t dxpl_id, const hsize_t *offset * \since 1.10.2 * */ -H5_DLL herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id, H5D_operator_t op, void *operator_data); +H5_DLL herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id, H5D_operator_t op, void *operator_data); /** * -------------------------------------------------------------------------- @@ -1181,7 +1181,7 @@ H5_DLL herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id, H5D_operator * \since 1.10.2 * */ -H5_DLL herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id, hsize_t *size); +H5_DLL herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id, hsize_t *size); /** * -------------------------------------------------------------------------- @@ -1224,7 +1224,7 @@ H5_DLL herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id * - H5Pcreate_anon() * */ -H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type_id, void *buf, hid_t buf_type_id, hid_t space_id); +H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type_id, void *buf, hid_t buf_type_id, hid_t space_id); /** * -------------------------------------------------------------------------- @@ -1288,7 +1288,7 @@ H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type_id, void *buf, hid_t bu * \since 1.8.0 * */ -H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t size[]); +H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t size[]); /** * -------------------------------------------------------------------------- @@ -1309,8 +1309,8 @@ H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t size[]); * \see H5Dset_extent() * */ -H5_DLL herr_t H5Dset_extent_async(const char *app_file, const char *app_func, unsigned app_line, - hid_t dset_id, const hsize_t size[], hid_t es_id); +H5_DLL herr_t H5Dset_extent_async(const char *app_file, const char *app_func, unsigned app_line, + hid_t dset_id, const hsize_t size[], hid_t es_id); /** * -------------------------------------------------------------------------- @@ -1333,9 +1333,9 @@ H5_DLL herr_t H5Dset_extent_async(const char *app_file, const char *app_func, u * that the data is actually flushed to disk. * */ -H5_DLL herr_t H5Dflush(hid_t dset_id); +H5_DLL herr_t H5Dflush(hid_t dset_id); -H5_DLL herr_t H5Dwait(hid_t dset_id); +H5_DLL herr_t H5Dwait(hid_t dset_id); /** * -------------------------------------------------------------------------- @@ -1359,7 +1359,7 @@ H5_DLL herr_t H5Dwait(hid_t dset_id); * \since 1.10.2 * */ -H5_DLL herr_t H5Drefresh(hid_t dset_id); +H5_DLL herr_t H5Drefresh(hid_t dset_id); /** * -------------------------------------------------------------------------- @@ -1430,8 +1430,8 @@ H5_DLL herr_t H5Drefresh(hid_t dset_id); * \since 1.10.2 * */ -H5_DLL herr_t H5Dscatter(H5D_scatter_func_t op, void *op_data, hid_t type_id, hid_t dst_space_id, - void *dst_buf); +H5_DLL herr_t H5Dscatter(H5D_scatter_func_t op, void *op_data, hid_t type_id, hid_t dst_space_id, + void *dst_buf); /** * -------------------------------------------------------------------------- @@ -1508,8 +1508,8 @@ H5_DLL herr_t H5Dscatter(H5D_scatter_func_t op, void *op_data, hid_t type_id, h * \since 1.10.2 * */ -H5_DLL herr_t H5Dgather(hid_t src_space_id, const void *src_buf, hid_t type_id, size_t dst_buf_size, - void *dst_buf, H5D_gather_func_t op, void *op_data); +H5_DLL herr_t H5Dgather(hid_t src_space_id, const void *src_buf, hid_t type_id, size_t dst_buf_size, + void *dst_buf, H5D_gather_func_t op, void *op_data); /** * -------------------------------------------------------------------------- @@ -1532,7 +1532,7 @@ H5_DLL herr_t H5Dgather(hid_t src_space_id, const void *src_buf, hid_t type_id, * \see H5Dcreate2(), H5Dopen2() * */ -H5_DLL herr_t H5Dclose(hid_t dset_id); +H5_DLL herr_t H5Dclose(hid_t dset_id); /** * -------------------------------------------------------------------------- @@ -1551,8 +1551,8 @@ H5_DLL herr_t H5Dclose(hid_t dset_id); * \see H5Dclose() * */ -H5_DLL herr_t H5Dclose_async(const char *app_file, const char *app_func, unsigned app_line, hid_t dset_id, - hid_t es_id); +H5_DLL herr_t H5Dclose_async(const char *app_file, const char *app_func, unsigned app_line, hid_t dset_id, + hid_t es_id); /* Internal API routines */ H5_DLL herr_t H5Ddebug(hid_t dset_id); diff --git a/src/H5F.c b/src/H5F.c index 64d37cefd1a..0d71947016b 100644 --- a/src/H5F.c +++ b/src/H5F.c @@ -652,7 +652,7 @@ H5Fcreate_async(const char *app_file, const char *app_func, unsigned app_line, c /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE8(FUNC, "*s*sIu*sIuiii", app_file, app_func, app_line, filename, flags, fcpl_id, fapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref(ret_value) < 0) HDONE_ERROR(H5E_FILE, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on file ID") HGOTO_ERROR(H5E_FILE, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -671,7 +671,7 @@ H5Fcreate_async(const char *app_file, const char *app_func, unsigned app_line, c /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE8(FUNC, "*s*sIu*sIuiii", app_file, app_func, app_line, filename, flags, fcpl_id, fapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_FILE, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") done: @@ -829,7 +829,7 @@ H5Fopen_async(const char *app_file, const char *app_func, unsigned app_line, con /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIu*sIuii", app_file, app_func, app_line, filename, flags, fapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref(ret_value) < 0) HDONE_ERROR(H5E_FILE, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on file ID") HGOTO_ERROR(H5E_FILE, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -848,7 +848,7 @@ H5Fopen_async(const char *app_file, const char *app_func, unsigned app_line, con /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIu*sIuii", app_file, app_func, app_line, filename, flags, fapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_FILE, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") done: @@ -956,7 +956,7 @@ H5Fflush_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE6(FUNC, "*s*sIuiFsi", app_file, app_func, app_line, object_id, scope, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_FILE, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1050,7 +1050,7 @@ H5Fclose_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, file_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_FILE, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1352,7 +1352,7 @@ H5Freopen_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, file_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref(ret_value) < 0) HDONE_ERROR(H5E_FILE, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on file ID") HGOTO_ERROR(H5E_FILE, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -1371,7 +1371,7 @@ H5Freopen_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, file_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_FILE, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") done: diff --git a/src/H5FDhdfs.c b/src/H5FDhdfs.c index 43ad9a185b4..61c694d90ec 100644 --- a/src/H5FDhdfs.c +++ b/src/H5FDhdfs.c @@ -274,8 +274,6 @@ static herr_t H5FD__hdfs_read(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, ha static herr_t H5FD__hdfs_write(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, haddr_t addr, size_t size, const void *buf); static herr_t H5FD__hdfs_truncate(H5FD_t *_file, hid_t dxpl_id, hbool_t closing); -static herr_t H5FD__hdfs_lock(H5FD_t *_file, hbool_t rw); -static herr_t H5FD__hdfs_unlock(H5FD_t *_file); static herr_t H5FD__hdfs_validate_config(const H5FD_hdfs_fapl_t *fa); @@ -309,8 +307,8 @@ static const H5FD_class_t H5FD_hdfs_g = { H5FD__hdfs_write, /* write */ NULL, /* flush */ H5FD__hdfs_truncate, /* truncate */ - H5FD__hdfs_lock, /* lock */ - H5FD__hdfs_unlock, /* unlock */ + NULL, /* lock */ + NULL, /* unlock */ H5FD_FLMAP_DICHOTOMY /* fl_map */ }; @@ -673,7 +671,7 @@ H5Pget_fapl_hdfs(hid_t fapl_id, H5FD_hdfs_fapl_t *fa_dst /*out*/) HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "bad VFL driver info") /* Copy the hdfs fapl data out */ - H5MM_memcpy(fs_dst, fa_src, sizeof(H5FD_hdfs_fapl_t)); + H5MM_memcpy(fa_dst, fa_src, sizeof(H5FD_hdfs_fapl_t)); done: FUNC_LEAVE_API(ret_value) @@ -1645,58 +1643,4 @@ H5FD__hdfs_truncate(H5FD_t H5_ATTR_UNUSED *_file, hid_t H5_ATTR_UNUSED dxpl_id, FUNC_LEAVE_NOAPI(ret_value) } /* end H5FD__hdfs_truncate() */ -/*------------------------------------------------------------------------- - * - * Function: H5FD__hdfs_lock() - * - * Purpose: - * - * Place an advisory lock on a file. - * No effect on Read-Only S3 file. - * - * Suggestion: remove lock/unlock from class - * would result in error at H5FD_[un]lock() (H5FD.c) - * - * Return: - * - * SUCCEED (No-op always succeeds) - * - * Programmer: Jacob Smith - * 2017-11-03 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD__hdfs_lock(H5FD_t H5_ATTR_UNUSED *_file, hbool_t H5_ATTR_UNUSED rw) -{ - FUNC_ENTER_STATIC_NOERR - - FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5FD__hdfs_lock() */ - -/*------------------------------------------------------------------------- - * - * Function: H5FD__hdfs_unlock() - * - * Purpose: - * - * Remove the existing lock on the file. - * No effect on Read-Only S3 file. - * - * Return: - * - * SUCCEED (No-op always succeeds) - * - * Programmer: Jacob Smith - * 2017-11-03 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD__hdfs_unlock(H5FD_t H5_ATTR_UNUSED *_file) -{ - FUNC_ENTER_STATIC_NOERR - - FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5FD__hdfs_unlock() */ #endif /* H5_HAVE_LIBHDFS */ diff --git a/src/H5FDros3.c b/src/H5FDros3.c index 83e43159470..78fbdb1e430 100644 --- a/src/H5FDros3.c +++ b/src/H5FDros3.c @@ -231,8 +231,6 @@ static herr_t H5FD__ros3_read(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, ha static herr_t H5FD__ros3_write(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, haddr_t addr, size_t size, const void *buf); static herr_t H5FD__ros3_truncate(H5FD_t *_file, hid_t dxpl_id, hbool_t closing); -static herr_t H5FD__ros3_lock(H5FD_t *_file, hbool_t rw); -static herr_t H5FD__ros3_unlock(H5FD_t *_file); static herr_t H5FD__ros3_validate_config(const H5FD_ros3_fapl_t *fa); @@ -266,8 +264,8 @@ static const H5FD_class_t H5FD_ros3_g = { H5FD__ros3_write, /* write */ NULL, /* flush */ H5FD__ros3_truncate, /* truncate */ - H5FD__ros3_lock, /* lock */ - H5FD__ros3_unlock, /* unlock */ + NULL, /* lock */ + NULL, /* unlock */ H5FD_FLMAP_DICHOTOMY /* fl_map */ }; @@ -1581,59 +1579,4 @@ H5FD__ros3_truncate(H5FD_t H5_ATTR_UNUSED *_file, hid_t H5_ATTR_UNUSED dxpl_id, FUNC_LEAVE_NOAPI(ret_value) } /* end H5FD__ros3_truncate() */ -/*------------------------------------------------------------------------- - * - * Function: H5FD__ros3_lock() - * - * Purpose: - * - * Place an advisory lock on a file. - * No effect on Read-Only S3 file. - * - * Suggestion: remove lock/unlock from class - * > would result in error at H5FD_[un]lock() (H5FD.c) - * - * Return: - * - * SUCCEED (No-op always succeeds) - * - * Programmer: Jacob Smith - * 2017-11-03 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD__ros3_lock(H5FD_t H5_ATTR_UNUSED *_file, hbool_t H5_ATTR_UNUSED rw) -{ - FUNC_ENTER_STATIC_NOERR - - FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5FD__ros3_lock() */ - -/*------------------------------------------------------------------------- - * - * Function: H5FD__ros3_unlock() - * - * Purpose: - * - * Remove the existing lock on the file. - * No effect on Read-Only S3 file. - * - * Return: - * - * SUCCEED (No-op always succeeds) - * - * Programmer: Jacob Smith - * 2017-11-03 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD__ros3_unlock(H5FD_t H5_ATTR_UNUSED *_file) -{ - FUNC_ENTER_STATIC_NOERR - - FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5FD__ros3_unlock() */ - #endif /* H5_HAVE_ROS3_VFD */ diff --git a/src/H5G.c b/src/H5G.c index 0c392794c1c..04bb5b50c03 100644 --- a/src/H5G.c +++ b/src/H5G.c @@ -272,7 +272,7 @@ H5Gcreate_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE9(FUNC, "*s*sIui*siiii", app_file, app_func, app_line, loc_id, name, lcpl_id, gcpl_id, gapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HDONE_ERROR(H5E_SYM, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on group ID") HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -476,7 +476,7 @@ H5Gopen_async(const char *app_file, const char *app_func, unsigned app_line, hid /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIui*sii", app_file, app_func, app_line, loc_id, name, gapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HDONE_ERROR(H5E_SYM, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on group ID") HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -623,7 +623,7 @@ H5Gget_info_async(const char *app_file, const char *app_func, unsigned app_line, /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE6(FUNC, "*s*sIuixi", app_file, app_func, app_line, loc_id, group_info, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -729,7 +729,7 @@ H5Gget_info_by_name_async(const char *app_file, const char *app_func, unsigned a /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE8(FUNC, "*s*sIui*sxii", app_file, app_func, app_line, loc_id, name, group_info, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -842,7 +842,7 @@ H5Gget_info_by_idx_async(const char *app_file, const char *app_func, unsigned ap /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE11(FUNC, "*s*sIui*sIiIohxii", app_file, app_func, app_line, loc_id, group_name, idx_type, order, n, group_info, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -932,7 +932,7 @@ H5Gclose_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, group_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: diff --git a/src/H5Gpublic.h b/src/H5Gpublic.h index 26617d38427..fef90258fc5 100644 --- a/src/H5Gpublic.h +++ b/src/H5Gpublic.h @@ -60,7 +60,6 @@ typedef struct H5G_info_t { } H5G_info_t; //! [H5G_info_t_snip] - /********************/ /* Public Variables */ /********************/ @@ -117,7 +116,7 @@ extern "C" { * \see H5Gopen2(), H5Gclose() * */ -H5_DLL hid_t H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id); +H5_DLL hid_t H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id); /** * -------------------------------------------------------------------------- @@ -140,8 +139,8 @@ H5_DLL hid_t H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gc * \see H5Gcreate2() * */ -H5_DLL hid_t H5Gcreate_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, - const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id, hid_t es_id); +H5_DLL hid_t H5Gcreate_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, + const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id, hid_t es_id); /** *------------------------------------------------------------------------- @@ -190,7 +189,7 @@ H5_DLL hid_t H5Gcreate_async(const char *app_file, const char *app_func, unsign * \since 1.8.0 * */ -H5_DLL hid_t H5Gcreate_anon(hid_t loc_id, hid_t gcpl_id, hid_t gapl_id); +H5_DLL hid_t H5Gcreate_anon(hid_t loc_id, hid_t gcpl_id, hid_t gapl_id); /** *------------------------------------------------------------------------- @@ -220,7 +219,7 @@ H5_DLL hid_t H5Gcreate_anon(hid_t loc_id, hid_t gcpl_id, hid_t gapl_id); * \see H5Gcreate2(), H5Gclose() * */ -H5_DLL hid_t H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id); +H5_DLL hid_t H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id); /** * -------------------------------------------------------------------------- @@ -241,8 +240,8 @@ H5_DLL hid_t H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id); * \see H5Gopen2() * */ -H5_DLL hid_t H5Gopen_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, - const char *name, hid_t gapl_id, hid_t es_id); +H5_DLL hid_t H5Gopen_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, + const char *name, hid_t gapl_id, hid_t es_id); /** *------------------------------------------------------------------------- @@ -265,7 +264,7 @@ H5_DLL hid_t H5Gopen_async(const char *app_file, const char *app_func, unsigned * \see H5Gcreate2(), H5Gclose() * */ -H5_DLL hid_t H5Gget_create_plist(hid_t group_id); +H5_DLL hid_t H5Gget_create_plist(hid_t group_id); /** *------------------------------------------------------------------------- diff --git a/src/H5L.c b/src/H5L.c index 2fdfb7f51eb..e107602b5f3 100644 --- a/src/H5L.c +++ b/src/H5L.c @@ -566,7 +566,7 @@ H5Lcreate_soft_async(const char *app_file, const char *app_func, unsigned app_li /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE9(FUNC, "*s*sIu*si*siii", app_file, app_func, app_line, link_target, link_loc_id, link_name, lcpl_id, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_LINK, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -716,12 +716,12 @@ H5Lcreate_hard_async(const char *app_file, const char *app_func, unsigned app_li const char *cur_name, hid_t new_loc_id, const char *new_name, hid_t lcpl_id, hid_t lapl_id, hid_t es_id) { - H5VL_object_t vol_obj; /* Object for loc_id */ - H5VL_object_t *vol_obj_ptr = &vol_obj; /* Pointer to object for loc_id */ + H5VL_object_t vol_obj; /* Object for loc_id */ + H5VL_object_t * vol_obj_ptr = &vol_obj; /* Pointer to object for loc_id */ H5VL_object_t **vol_obj_ptr_ptr = &vol_obj_ptr; /* Pointer to object pointer */ - void * token = NULL; /* Request token for async operation */ - void ** token_ptr = H5_REQUEST_NULL; /* Pointer to request token for async operation */ - herr_t ret_value = SUCCEED; /* Return value */ + void * token = NULL; /* Request token for async operation */ + void ** token_ptr = H5_REQUEST_NULL; /* Pointer to request token for async operation */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) H5TRACE10("e", "*s*sIui*si*siii", app_file, app_func, app_line, cur_loc_id, cur_name, new_loc_id, @@ -741,7 +741,7 @@ H5Lcreate_hard_async(const char *app_file, const char *app_func, unsigned app_li /* clang-format off */ if (H5ES_insert(es_id, vol_obj_ptr->connector, token, H5ARG_TRACE10(FUNC, "*s*sIui*si*siii", app_file, app_func, app_line, cur_loc_id, cur_name, new_loc_id, new_name, lcpl_id, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_LINK, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1021,7 +1021,7 @@ H5Ldelete_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIui*sii", app_file, app_func, app_line, loc_id, name, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_LINK, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1146,7 +1146,7 @@ H5Ldelete_by_idx_async(const char *app_file, const char *app_func, unsigned app_ /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIui*sIiIohii", app_file, app_func, app_line, loc_id, group_name, idx_type, order, n, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_LINK, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1373,9 +1373,9 @@ H5Lexists_async(const char *app_file, const char *app_func, unsigned app_line, h /* If a token was created, add the token to the event set */ if (NULL != token) if (H5ES_insert(es_id, vol_obj->connector, token, - /* clang-format off */ + /* clang-format off */ H5ARG_TRACE8(FUNC, "*s*sIui*s*bii", app_file, app_func, app_line, loc_id, name, exists, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_LINK, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1813,7 +1813,7 @@ H5Literate_async(const char *app_file, const char *app_func, unsigned app_line, /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIuiIiIo*hLI*xi", app_file, app_func, app_line, group_id, idx_type, order, idx_p, op, op_data, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_LINK, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: diff --git a/src/H5M.c b/src/H5M.c index 2265a66da8f..9deb2f2577f 100644 --- a/src/H5M.c +++ b/src/H5M.c @@ -370,7 +370,7 @@ H5Mcreate_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE11(FUNC, "*s*sIui*siiiiii", app_file, app_func, app_line, loc_id, name, key_type_id, val_type_id, lcpl_id, mcpl_id, mapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HDONE_ERROR(H5E_MAP, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on map ID") HGOTO_ERROR(H5E_MAP, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -577,7 +577,7 @@ H5Mopen_async(const char *app_file, const char *app_func, unsigned app_line, hid /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIui*sii", app_file, app_func, app_line, loc_id, name, mapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HDONE_ERROR(H5E_MAP, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on map ID") HGOTO_ERROR(H5E_MAP, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -645,9 +645,9 @@ H5Mclose_async(const char *app_file, const char *app_func, unsigned app_line, hi if (H5I_MAP != H5I_get_type(map_id)) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a map ID") - /* Get dataset object's connector */ + /* Get map object's connector */ if (NULL == (vol_obj = H5VL_vol_object(map_id))) - HGOTO_ERROR(H5E_MAP, H5E_CANTGET, FAIL, "can't get VOL object for dataset") + HGOTO_ERROR(H5E_MAP, H5E_CANTGET, FAIL, "can't get VOL object for map") /* Prepare for possible asynchronous operation */ if (H5ES_NONE != es_id) { @@ -671,7 +671,7 @@ H5Mclose_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, map_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_MAP, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -985,7 +985,7 @@ H5Mput_async(const char *app_file, const char *app_func, unsigned app_line, hid_ /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIuii*xi*xii", app_file, app_func, app_line, map_id, key_mem_type_id, key, val_mem_type_id, value, dxpl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_MAP, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1114,7 +1114,7 @@ H5Mget_async(const char *app_file, const char *app_func, unsigned app_line, hid_ /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIuii*xi*xii", app_file, app_func, app_line, map_id, key_mem_type_id, key, val_mem_type_id, value, dxpl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_MAP, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: diff --git a/src/H5O.c b/src/H5O.c index 8287f22e4d2..2cdb37d39f6 100644 --- a/src/H5O.c +++ b/src/H5O.c @@ -202,7 +202,7 @@ H5Oopen_async(const char *app_file, const char *app_func, unsigned app_line, hid /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIui*sii", app_file, app_func, app_line, loc_id, name, lapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HDONE_ERROR(H5E_OHDR, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on object ID") HGOTO_ERROR(H5E_OHDR, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -335,7 +335,7 @@ H5Oopen_by_idx_async(const char *app_file, const char *app_func, unsigned app_li /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIui*sIiIohii", app_file, app_func, app_line, loc_id, group_name, idx_type, order, n, lapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HDONE_ERROR(H5E_OHDR, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on object ID") HGOTO_ERROR(H5E_OHDR, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -594,7 +594,7 @@ H5Ocopy_async(const char *app_file, const char *app_func, unsigned app_line, hid /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIui*si*siii", app_file, app_func, app_line, src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_OHDR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -696,7 +696,7 @@ H5Oflush_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, obj_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_OHDR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -798,7 +798,7 @@ H5Orefresh_async(const char *app_file, const char *app_func, unsigned app_line, /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, oid, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_OHDR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1188,7 +1188,8 @@ H5Oget_info_by_name_async(const char *app_file, const char *app_func, unsigned a herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE9("e", "*s*sIui*sxIuii", app_file, app_func, app_line, loc_id, name, oinfo, fields, lapl_id, es_id); + H5TRACE9("e", "*s*sIui*sxIuii", app_file, app_func, app_line, loc_id, name, oinfo, fields, lapl_id, + es_id); /* Set up request token pointer for asynchronous operation */ if (H5ES_NONE != es_id) @@ -1203,7 +1204,7 @@ H5Oget_info_by_name_async(const char *app_file, const char *app_func, unsigned a /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE9(FUNC, "*s*sIui*sxIuii", app_file, app_func, app_line, loc_id, name, oinfo, fields, lapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_OHDR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -1930,7 +1931,7 @@ H5Oclose_async(const char *app_file, const char *app_func, unsigned app_line, hi /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE5(FUNC, "*s*sIuii", app_file, app_func, app_line, object_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_OHDR, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: diff --git a/src/H5Opublic.h b/src/H5Opublic.h index 340f8d75b2e..74736173269 100644 --- a/src/H5Opublic.h +++ b/src/H5Opublic.h @@ -26,9 +26,9 @@ #define _H5Opublic_H /* Public headers needed by this file */ -#include "H5public.h" /* Generic Functions */ -#include "H5Ipublic.h" /* IDs */ -#include "H5Lpublic.h" /* Links */ +#include "H5public.h" /* Generic Functions */ +#include "H5Ipublic.h" /* IDs */ +#include "H5Lpublic.h" /* Links */ /*****************/ /* Public Macros */ @@ -109,10 +109,10 @@ /* Types of objects in file */ typedef enum H5O_type_t { - H5O_TYPE_UNKNOWN = -1, /* Unknown object type */ - H5O_TYPE_GROUP, /* Object is a group */ - H5O_TYPE_DATASET, /* Object is a dataset */ - H5O_TYPE_NAMED_DATATYPE, /* Object is a named data type */ + H5O_TYPE_UNKNOWN = -1, /* Unknown object type */ + H5O_TYPE_GROUP, /* Object is a group */ + H5O_TYPE_DATASET, /* Object is a dataset */ + H5O_TYPE_NAMED_DATATYPE, /* Object is a named data type */ H5O_TYPE_MAP, /* Object is a map */ H5O_TYPE_NTYPES /* Number of different object types (must be last!) */ } H5O_type_t; @@ -222,22 +222,22 @@ extern "C" { * specified by a location, \p loc_id, and a path name, \p name, in an HDF5 file. * * This function opens the object in the same manner as H5Gopen(), H5Topen(), and H5Dopen(). - * However, H5Oopen() does not require the type of object to be known beforehand. + * However, H5Oopen() does not require the type of object to be known beforehand. * This can be useful with user-defined links, for instance, when only a path may be known. * * H5Oopen() cannot be used to open a dataspace, attribute, property list, or file. * - * Once an object of unknown type has been opened with H5Oopen(), + * Once an object of unknown type has been opened with H5Oopen(), * the type of that object can be determined by means of an H5Iget_type() call. * * \p loc_id may be a file, group, dataset, named datatype, or attribute. - * If an attribute is specified for \p loc_id then the object where the + * If an attribute is specified for \p loc_id then the object where the * attribute is attached will be accessed. * * \p name must be the path to that object relative to \p loc_id. * - * \p lapl_id is the link access property list associated with the link pointing to - * the object. If default link access properties are appropriate, this can be + * \p lapl_id is the link access property list associated with the link pointing to + * the object. If default link access properties are appropriate, this can be * passed in as #H5P_DEFAULT. * * When it is no longer needed, the opened object should be closed with @@ -245,7 +245,7 @@ extern "C" { * * \version 1.8.1 Fortran subroutine introduced in this release. * - * \since 1.8.0 + * \since 1.8.0 * */ H5_DLL hid_t H5Oopen(hid_t loc_id, const char *name, hid_t lapl_id); @@ -263,14 +263,14 @@ H5_DLL hid_t H5Oopen_async(const char *app_file, const char *app_func, unsigned * * \return \hid_ti{object} * - * \details H5Oopen_by_token() opens an object specified by the object + * \details H5Oopen_by_token() opens an object specified by the object * identifier, \p loc_id and object token, \p token. * * \par Example * An example snippet from examples/h5_extlink.c: * \snippet h5_extlink.c H5Open_by_token_snip * - * \since 1.12.0 + * \since 1.12.0 * */ H5_DLL hid_t H5Oopen_by_token(hid_t loc_id, H5O_token_t token); @@ -290,12 +290,13 @@ H5_DLL hid_t H5Oopen_by_token(hid_t loc_id, H5O_token_t token); * * \return \hid_tv{object} * - * \details H5Open_by_idx() opens the nth object in the group specified by \p loc_id + * \details H5Open_by_idx() opens the nth object in the group specified by \p loc_id * and \p group_name. * - * \p loc_id specifies a location identifier. \p group_name specifies the group relative to - * \p loc_id in which the object can be found. If \p loc_id fully specifies the group - * in which the object resides, \p group_name can be a dot (.). + * \p loc_id specifies a location identifier. + * \p group_name specifies the group relative to \p loc_id in which the object can be found. + * If \p loc_id fully specifies the group in which the object resides, + * \p group_name can be a dot (.). * * The specific object to be opened within the group is specified by the three parameters: * \p idx_type, \p order and \p n. @@ -305,22 +306,22 @@ H5_DLL hid_t H5Oopen_by_token(hid_t loc_id, H5O_token_t token); * * \indexes * - * \p order specifies the order in which the objects are to be referenced for the purposes + * \p order specifies the order in which the objects are to be referenced for the purposes * of this function. Valid orders include the following: * * \orders * - * Note that for #H5_ITER_NATIVE, rather than implying a particular order, - * it instructs the HDF5 library to iterate through the objects in the fastest + * Note that for #H5_ITER_NATIVE, rather than implying a particular order, + * it instructs the HDF5 library to iterate through the objects in the fastest * available order, i.e., in a natural order. - * - * \p n specifies the position of the object within the index. Note that this count is - * zero-based; 0 (zero) indicates that the function will return the value of the first object; + * + * \p n specifies the position of the object within the index. Note that this count is + * zero-based; 0 (zero) indicates that the function will return the value of the first object; * if \p n is 5, the function will return the value of the sixth object; etc. * * \p lapl_id specifies the link access property list to be used in accessing the object. * - * An object opened with this function should be closed when it is no longer needed so that + * An object opened with this function should be closed when it is no longer needed so that * resource leaks will not develop. H5Oclose() can be used to close groups, datasets, * or committed datatypes. * @@ -345,8 +346,10 @@ H5_DLL hid_t H5Oopen_by_idx_async(const char *app_file, const char *app_func, un * \param[in] name The name of the link to check * \lapl_id * - * \return Returns a positive value if the object pointed to by the \p loc_id and \p name combination exists. - * \return Returns 0 if the object pointed to by the \p loc_id and \p name combination does not exist. + * \return Returns a positive value if the object pointed to by + * the \p loc_id and \p name combination exists. + * \return Returns 0 if the object pointed to by + * the \p loc_id and \p name combination does not exist. * \return Returns a negatvie value when the function fails. * * \details H5Oexists_by_name() allows an application to determine whether @@ -424,7 +427,7 @@ H5_DLL hid_t H5Oopen_by_idx_async(const char *app_file, const char *app_func, un * \since 1.8.5 * */ -H5_DLL htri_t H5Oexists_by_name(hid_t loc_id, const char *name, hid_t lapl_id); +H5_DLL htri_t H5Oexists_by_name(hid_t loc_id, const char *name, hid_t lapl_id); /** *------------------------------------------------------------------------- @@ -438,14 +441,15 @@ H5_DLL htri_t H5Oexists_by_name(hid_t loc_id, const char *name, hid_t lapl_id); * * \return \herr_t * - * \details H5Oget_info3() specifies an object by its identifier, \p loc_id , and + * \details H5Oget_info3() specifies an object by its identifier, \p loc_id , and * retrieves the metadata describing that object in \p oinfo , an H5O_info2_t \c struct. * * The H5O_info2_t \c struct is defined in H5Opublic.h as follows : * \snippet this H5O_info2_t_snip * * Note the following about H5O_info2_t : - * - Of the four time fields (\c atime, \c mtime, \c ctime, and \c btime) only \c ctime has been implemented. + * - Of the four time fields (\c atime, \c mtime, \c ctime, and \c btime) + * only \c ctime has been implemented. * - The \c atime value is the last time the object was read or written. * - The \c mtime value is the last time the raw data in the object was changed. * - The \c ctime value is the last time the metadata for the object was changed. @@ -454,15 +458,15 @@ H5_DLL htri_t H5Oexists_by_name(hid_t loc_id, const char *name, hid_t lapl_id); * The H5O_token_t is defined in H5public.h as follows: * \snippet H5public.h H5O_token_t_snip * - * The H5O_type_t \c enum indicates the object type and + * The H5O_type_t \c enum indicates the object type and * is defined in H5Opublic.h as follows: * \snippet this H5O_type_t_snip - * + * * Note that the object retrieved as indicated by \p loc_id * refers only to the types specified by H5O_type_t. * - * The \p fields parameter contains flags to determine which fields will be filled in - * the H5O_info2_t \c struct returned in \p oinfo. + * The \p fields parameter contains flags to determine which fields will be filled in + * the H5O_info2_t \c struct returned in \p oinfo. * These flags are defined in the H5Opublic.h file: * * \obj_info_fields @@ -487,13 +491,13 @@ H5_DLL htri_t H5Oexists_by_name(hid_t loc_id, const char *name, hid_t lapl_id); * \since 1.12.0 * */ -H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields); +H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields); /** *------------------------------------------------------------------------- * \ingroup H5O * - * \brief Retrieves the metadata for an object, identifying the object by + * \brief Retrieves the metadata for an object, identifying the object by * location and relative name * * \fgdta_loc_obj_id{loc_id} @@ -504,8 +508,8 @@ H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields); * * \return \herr_t * - * \details H5Oget_info_by_name3() specifies an object’s location and name, - * \p loc_id and \p name, respectively, and retrieves the metadata + * \details H5Oget_info_by_name3() specifies an object’s location and name, + * \p loc_id and \p name, respectively, and retrieves the metadata * describing that object in \p oinfo, an H5O_info2_t struct. * * \p oinfo, in which the object information is returned, is a \c struct of @@ -514,7 +518,8 @@ H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields); * \snippet this H5O_info2_t_snip * * Note the following about H5O_info2_t : - * - Of the four time fields (\c atime, \c mtime, \c ctime, and \c btime) only \c ctime has been implemented. + * - Of the four time fields (\c atime, \c mtime, \c ctime, and \c btime) + * only \c ctime has been implemented. * - The \c atime value is the last time the object was read or written. * - The \c mtime value is the last time the raw data in the object was changed. * - The \c ctime value is the last time the metadata for the object was changed. @@ -523,20 +528,20 @@ H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields); * The H5O_token_t is defined in H5public.h as follows: * \snippet H5public.h H5O_token_t_snip * - * The H5O_type_t \c enum indicates the object type and + * The H5O_type_t \c enum indicates the object type and * is defined in H5Opublic.h as follows: * \snippet this H5O_type_t_snip * * Note that the object retrieved as indicated by \p loc_id * refers only to the types specified by H5O_type_t. * - * The \p fields parameter contains flags to determine which fields will be filled in - * the H5O_info2_t \c struct returned in \p oinfo. + * The \p fields parameter contains flags to determine which fields will be filled in + * the H5O_info2_t \c struct returned in \p oinfo. * These flags are defined in the H5Opublic.h file: * * \obj_info_fields * - * The link access property list, \c lapl_id, is not currently used; + * The link access property list, \c lapl_id, is not currently used; * it should be passed in as #H5P_DEFAULT. * * \par Example @@ -546,17 +551,17 @@ H5_DLL herr_t H5Oget_info3(hid_t loc_id, H5O_info2_t *oinfo, unsigned fields); * \since 1.12.0 * */ -H5_DLL herr_t H5Oget_info_by_name3(hid_t loc_id, const char *name, H5O_info2_t *oinfo, unsigned fields, - hid_t lapl_id); -H5_DLL herr_t H5Oget_info_by_name_async(const char *app_file, const char *app_func, unsigned app_line, - hid_t loc_id, const char *name, H5O_info2_t *oinfo /*out*/, - unsigned fields, hid_t lapl_id, hid_t es_id); +H5_DLL herr_t H5Oget_info_by_name3(hid_t loc_id, const char *name, H5O_info2_t *oinfo, unsigned fields, + hid_t lapl_id); +H5_DLL herr_t H5Oget_info_by_name_async(const char *app_file, const char *app_func, unsigned app_line, + hid_t loc_id, const char *name, H5O_info2_t *oinfo /*out*/, + unsigned fields, hid_t lapl_id, hid_t es_id); /** *------------------------------------------------------------------------- * \ingroup H5O * - * \brief Retrieves the metadata for an object, identifying the object + * \brief Retrieves the metadata for an object, identifying the object * by an index position * * \fgdta_loc_obj_id{loc_id} @@ -591,7 +596,8 @@ H5_DLL herr_t H5Oget_info_by_name_async(const char *app_file, const char *app_f * \snippet this H5O_info2_t_snip * * Note the following about H5O_info2_t : - * - Of the four time fields (\c atime, \c mtime, \c ctime, and \c btime) only \c ctime has been implemented. + * - Of the four time fields (\c atime, \c mtime, \c ctime, and \c btime) + * only \c ctime has been implemented. * - The \c atime value is the last time the object was read or written. * - The \c mtime value is the last time the raw data in the object was changed. * - The \c ctime value is the last time the metadata for the object was changed. @@ -600,19 +606,19 @@ H5_DLL herr_t H5Oget_info_by_name_async(const char *app_file, const char *app_f * H5O_token_t is defined in H5public.h as follows: * \snippet H5public.h H5O_token_t_snip * - * The #H5O_type_t \c enum indicates the object type and + * The #H5O_type_t \c enum indicates the object type and * is defined in H5Opublic.h as follows: * \snippet this H5O_type_t_snip * * Note that the object retrieved as indicated by \p loc_id * refers only to the types specified by #H5O_type_t. * - * The \p fields parameter contains flags to determine which fields will be filled in - * the H5O_info2_t \c struct returned in \p oinfo. + * The \p fields parameter contains flags to determine which fields will be filled in + * the H5O_info2_t \c struct returned in \p oinfo. * These flags are defined in the H5Opublic.h file: * \obj_info_fields * - * The link access property list, \c lapl_id, is not currently used; + * The link access property list, \c lapl_id, is not currently used; * it should be passed in as #H5P_DEFAULT. * * \par Example @@ -622,9 +628,9 @@ H5_DLL herr_t H5Oget_info_by_name_async(const char *app_file, const char *app_f * \since 1.12.0 * */ -H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type, - H5_iter_order_t order, hsize_t n, H5O_info2_t *oinfo, unsigned fields, - hid_t lapl_id); +H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_index_t idx_type, + H5_iter_order_t order, hsize_t n, H5O_info2_t *oinfo, unsigned fields, + hid_t lapl_id); /** *------------------------------------------------------------------------- @@ -658,7 +664,7 @@ H5_DLL herr_t H5Oget_info_by_idx3(hid_t loc_id, const char *group_name, H5_inde * \since 1.12.0 * */ -H5_DLL herr_t H5Oget_native_info(hid_t loc_id, H5O_native_info_t *oinfo, unsigned fields); +H5_DLL herr_t H5Oget_native_info(hid_t loc_id, H5O_native_info_t *oinfo, unsigned fields); /** *------------------------------------------------------------------------- @@ -693,14 +699,14 @@ H5_DLL herr_t H5Oget_native_info(hid_t loc_id, H5O_native_info_t *oinfo, unsign * \since 1.12.0 * */ -H5_DLL herr_t H5Oget_native_info_by_name(hid_t loc_id, const char *name, H5O_native_info_t *oinfo, - unsigned fields, hid_t lapl_id); +H5_DLL herr_t H5Oget_native_info_by_name(hid_t loc_id, const char *name, H5O_native_info_t *oinfo, + unsigned fields, hid_t lapl_id); /** *------------------------------------------------------------------------- * \ingroup H5O * - * \brief Retrieve native file format information about an object + * \brief Retrieve native file format information about an object * according to the order of an index * * \fgdta_loc_obj_id{loc_id} @@ -733,15 +739,15 @@ H5_DLL herr_t H5Oget_native_info_by_name(hid_t loc_id, const char *name, H5O_na * Possible values defined in H5Opublic.h are: * \snippet this H5O_native_info_fields_snip * - * The link access property list, \c lapl_id, is not currently used; + * The link access property list, \c lapl_id, is not currently used; * it should be passed in as #H5P_DEFAULT. * * \since 1.12.0 * */ -H5_DLL herr_t H5Oget_native_info_by_idx(hid_t loc_id, const char *group_name, H5_index_t idx_type, - H5_iter_order_t order, hsize_t n, H5O_native_info_t *oinfo, - unsigned fields, hid_t lapl_id); +H5_DLL herr_t H5Oget_native_info_by_idx(hid_t loc_id, const char *group_name, H5_index_t idx_type, + H5_iter_order_t order, hsize_t n, H5O_native_info_t *oinfo, + unsigned fields, hid_t lapl_id); /** *------------------------------------------------------------------------- @@ -750,7 +756,7 @@ H5_DLL herr_t H5Oget_native_info_by_idx(hid_t loc_id, const char *group_name, H * \brief Creates a hard link to an object in an HDF5 file * * \param[in] obj_id Object to be linked - * \param[in] new_loc_id Location identifier at which object is to be linked; + * \param[in] new_loc_id Location identifier at which object is to be linked; * may be a file, group, dataset, named datatype or attribute identifier. * \param[in] new_name Name of link to be created, relative to \p new_loc_id. * \lcpl_id @@ -766,7 +772,7 @@ H5_DLL herr_t H5Oget_native_info_by_idx(hid_t loc_id, const char *group_name, H * H5Olink() is designed for two purposes: * - To create the first hard link to an object that has just * been created with H5Dcreate_anon(), H5Gcreate_anon(), or - * H5Tcommit_anon(). + * H5Tcommit_anon(). * - To add additional structure to an existing * file so that, for example, an object can be shared among * multiple groups. @@ -784,7 +790,7 @@ H5_DLL herr_t H5Oget_native_info_by_idx(hid_t loc_id, const char *group_name, H * \code * * // Creates a link creation property list (LCPL). - * hid_t lcpl_id = H5Pcreate(H5P_LINK_CREATE); + * hid_t lcpl_id = H5Pcreate(H5P_LINK_CREATE); * * // Sets "create missing intermediate groups" property in that LCPL. * int status = H5Pset_create_intermediate_group(lcpl_id, TRUE); @@ -797,7 +803,7 @@ H5_DLL herr_t H5Oget_native_info_by_idx(hid_t loc_id, const char *group_name, H * * \endcode * - * \par + * \par * Note that unless the object is intended to be temporary, * the H5O_LINK call is mandatory if an object created with one * of the H5*_CREATE_ANON functions (or with H5T_COMMIT_ANON) @@ -810,7 +816,7 @@ H5_DLL herr_t H5Oget_native_info_by_idx(hid_t loc_id, const char *group_name, H * \since 1.8.0 * */ -H5_DLL herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, const char *new_name, hid_t lcpl_id, hid_t lapl_id); +H5_DLL herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, const char *new_name, hid_t lcpl_id, hid_t lapl_id); /** *------------------------------------------------------------------------- @@ -836,8 +842,8 @@ H5_DLL herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, const char *new_name, hid * count, an H5Oget_info() call is required; the reference count * is returned in the \c rc field of the #H5O_info_t \c struct. * - * \warning This function must be used with care! - * \warning Improper use can lead to inaccessible data, wasted space in the file, + * \warning This function must be used with care! + * \warning Improper use can lead to inaccessible data, wasted space in the file, * or file corruption. * * \version 1.8.11 Fortran subroutine introduced in this release. @@ -845,7 +851,7 @@ H5_DLL herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, const char *new_name, hid * \since 1.8.0 * */ -H5_DLL herr_t H5Oincr_refcount(hid_t object_id); +H5_DLL herr_t H5Oincr_refcount(hid_t object_id); /** *------------------------------------------------------------------------- @@ -871,8 +877,8 @@ H5_DLL herr_t H5Oincr_refcount(hid_t object_id); * count, an H5Oget_info() call is required; the reference count * is returned in the \c rc field of the #H5O_info_t \c struct. * - * \warning This function must be used with care! - * \warning Improper use can lead to inaccessible data, wasted space in the file, + * \warning This function must be used with care! + * \warning Improper use can lead to inaccessible data, wasted space in the file, * or file corruption. * * \version 1.8.11 Fortran subroutine introduced in this release. @@ -880,7 +886,7 @@ H5_DLL herr_t H5Oincr_refcount(hid_t object_id); * \since 1.8.0 * */ -H5_DLL herr_t H5Odecr_refcount(hid_t object_id); +H5_DLL herr_t H5Odecr_refcount(hid_t object_id); /** *------------------------------------------------------------------------- @@ -888,7 +894,7 @@ H5_DLL herr_t H5Odecr_refcount(hid_t object_id); * * \brief Copies an object in an HDF5 file * - * \param[in] src_loc_id Object identifier indicating the location of the + * \param[in] src_loc_id Object identifier indicating the location of the * source object to be copied * \param[in] src_name Name of the source object to be copied * \param[in] dst_loc_id Location identifier specifying the destination @@ -909,20 +915,20 @@ H5_DLL herr_t H5Odecr_refcount(hid_t object_id); * * The copy will be created with the path specified in \p dst_name, * which must not pre-exist in the destination location. If - * \p dst_name already exists at the location \p dst_loc_id, - * H5Ocopy() will fail. If \p dst_name is an absolute path, + * \p dst_name already exists at the location \p dst_loc_id, + * H5Ocopy() will fail. If \p dst_name is an absolute path, * the copy will be created relative to the file’s root group. * * The copy of the object is created with the property lists * specified by \p ocpypl_id and \p lcpl_id. #H5P_DEFAULT can be passed * in for these property lists. The default behavior: * - * - of the link creation property list is to NOT create + * - of the link creation property list is to NOT create * intermediate groups. - * - of the flags specified by the object creation property list - * is described in H5Pset_copy_object(). + * - of the flags specified by the object creation property list + * is described in H5Pset_copy_object(). * - * These property lists or flags can be modified to govern the + * These property lists or flags can be modified to govern the * behavior of H5Ocopy() as follows: * * - A flag controlling the creation of intermediate groups that @@ -936,7 +942,7 @@ H5_DLL herr_t H5Odecr_refcount(hid_t object_id); * - Flags controlling other aspects of object copying are set in the * object copy property list \p ocpypl_id with H5Pset_copy_object(). * - * H5Ocopy() will always try to make a copy of the object specified + * H5Ocopy() will always try to make a copy of the object specified * in \p src_name. * * - If the object specified by \p src_name is a group containing a @@ -963,8 +969,8 @@ H5_DLL herr_t H5Odecr_refcount(hid_t object_id); * - H5Pset_create_intermediate_group() * - H5Pset_mcdt_search_cb() * . - * - Copying Committed Datatypes with #H5Ocopy - A comprehensive - * discussion of copying committed datatypes (PDF) in + * - Copying Committed Datatypes with #H5Ocopy - A comprehensive + * discussion of copying committed datatypes (PDF) in * Advanced Topics in HDF5 * * \version 1.8.9 Fortran subroutine introduced in this release. @@ -972,11 +978,11 @@ H5_DLL herr_t H5Odecr_refcount(hid_t object_id); * \since 1.8.0 * */ -H5_DLL herr_t H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, const char *dst_name, - hid_t ocpypl_id, hid_t lcpl_id); -H5_DLL herr_t H5Ocopy_async(const char *app_file, const char *app_func, unsigned app_line, hid_t src_loc_id, - const char *src_name, hid_t dst_loc_id, const char *dst_name, hid_t ocpypl_id, - hid_t lcpl_id, hid_t es_id); +H5_DLL herr_t H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, const char *dst_name, + hid_t ocpypl_id, hid_t lcpl_id); +H5_DLL herr_t H5Ocopy_async(const char *app_file, const char *app_func, unsigned app_line, hid_t src_loc_id, + const char *src_name, hid_t dst_loc_id, const char *dst_name, hid_t ocpypl_id, + hid_t lcpl_id, hid_t es_id); /** *------------------------------------------------------------------------- @@ -1007,12 +1013,12 @@ H5_DLL herr_t H5Ocopy_async(const char *app_file, const char *app_func, unsigne * will be attached to the object to which the attribute belongs * and not to the attribute itself. * - * \version 1.8.11 Fortran subroutine introduced in this release. + * \version 1.8.11 Fortran subroutine introduced in this release. * * \since 1.8.0 * */ -H5_DLL herr_t H5Oset_comment(hid_t obj_id, const char *comment); +H5_DLL herr_t H5Oset_comment(hid_t obj_id, const char *comment); /** *------------------------------------------------------------------------- @@ -1030,12 +1036,12 @@ H5_DLL herr_t H5Oset_comment(hid_t obj_id, const char *comment); * \details H5Oset_comment_by_name() sets the comment for the specified object * to the contents of \p comment. Any previously existing comment * is overwritten. - * + * * The target object is specified by \p loc_id and \p name. - * \p loc_id can specify any object in the file. + * \p loc_id can specify any object in the file. * \p name can be one of the following: * - * - The name of the object specified as a path relative to \p loc_id + * - The name of the object specified as a path relative to \p loc_id * - An absolute name of the object, starting from \c /, the file’s root group * - A dot (\c .), if \p loc_id fully specifies the object * @@ -1056,12 +1062,12 @@ H5_DLL herr_t H5Oset_comment(hid_t obj_id, const char *comment); * link access property list can come into play when traversing * links to access an object. * - * \version 1.8.11 Fortran subroutine introduced in this release. + * \version 1.8.11 Fortran subroutine introduced in this release. * * \since 1.8.0 * */ -H5_DLL herr_t H5Oset_comment_by_name(hid_t loc_id, const char *name, const char *comment, hid_t lapl_id); +H5_DLL herr_t H5Oset_comment_by_name(hid_t loc_id, const char *name, const char *comment, hid_t lapl_id); /** *------------------------------------------------------------------------- @@ -1080,7 +1086,7 @@ H5_DLL herr_t H5Oset_comment_by_name(hid_t loc_id, const char *name, const char * * \details H5Oget_comment() retrieves the comment for the specified object in * the buffer \p comment. - * + * * The target object is specified by an identifier, \p object_id. * * The size in bytes of the buffer \p comment, including the \c NULL @@ -1096,7 +1102,7 @@ H5_DLL herr_t H5Oset_comment_by_name(hid_t loc_id, const char *name, const char * If an object does not have a comment, the empty string is * returned in \p comment. * - * \version 1.8.11 Fortran subroutine introduced in this release. + * \version 1.8.11 Fortran subroutine introduced in this release. * * \since 1.8.0 * @@ -1115,26 +1121,26 @@ H5_DLL ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize); * \param[in] bufsize Anticipated required size of the \p comment buffer * \lapl_id * - * \return Upon success, returns the number of characters in the comment, - * not including the \c NULL terminator, or zero (\c 0) if the object - * has no comment. The value returned may be larger than \c bufsize. + * \return Upon success, returns the number of characters in the comment, + * not including the \c NULL terminator, or zero (\c 0) if the object + * has no comment. The value returned may be larger than \c bufsize. * Otherwise returns a negative value. * - * \details H5Oget_comment_by_name() retrieves the comment for an object + * \details H5Oget_comment_by_name() retrieves the comment for an object * in the buffer \p comment. * * The target object is specified by \p loc_id and \p name. - * \p loc_id can specify any object in the file. + * \p loc_id can specify any object in the file. * \p name can be one of the following: * - * - The name of the object relative to \p loc_id + * - The name of the object relative to \p loc_id * - An absolute name of the object, starting from \c /, the file’s root group * - A dot (\c .), if \p loc_id fully specifies the object * * The size in bytes of the comment, including the \c NULL terminator, * is specified in \p bufsize. If \p bufsize is unknown, a preliminary * H5Oget_comment_by_name() call with the pointer \p comment set - * to \c NULL will return the size of the comment without + * to \c NULL will return the size of the comment without * the \c NULL terminator. * * If \p bufsize is set to a smaller value than described above, @@ -1148,7 +1154,7 @@ H5_DLL ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize); * link access property list can come into play when traversing * links to access an object. * - * \version 1.8.11 Fortran subroutine introduced in this release. + * \version 1.8.11 Fortran subroutine introduced in this release. * * \since 1.8.0 * @@ -1165,11 +1171,11 @@ H5_DLL ssize_t H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comm * \fgdta_loc_obj_id{obj_id} * \idx_type * \order - * \param[in] op Callback function passing data regarding the object + * \param[in] op Callback function passing data regarding the object * to the calling application - * \param[in] op_data User-defined pointer to data required by the application + * \param[in] op_data User-defined pointer to data required by the application * for its processing of the object - * \param[in] fields Flags specifying the fields to be retrieved to the + * \param[in] fields Flags specifying the fields to be retrieved to the * callback \p op * * \return On success, returns the return value of the first operator @@ -1180,21 +1186,21 @@ H5_DLL ssize_t H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comm * within the library, or the first negative value returned by * an operator. * - * \details H5Ovisit3() is a recursive iteration function to visit the - * object \p obj_id and, if \p obj_id is a group, all objects in - * and below it in an HDF5 file, thus providing a mechanism for - * an application to perform a common set of operations across - * all of those objects or a dynamically selected subset. - * For non-recursive iteration across the members of a group, + * \details H5Ovisit3() is a recursive iteration function to visit the + * object \p obj_id and, if \p obj_id is a group, all objects in + * and below it in an HDF5 file, thus providing a mechanism for + * an application to perform a common set of operations across + * all of those objects or a dynamically selected subset. + * For non-recursive iteration across the members of a group, * see H5Literate2(). * * If \p obj_id is a group identifier, that group serves as the * root of a recursive iteration. If \p obj_id is a file identifier, * that file’s root group serves as the root of the recursive - * iteration. If \p obj_id is an attribute identifier, + * iteration. If \p obj_id is an attribute identifier, * then the object where the attribute is attached will be iterated. - * If \p obj_id is any other type of object, such as a dataset or - * named datatype, there is no iteration. + * If \p obj_id is any other type of object, such as a dataset or + * named datatype, there is no iteration. * * Two parameters are used to establish the iteration: \p idx_type * and \p order. @@ -1208,12 +1214,12 @@ H5_DLL ssize_t H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comm * * \indexes * - * Note that the index type passed in \p idx_type is a - * best effort setting. If the application passes in - * a value indicating iteration in creation order and a group is - * encountered that was not tracked in creation order, that group - * will be iterated over in alpha-numeric order by name, or - * name order. (Name order is the native order + * Note that the index type passed in \p idx_type is a + * best effort setting. If the application passes in + * a value indicating iteration in creation order and a group is + * encountered that was not tracked in creation order, that group + * will be iterated over in alpha-numeric order by name, or + * name order. (Name order is the native order * used by the HDF5 library and is always available.) * * \p order specifies the order in which objects are to be inspected @@ -1227,28 +1233,28 @@ H5_DLL ssize_t H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comm * * \snippet this H5O_iterate2_t_snip * - * The parameters of this callback function have the following values + * The parameters of this callback function have the following values * or meanings: * * * - * * * * - * * * * - * * * * - * * *
\c objObject that serves as root of the iteration; + * Object that serves as root of the iteration; * same value as the H5Ovisit() \p obj_id parameter
\c nameName of object, relative to \c obj, being examined at + * Name of object, relative to \c obj, being examined at * current step of the iteration
\c infoH5O_info2_t \c struct containing information + * H5O_info2_t \c struct containing information * regarding that object
\c op_dataUser-defined pointer to data required by the application in - * processing the object; a pass-through of the \c op_data pointer + * User-defined pointer to data required by the application in + * processing the object; a pass-through of the \c op_data pointer * provided with the H5Ovisit() function call
@@ -1258,29 +1264,29 @@ H5_DLL ssize_t H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comm * * H5O_token_t is defined in H5public.h as follows: * \snippet H5public.h H5O_token_t_snip - * - * The #H5O_type_t enum indicates the object type and is + * + * The #H5O_type_t enum indicates the object type and is * defined in H5Opublic.h as follows: * \snippet this H5O_type_t_snip - * - * Note that the object retrieved as indicated by \p obj_id + * + * Note that the object retrieved as indicated by \p obj_id * refers only to the types specified by #H5O_type_t. * * The return values from an operator are: - * - Zero causes the visit iterator to continue, returning zero when all + * - Zero causes the visit iterator to continue, returning zero when all * group members have been processed. - * - A positive value causes the visit iterator to immediately return that + * - A positive value causes the visit iterator to immediately return that * positive value, indicating short-circuit success. - * - A negative value causes the visit iterator to immediately return that + * - A negative value causes the visit iterator to immediately return that * value, indicating failure. * - * The H5Ovisit3() \p op_data parameter is a user-defined pointer to the data - * required to process objects in the course of the iteration. This pointer - * is passed back to each step of the iteration in the callback - * function’s \p op_data parameter. + * The H5Ovisit3() \p op_data parameter is a user-defined pointer to the data + * required to process objects in the course of the iteration. This pointer + * is passed back to each step of the iteration in the callback + * function’s \p op_data parameter. * - * The \p fields parameter contains flags to determine which fields will - * be retrieved by the \p op callback function. These flags are defined + * The \p fields parameter contains flags to determine which fields will + * be retrieved by the \p op callback function. These flags are defined * in the H5Opublic.h file: * \obj_info_fields * @@ -1302,7 +1308,7 @@ H5_DLL ssize_t H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comm * from normally. * * \note Examples of this kind of routine include callbacks such as - * H5Pset_elink_cb() and H5Pset_type_conv_cb() and + * H5Pset_elink_cb() and H5Pset_type_conv_cb() and * functions such as H5Tconvert() and H5Ewalk2(). * * \note Exiting the routine in its normal fashion allows the HDF5 @@ -1313,7 +1319,7 @@ H5_DLL ssize_t H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comm * the routine was called. The C++ application should save some * state as the routine is started so that any problem that occurs * might be diagnosed. - * + * * \par Example * An example snippet from test/links.c: * \snippet links.c H5Ovisit3_snip @@ -1321,8 +1327,8 @@ H5_DLL ssize_t H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comm * \since 1.12.0 * */ -H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate2_t op, - void *op_data, unsigned fields); +H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate2_t op, + void *op_data, unsigned fields); /** *------------------------------------------------------------------------- @@ -1335,11 +1341,11 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * \p loc_id, that will serve as root of the iteration * \idx_type * \order - * \param[in] op Callback function passing data regarding the object + * \param[in] op Callback function passing data regarding the object * to the calling application - * \param[in] op_data User-defined pointer to data required by the application + * \param[in] op_data User-defined pointer to data required by the application * for its processing of the object - * \param[in] fields Flags specifying the fields to be retrieved to the + * \param[in] fields Flags specifying the fields to be retrieved to the * callback function \p op * \lapl_id * @@ -1351,22 +1357,22 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * within the library, or the first negative value returned by * an operator. * - * \details H5Ovisit_by_name3() is a recursive iteration function to visit - * the object specified by the \p loc_id / \p obj_name parameter - * pair and, if that object is a group, all objects in and below it - * in an HDF5 file, thus providing a mechanism for an application to - * perform a common set of operations across all of those objects or - * a dynamically selected subset. For non-recursive iteration across + * \details H5Ovisit_by_name3() is a recursive iteration function to visit + * the object specified by the \p loc_id / \p obj_name parameter + * pair and, if that object is a group, all objects in and below it + * in an HDF5 file, thus providing a mechanism for an application to + * perform a common set of operations across all of those objects or + * a dynamically selected subset. For non-recursive iteration across * the members of a group, see H5Literate2(). * * The object serving as the root of the iteration is specified * by the \p loc_id / \p obj_name parameter pair. \p loc_id specifies * a file or an object in a file; if \p loc_id is an attribute identifier, * the object where the attribute is attached will be used. - * \p obj_name specifies either an object in the file (with an absolute - * name based in the file’s root group) or an object name relative + * \p obj_name specifies either an object in the file (with an absolute + * name based in the file’s root group) or an object name relative * to \p loc_id. If \p loc_id fully specifies the object that is to serve - * as the root of the iteration, \p obj_name should be '\c .' (a dot). + * as the root of the iteration, \p obj_name should be '\c .' (a dot). * (Note that when \p loc_id fully specifies the object that is to serve * as the root of the iteration, the user may wish to consider * using H5Ovisit3() instead of H5Ovisit_by_name3().) @@ -1383,12 +1389,12 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * * \indexes * - * Note that the index type passed in \p idx_type is a - * best effort setting. If the application passes in a - * value indicating iteration in creation order and a group is - * encountered that was not tracked in creation order, that group - * will be iterated over in alpha-numeric order by name, or - * name order. (Name order is the native order + * Note that the index type passed in \p idx_type is a + * best effort setting. If the application passes in a + * value indicating iteration in creation order and a group is + * encountered that was not tracked in creation order, that group + * will be iterated over in alpha-numeric order by name, or + * name order. (Name order is the native order * used by the HDF5 library and is always available.) * * \p order specifies the order in which objects are to be inspected @@ -1402,7 +1408,7 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * * \snippet this H5O_iterate2_t_snip * - * The parameters of this callback function have the following + * The parameters of this callback function have the following * values or meanings: * * @@ -1411,17 +1417,17 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * * * - * * * * - * * * * - * * *
\c nameName of object, relative to \c obj, being examined at + * Name of object, relative to \c obj, being examined at * current step of the iteration
\c infoH5O_info2_t \c struct containing information + * H5O_info2_t \c struct containing information * regarding that object
\c op_dataUser-defined pointer to data required by the application in + * User-defined pointer to data required by the application in * processing the object
@@ -1431,11 +1437,11 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * * H5O_token_t is defined in H5public.h as follows: * \snippet H5public.h H5O_token_t_snip - * - * The #H5O_type_t enum indicates the object type and is + * + * The #H5O_type_t enum indicates the object type and is * defined in H5Opublic.h as follows: * \snippet this H5O_type_t_snip - * + * * The H5Ovisit_by_name3() \p op_data parameter is a user-defined * pointer to the data required to process objects in the course * of the iteration. This pointer is passed back to each step of @@ -1449,14 +1455,14 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * that a link prefix be set in a link access property list * (see H5Pset_elink_prefix()). * - * The \p fields parameter contains flags to determine which fields will - * be retrieved by the \p op callback function. These flags are defined + * The \p fields parameter contains flags to determine which fields will + * be retrieved by the \p op callback function. These flags are defined * in the H5Opublic.h file: * \obj_info_fields * - * H5Lvisit_by_name2() and H5Ovisit_by_name3() are companion - * functions: one for examining and operating on links; the other - * for examining and operating on the objects that those links point to. + * H5Lvisit_by_name2() and H5Ovisit_by_name3() are companion + * functions: one for examining and operating on links; the other + * for examining and operating on the objects that those links point to. * Both functions ensure that by the time the function completes * successfully, every link or object below the specified point * in the file has been presented to the application for whatever @@ -1468,7 +1474,7 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * from normally. * * \note Examples of this kind of routine include callbacks such as - * H5Pset_elink_cb() and H5Pset_type_conv_cb() and + * H5Pset_elink_cb() and H5Pset_type_conv_cb() and * functions such as H5Tconvert() and H5Ewalk2(). * * \note Exiting the routine in its normal fashion allows the HDF5 @@ -1479,7 +1485,7 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * the routine was called. The C++ application should save some * state as the routine is started so that any problem that occurs * might be diagnosed. - * + * * \par Example * An example snippet from test/links.c: * \snippet links.c H5Ovisit_by_name3_snip @@ -1487,9 +1493,9 @@ H5_DLL herr_t H5Ovisit3(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t orde * \since 1.12.0 * */ -H5_DLL herr_t H5Ovisit_by_name3(hid_t loc_id, const char *obj_name, H5_index_t idx_type, - H5_iter_order_t order, H5O_iterate2_t op, void *op_data, unsigned fields, - hid_t lapl_id); +H5_DLL herr_t H5Ovisit_by_name3(hid_t loc_id, const char *obj_name, H5_index_t idx_type, + H5_iter_order_t order, H5O_iterate2_t op, void *op_data, unsigned fields, + hid_t lapl_id); /** *------------------------------------------------------------------------- @@ -1510,14 +1516,14 @@ H5_DLL herr_t H5Ovisit_by_name3(hid_t loc_id, const char *obj_name, H5_index_t * H5Oclose() is not used to close a dataspace, attribute, property * list, or file. * - * \version 1.8.8 Fortran subroutine introduced in this release. + * \version 1.8.8 Fortran subroutine introduced in this release. * * \since 1.8.0 * */ -H5_DLL herr_t H5Oclose(hid_t object_id); -H5_DLL herr_t H5Oclose_async(const char *app_file, const char *app_func, unsigned app_line, hid_t object_id, - hid_t es_id); +H5_DLL herr_t H5Oclose(hid_t object_id); +H5_DLL herr_t H5Oclose_async(const char *app_file, const char *app_func, unsigned app_line, hid_t object_id, + hid_t es_id); /** *------------------------------------------------------------------------- @@ -1532,7 +1538,7 @@ H5_DLL herr_t H5Oclose_async(const char *app_file, const char *app_func, unsign * \details H5Oflush() causes all buffers associated with an object to be immediately * flushed to disk without removing the data from the cache. * - * The object associated with \p object_id can be any named object in an + * The object associated with \p object_id can be any named object in an * HDF5 file including a dataset, a group, or a committed datatype. * * \note HDF5 does not possess full control over buffering. H5Oflush() @@ -1561,13 +1567,13 @@ H5_DLL herr_t H5Oclose_async(const char *app_file, const char *app_func, unsign * - H5Oare_mdc_flushes_disabled() * - H5Odisable_mdc_flushes() * - H5Oenable_mdc_flushes() - * + * * \since 1.10.0 * */ -H5_DLL herr_t H5Oflush(hid_t obj_id); -H5_DLL herr_t H5Oflush_async(const char *app_file, const char *app_func, unsigned app_line, hid_t obj_id, - hid_t es_id); +H5_DLL herr_t H5Oflush(hid_t obj_id); +H5_DLL herr_t H5Oflush_async(const char *app_file, const char *app_func, unsigned app_line, hid_t obj_id, + hid_t es_id); /** *------------------------------------------------------------------------- * \ingroup H5O @@ -1586,24 +1592,24 @@ H5_DLL herr_t H5Oflush_async(const char *app_file, const char *app_func, unsign * the object. The reopened object is automatically re-registered * with the same identifier. * - * The object associated with \p oid can be any named object in an + * The object associated with \p oid can be any named object in an * HDF5 file including a dataset, a group, or a committed datatype. - * + * * \since 1.10.0 * */ -H5_DLL herr_t H5Orefresh(hid_t oid); -H5_DLL herr_t H5Orefresh_async(const char *app_file, const char *app_func, unsigned app_line, hid_t oid, - hid_t es_id); +H5_DLL herr_t H5Orefresh(hid_t oid); +H5_DLL herr_t H5Orefresh_async(const char *app_file, const char *app_func, unsigned app_line, hid_t oid, + hid_t es_id); /** *------------------------------------------------------------------------- * \ingroup H5O * - * \brief Prevents metadata entries for an HDF5 object from being flushed + * \brief Prevents metadata entries for an HDF5 object from being flushed * from the metadata cache to storage * - * \param[in] object_id Identifier of the object that will have flushes disabled; + * \param[in] object_id Identifier of the object that will have flushes disabled; * may be a group, named datatype, or dataset identifier * * \return \herr_t @@ -1622,26 +1628,26 @@ H5_DLL herr_t H5Orefresh_async(const char *app_file, const char *app_func, unsi * HDF5 object level (datasets, groups, committed datatypes) * and the entire metadata cache level. * - * \note HDF5 objects include datasets, groups, and committed datatypes. + * \note HDF5 objects include datasets, groups, and committed datatypes. * Only #hid_t identifiers that represent these objects can be passed to the function. - * \note Passing in a #hid_t identifier that represents any other HDF5 entity is + * \note Passing in a #hid_t identifier that represents any other HDF5 entity is * considered an error. - * \note It is an error to pass an HDF5 file identifier + * \note It is an error to pass an HDF5 file identifier * (obtained from H5Fopen() or H5Fcreate()) * to this function. - * \note Misuse of this function can cause the cache to exhaust + * \note Misuse of this function can cause the cache to exhaust * available memory. - * \note Objects can be returned to the default automatic flush behavior + * \note Objects can be returned to the default automatic flush behavior * with H5Oenable_mdc_flushes(). - * \note Flush prevention only pertains to new or dirty metadata entries. + * \note Flush prevention only pertains to new or dirty metadata entries. * Clean entries can be evicted from the cache. - * \note Calling this function on an object that has already had flushes + * \note Calling this function on an object that has already had flushes * disabled will return an error. * * \since 1.10.0 * */ -H5_DLL herr_t H5Odisable_mdc_flushes(hid_t object_id); +H5_DLL herr_t H5Odisable_mdc_flushes(hid_t object_id); /** *------------------------------------------------------------------------- @@ -1649,50 +1655,50 @@ H5_DLL herr_t H5Odisable_mdc_flushes(hid_t object_id); * * \brief Enables flushing of dirty metadata entries from a file’s metadata cache * - * \param[in] object_id Identifier of the object that will have flushes re-enabled; - * may be a group, named datatype, or dataset identifier + * \param[in] object_id Identifier of the object that will have flushes re-enabled; + * may be a group, named datatype, or dataset identifier * * \return \herr_t * * \details H5Oenable_mdc_flushes(), H5Odisable_mdc_flushes() - * and associated flush functions can be used to control the flushing + * and associated flush functions can be used to control the flushing * of entries from a file’s metadata cache. * - * This function allows an object or cache’s dirty metadata entries to be + * This function allows an object or cache’s dirty metadata entries to be * flushed from the cache by the usual cache eviction/flush policy. * - * Metadata cache entries can be controlled at both the individual HDF5 - * object level (datasets, groups, committed datatypes) and the entire + * Metadata cache entries can be controlled at both the individual HDF5 + * object level (datasets, groups, committed datatypes) and the entire * metadata cache level. * * - * \note HDF5 objects include datasets, groups, and committed datatypes. - * Only #hid_t identifiers that represent these objects can be + * \note HDF5 objects include datasets, groups, and committed datatypes. + * Only #hid_t identifiers that represent these objects can be * passed to the function. * * \note Passing in a #hid_t identifier that represents any other HDF5 entity * is considered an error. * - * \note It is an error to pass an HDF5 file identifier + * \note It is an error to pass an HDF5 file identifier * (obtained from H5Fopen() or H5Fcreate()) * to this function. * - * \note Using this function on an object that has not had flushes disabled - * is considered an error. The state of an object can be determined + * \note Using this function on an object that has not had flushes disabled + * is considered an error. The state of an object can be determined * with H5Oare_mdc_flushes_disabled(). * * \note An object will be returned to the default flush algorithm when it is closed. * - * \note All objects will be returned to the default flush algorithm when + * \note All objects will be returned to the default flush algorithm when * the file is closed. * - * \note An object’s entries will not necessarily be flushed as a result of + * \note An object’s entries will not necessarily be flushed as a result of * calling this function. * * \since 1.10.0 * */ -H5_DLL herr_t H5Oenable_mdc_flushes(hid_t object_id); +H5_DLL herr_t H5Oenable_mdc_flushes(hid_t object_id); /** *------------------------------------------------------------------------- @@ -1700,11 +1706,11 @@ H5_DLL herr_t H5Oenable_mdc_flushes(hid_t object_id); * * \brief Retrieves comment for specified object * - * \param[in] object_id Identifier of an object in the cache; + * \param[in] object_id Identifier of an object in the cache; * may be a group, named datatype, or dataset identifier * \param[out] are_disabled Flushes enabled/disabled * - * \return \p are_disabled will be set to \c 1 if an object has had flushes disabled + * \return \p are_disabled will be set to \c 1 if an object has had flushes disabled * and \c 0 if it has not had flushes disabled. * \return \herr_t * @@ -1712,22 +1718,22 @@ H5_DLL herr_t H5Oenable_mdc_flushes(hid_t object_id); * datatype) has had flushes of metadata entries disabled. * * The H5Oenable_mdc_flushes(), H5Odisable_mdc_flushes() and - * associated flush functions can be used to control the flushing of + * associated flush functions can be used to control the flushing of * entries from a file’s metadata cache. Metadata cache entries can be controlled * at both the individual HDF5 object level (datasets, groups, * committed datatypes) and the entire metadata cache level. * - * \note HDF5 objects include datasets, groups, and committed datatypes. + * \note HDF5 objects include datasets, groups, and committed datatypes. * Only #hid_t identifiers that represent these objects can be passed to the function. - * \note Passing in a #hid_t identifier that represents any other HDF5 entity is + * \note Passing in a #hid_t identifier that represents any other HDF5 entity is * considered an error. - * \note It is an error to pass an HDF5 file identifier + * \note It is an error to pass an HDF5 file identifier * (obtained from H5Fopen() or H5Fcreate()) to this function. * * \since 1.10.0 * */ -H5_DLL herr_t H5Oare_mdc_flushes_disabled(hid_t object_id, hbool_t *are_disabled); +H5_DLL herr_t H5Oare_mdc_flushes_disabled(hid_t object_id, hbool_t *are_disabled); /** *------------------------------------------------------------------------- @@ -1742,14 +1748,14 @@ H5_DLL herr_t H5Oare_mdc_flushes_disabled(hid_t object_id, hbool_t *are_disable * * \return \herr_t * - * \details H5Otoken_cmp() compares two VOL connector object tokens, \p token1 - * and \p token2 for the file or group identifier specified by \p loc_id. + * \details H5Otoken_cmp() compares two VOL connector object tokens, \p token1 + * and \p token2 for the file or group identifier specified by \p loc_id. * Both object tokens must be from the same VOL connector class. * * H5O_token_t is defined in H5public.h as follows: * \snippet H5public.h H5O_token_t_snip * - * A comparison value, \p cmp_value, is returned, which indicates the + * A comparison value, \p cmp_value, is returned, which indicates the * result of the comparison: * * @@ -1778,8 +1784,8 @@ H5_DLL herr_t H5Oare_mdc_flushes_disabled(hid_t object_id, hbool_t *are_disable * \since 1.12.0 * */ -H5_DLL herr_t H5Otoken_cmp(hid_t loc_id, const H5O_token_t *token1, const H5O_token_t *token2, - int *cmp_value); +H5_DLL herr_t H5Otoken_cmp(hid_t loc_id, const H5O_token_t *token1, const H5O_token_t *token2, + int *cmp_value); /** *------------------------------------------------------------------------- @@ -1793,14 +1799,14 @@ H5_DLL herr_t H5Otoken_cmp(hid_t loc_id, const H5O_token_t *token1, const H5O_t * * \return \herr_t * - * \details H5Otoken_to_str() serializes a connector's object token specified by - * \p token and the location identifier for the object, \p loc_id, + * \details H5Otoken_to_str() serializes a connector's object token specified by + * \p token and the location identifier for the object, \p loc_id, * into a string, \p token_str. * * \since 1.12.0 * */ -H5_DLL herr_t H5Otoken_to_str(hid_t loc_id, const H5O_token_t *token, char **token_str); +H5_DLL herr_t H5Otoken_to_str(hid_t loc_id, const H5O_token_t *token, char **token_str); /** *------------------------------------------------------------------------- @@ -1814,14 +1820,14 @@ H5_DLL herr_t H5Otoken_to_str(hid_t loc_id, const H5O_token_t *token, char **to * * \return \herr_t * - * \details H5Otoken_from_str() deserializes a string, \p token_str, into a - * connector object token, \p token, for the object specified by the + * \details H5Otoken_from_str() deserializes a string, \p token_str, into a + * connector object token, \p token, for the object specified by the * location identifier, \p loc_id. * * \since 1.12.0 * */ -H5_DLL herr_t H5Otoken_from_str(hid_t loc_id, const char *token_str, H5O_token_t *token); +H5_DLL herr_t H5Otoken_from_str(hid_t loc_id, const char *token_str, H5O_token_t *token); /* API Wrappers for async routines */ /* (Must be defined _after_ the function prototype) */ @@ -1883,13 +1889,13 @@ typedef struct H5O_stat_t { /* (For H5Oget_info/H5Oget_info_by_name/H5Oget_info_by_idx versions 1 & 2) */ typedef struct H5O_info1_t { unsigned long fileno; /* File number that object is located in */ - haddr_t addr; /* Object address in file */ + haddr_t addr; /* Object address in file */ H5O_type_t type; /* Basic object type (group, dataset, etc.) */ unsigned rc; /* Reference count of object */ - time_t atime; /* Access time */ - time_t mtime; /* Modification time */ - time_t ctime; /* Change time */ - time_t btime; /* Birth time */ + time_t atime; /* Access time */ + time_t mtime; /* Modification time */ + time_t ctime; /* Change time */ + time_t btime; /* Birth time */ hsize_t num_attrs; /* # of attributes attached to object */ H5O_hdr_info_t hdr; /* Object header information */ /* Extra metadata storage for obj & attributes */ @@ -1924,34 +1930,34 @@ typedef herr_t (*H5O_iterate1_t)(hid_t obj, const char *name, const H5O_info1_t * \deprecated As of HDF5-1.12 this function has been deprecated in favor of * the function H5Oopen_by_token(). * - * \details H5Oopen_by_addr() opens a group, dataset, or committed (named) datatype using its - * address within an HDF5 file, \p addr. The resulting opened object is identical to - * an object opened with H5Oopen() and should be closed with H5Oclose() or an + * \details H5Oopen_by_addr() opens a group, dataset, or committed (named) datatype using its + * address within an HDF5 file, \p addr. The resulting opened object is identical to + * an object opened with H5Oopen() and should be closed with H5Oclose() or an * object-type-specific closing function (such as H5Gclose()) when no longer needed. * * \p loc_id is a location identifier in the file. * - * The object’s address within the file, \p addr, is the byte offset of the first byte - * of the object header from the beginning of the HDF5 file space, i.e., from the - * beginning of the super block (see the “HDF5 Storage Model” section of the The + * The object’s address within the file, \p addr, is the byte offset of the first byte + * of the object header from the beginning of the HDF5 file space, i.e., from the + * beginning of the super block (see the “HDF5 Storage Model” section of the The * HDF5 Data Model and File Structure chapter of the HDF5 User's Guide.) * * \p addr can be obtained via either of two function calls. H5Gget_objinfo() returns - * the object’s address in the \c objno field of the H5G_stat_t \c struct; + * the object’s address in the \c objno field of the H5G_stat_t \c struct; * H5Lget_info() returns the address in the \c address field of the #H5L_info_t \c struct. * - * The address of the HDF5 file on a physical device has no effect on H5Oopen_by_addr(), - * nor does the use of any file driver. As stated above, the object address is its - * offset within the HDF5 file; HDF5’s file drivers will transparently map this to an + * The address of the HDF5 file on a physical device has no effect on H5Oopen_by_addr(), + * nor does the use of any file driver. As stated above, the object address is its + * offset within the HDF5 file; HDF5’s file drivers will transparently map this to an * address on a storage device. * - * \warning This function must be used with care! - * \warning Improper use can lead to inaccessible data, wasted space in the file, - * or file corruption. - * \warning This function is dangerous if called on an invalid address. The risk can be safely + * \warning This function must be used with care! + * \warning Improper use can lead to inaccessible data, wasted space in the file, + * or file corruption. + * \warning This function is dangerous if called on an invalid address. The risk can be safely * overcome by retrieving the object address with H5Gget_objinfo() or H5Lget_info() - * immediately before calling H5Oopen_by_addr(). The immediacy of the operation can be - * important; if time has elapsed and the object has been deleted from the file, + * immediately before calling H5Oopen_by_addr(). The immediacy of the operation can be + * important; if time has elapsed and the object has been deleted from the file, * the address will be invalid and file corruption can result. * * \version 1.8.4 Fortran subroutine added in this release. @@ -1959,7 +1965,7 @@ typedef herr_t (*H5O_iterate1_t)(hid_t obj, const char *name, const H5O_info1_t * \since 1.8.0 * */ -H5_DLL hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr); +H5_DLL hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr); /** *------------------------------------------------------------------------- @@ -1975,35 +1981,36 @@ H5_DLL hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr); * \deprecated As of HDF5-1.12 this function has been deprecated in favor of * the function H5Oget_info3() or the macro #H5Oget_info. * - * \details H5Oget_info1() specifies an object by its identifier, \p loc_id , and - * retrieves the metadata describing that object in \p oinfo , + * \details H5Oget_info1() specifies an object by its identifier, \p loc_id , and + * retrieves the metadata describing that object in \p oinfo , * defined as a \c struct of type H5O_info1_t : * * \snippet this H5O_info1_t_snip * * Note the following about H5O_info1_t : - * - Of the four time fields (\c atime, \c mtime, \c ctime, and \c btime) only \c ctime has been implemented. + * - Of the four time fields (\c atime, \c mtime, \c ctime, and \c btime) + * only \c ctime has been implemented. * - The \c atime value is the last time the object was read or written. * - The \c mtime value is the last time the raw data in the object was changed. * - The \c ctime value is the last time the metadata for the object was changed. * - The \c btime value is the time the object was created. * - The fields nested in the \c meta_size field are for internal library use only. * - * The #H5O_type_t \c enum indicates the object type and + * The #H5O_type_t \c enum indicates the object type and * is defined in H5Opublic.h as follows: * \snippet this H5O_type_t_snip * * Note that the object retrieved as indicated by \p loc_id * refers only to the types specified by #H5O_type_t. * - * An H5O_hdr_info_t \c struct holds object header metadata and is + * An H5O_hdr_info_t \c struct holds object header metadata and is * defined in H5Opublic.h as follows: * \snippet this H5O_hdr_info_t_snip * - * Valid values for the \c version field are \c H5O_VERSION_1 and \c H5O_VERSION_2. + * Valid values for the \c version field are \c H5O_VERSION_1 and \c H5O_VERSION_2. * Version 2 of the object header is smaller and more efficient than version 1. * - * Please be aware that the information held by H5O_hdr_info_t may only be useful to + * Please be aware that the information held by H5O_hdr_info_t may only be useful to * developers with extensive HDF5 experience. * * \note If you are iterating through a lot of different objects to @@ -2018,12 +2025,16 @@ H5_DLL hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr); * will force metadata entries to be evicted from the cache, * thus freeing the memory associated with the entries. * - * \version 1.10.5 The macro #H5Oget_info was removed and the function H5Oget_info1() was copied to H5Oget_info(). - * \version 1.10.3 Function H5Oget_info() was copied to H5Oget_info1(), and the macro #H5Oget_info was created. - * \version 1.8.15 Added a note about the valid values for the \c version field in the H5O_hdr_info_t structure. + * \version 1.10.5 The macro #H5Oget_info was removed and the function + * H5Oget_info1() was copied to H5Oget_info(). + * \version 1.10.3 Function H5Oget_info() was copied to H5Oget_info1(), + * and the macro #H5Oget_info was created. + * \version 1.8.15 Added a note about the valid values for the \c version + * field in the H5O_hdr_info_t structure. * \version 1.8.11 Fortran subroutine introduced in this release. * \version 1.8.10 Added #H5O_type_t structure to the Description section. \n - * Separated H5O_hdr_info_t structure from #H5O_info_t in the Description section. \n + * Separated H5O_hdr_info_t structure from #H5O_info_t in the + * Description section. \n * Clarified the definition and implementation of the time fields. * * \since 1.8.0 @@ -2035,7 +2046,7 @@ H5_DLL herr_t H5Oget_info1(hid_t loc_id, H5O_info1_t *oinfo); *------------------------------------------------------------------------- * \ingroup H5O * - * \brief Retrieves the metadata for an object, identifying the object + * \brief Retrieves the metadata for an object, identifying the object * by location and relative name * * \fgdta_loc_obj_id{loc_id} @@ -2048,21 +2059,21 @@ H5_DLL herr_t H5Oget_info1(hid_t loc_id, H5O_info1_t *oinfo); * \deprecated As of HDF5-1.12 this function has been deprecated in favor of * the function H5Oget_info_by_name2() or the macro #H5Oget_info_by_name. * - * \details H5Oget_info_by_name1() specifies an object’s location and name, \p loc_id + * \details H5Oget_info_by_name1() specifies an object’s location and name, \p loc_id * and \p name, respectively, and retrieves the metadata describing that object * in \p oinfo, an H5O_info1_t \c struct. - * + * * The \c struct H5O_info1_t is defined in H5Opublic.h and described * in the H5Oget_info1() function entry. - * + * * The link access property list, \p lapl_id, is not currently used; * it should be passed in as #H5P_DEFAULT. * - * \version 1.10.5 The macro #H5Oget_info_by_name was removed and the function + * \version 1.10.5 The macro #H5Oget_info_by_name was removed and the function * H5Oget_info_by_name1() was copied to H5Oget_info_by_name(). * \version 1.10.3 Function H5Oget_info_by_name() was copied to H5Oget_info_by_name1() * and the macro #H5Oget_info_by_name was created. - * \version 1.8.8 Fortran 2003 subroutine and \c h5o_info_t derived type introduced + * \version 1.8.8 Fortran 2003 subroutine and \c h5o_info_t derived type introduced * in this release. * * \since 1.8.0 @@ -2074,7 +2085,7 @@ H5_DLL herr_t H5Oget_info_by_name1(hid_t loc_id, const char *name, H5O_info1_t * *------------------------------------------------------------------------- * \ingroup H5O * - * \brief Retrieves the metadata for an object, identifying the object + * \brief Retrieves the metadata for an object, identifying the object * by an index position * * \fgdta_loc_obj_id{loc_id} @@ -2110,10 +2121,10 @@ H5_DLL herr_t H5Oget_info_by_name1(hid_t loc_id, const char *name, H5O_info1_t * * type H5O_info1_t . * \snippet this H5O_info1_t_snip * - * The link access property list, \c lapl_id, is not currently used; + * The link access property list, \c lapl_id, is not currently used; * it should be passed in as #H5P_DEFAULT. * - * \version 1.10.5 The macro #H5Oget_info_by_idx was removed and the function + * \version 1.10.5 The macro #H5Oget_info_by_idx was removed and the function * H5Oget_info_by_idx() was copied to H5Oget_info_by_idx1(). * \version 1.10.3 Function H5Oget_info_by_idx() was copied to H5Oget_info_by_idx1() * and the macro #H5Oget_info_by_idx was created. @@ -2140,12 +2151,12 @@ H5_DLL herr_t H5Oget_info_by_idx1(hid_t loc_id, const char *group_name, H5_index * \deprecated As of HDF5-1.12 this function has been deprecated in favor of * the function H5Oget_info3() or the macro H5Oget_info(). * - * \details H5Oget_info2() specifies an object by its identifier, \p loc_id , and + * \details H5Oget_info2() specifies an object by its identifier, \p loc_id , and * retrieves the metadata describing that object in \p oinfo , an H5O_info1_t \c struct. * This \c struct type is described in H5Oget_info1(). * - * The \p fields parameter contains flags to determine which fields will be filled in - * the H5O_info1_t \c struct returned in \p oinfo. + * The \p fields parameter contains flags to determine which fields will be filled in + * the H5O_info1_t \c struct returned in \p oinfo. * These flags are defined in the H5Opublic.h file: * * \obj_info_fields @@ -2171,7 +2182,7 @@ H5_DLL herr_t H5Oget_info2(hid_t loc_id, H5O_info1_t *oinfo, unsigned fields); *------------------------------------------------------------------------- * \ingroup H5O * - * \brief Retrieves the metadata for an object, identifying the object + * \brief Retrieves the metadata for an object, identifying the object * by location and relative name * * \fgdta_loc_obj_id{loc_id} @@ -2188,7 +2199,7 @@ H5_DLL herr_t H5Oget_info2(hid_t loc_id, H5O_info1_t *oinfo, unsigned fields); * \details H5Oget_info_by_name2() specifies an object’s location and name, \p loc_id and * \p name, respectively, and retrieves the metadata describing * that object in \p oinfo, an H5O_info1_t \c struct. - * + * * The \c struct H5O_info1_t is defined in H5Opublic.h and described * in the H5Oget_info1() function entry. * @@ -2198,7 +2209,7 @@ H5_DLL herr_t H5Oget_info2(hid_t loc_id, H5O_info1_t *oinfo, unsigned fields); * * \obj_info_fields * - * The link access property list, \p lapl_id, is not currently used; + * The link access property list, \p lapl_id, is not currently used; * it should be passed in as #H5P_DEFAULT. * * \since 1.10.3 @@ -2211,7 +2222,7 @@ H5_DLL herr_t H5Oget_info_by_name2(hid_t loc_id, const char *name, H5O_info1_t * *------------------------------------------------------------------------- * \ingroup H5O * - * \brief Retrieves the metadata for an object, identifying the object + * \brief Retrieves the metadata for an object, identifying the object * by an index position * * \fgdta_loc_obj_id{loc_id} @@ -2236,18 +2247,18 @@ H5_DLL herr_t H5Oget_info_by_name2(hid_t loc_id, const char *name, H5O_info1_t * * \p n within that index. * * \p oinfo, in which the object information is returned, is a \c struct of - * type H5O_info1_t. This and other \c struct types used + * type H5O_info1_t. This and other \c struct types used * by H5Oget_info_by_idx2() are described in H5Oget_info_by_idx1(). * * If \p loc_id fully specifies the group in which the object resides, * i\p group_name can be a dot (\c .). * * The \p fields parameter contains flags to determine which fields will be - * filled in the H5O_info1_t \c struct returned in \p oinfo. + * filled in the H5O_info1_t \c struct returned in \p oinfo. * These flags are defined in the H5Opublic.h file: * \obj_info_fields * - * The link access property list, \c lapl_id, is not currently used; + * The link access property list, \c lapl_id, is not currently used; * it should be passed in as #H5P_DEFAULT. * * \since 1.10.3 @@ -2266,9 +2277,9 @@ H5_DLL herr_t H5Oget_info_by_idx2(hid_t loc_id, const char *group_name, H5_index * \fgdta_loc_obj_id{obj_id} * \idx_type * \order - * \param[in] op Callback function passing data regarding the object + * \param[in] op Callback function passing data regarding the object * to the calling application - * \param[in] op_data User-defined pointer to data required by the application + * \param[in] op_data User-defined pointer to data required by the application * for its processing of the object * * \return On success, returns the return value of the first operator @@ -2282,21 +2293,21 @@ H5_DLL herr_t H5Oget_info_by_idx2(hid_t loc_id, const char *group_name, H5_index * \deprecated As of HDF5-1.12 this function has been deprecated in favor of * the function H5Ovisit3() or the macro #H5Ovisit. * - * \details H5Ovisit1() is a recursive iteration function to visit the - * object \p obj_id and, if \p obj_id is a group, all objects in - * and below it in an HDF5 file, thus providing a mechanism for - * an application to perform a common set of operations across all - * of those objects or a dynamically selected subset. For - * non-recursive iteration across the members of a group, + * \details H5Ovisit1() is a recursive iteration function to visit the + * object \p obj_id and, if \p obj_id is a group, all objects in + * and below it in an HDF5 file, thus providing a mechanism for + * an application to perform a common set of operations across all + * of those objects or a dynamically selected subset. For + * non-recursive iteration across the members of a group, * see H5Literate1(). * * If \p obj_id is a group identifier, that group serves as the * root of a recursive iteration. If \p obj_id is a file identifier, * that file’s root group serves as the root of the recursive - * iteration. If \p obj_id is an attribute identifier, + * iteration. If \p obj_id is an attribute identifier, * then the object where the attribute is attached will be iterated. - * If \p obj_id is any other type of object, such as a dataset or - * named datatype, there is no iteration. + * If \p obj_id is any other type of object, such as a dataset or + * named datatype, there is no iteration. * * Two parameters are used to establish the iteration: \p idx_type * and \p order. @@ -2310,12 +2321,12 @@ H5_DLL herr_t H5Oget_info_by_idx2(hid_t loc_id, const char *group_name, H5_index * * \indexes * - * Note that the index type passed in \p idx_type is a - * best effort setting. If the application passes in - * a value indicating iteration in creation order and a group is - * encountered that was not tracked in creation order, that group - * will be iterated over in alpha-numeric order by name, or - * name order. (Name order is the native order + * Note that the index type passed in \p idx_type is a + * best effort setting. If the application passes in + * a value indicating iteration in creation order and a group is + * encountered that was not tracked in creation order, that group + * will be iterated over in alpha-numeric order by name, or + * name order. (Name order is the native order * used by the HDF5 library and is always available.) * * \p order specifies the order in which objects are to be inspected @@ -2329,27 +2340,27 @@ H5_DLL herr_t H5Oget_info_by_idx2(hid_t loc_id, const char *group_name, H5_index * * \snippet this H5O_iterate1_t_snip * - * The parameters of this callback function have the following values + * The parameters of this callback function have the following values * or meanings: *
* * - * * * * - * * * * - * * * * - * * *
\c objObject that serves as root of the iteration; + * Object that serves as root of the iteration; * same value as the H5Ovisit1() \p obj_id parameter
\c nameName of object, relative to \c obj, being examined at + * Name of object, relative to \c obj, being examined at * current step of the iteration
\c infoH5O_info1_t \c struct containing information + * H5O_info1_t \c struct containing information * regarding that object
\c op_dataUser-defined pointer to data required by the application in + * User-defined pointer to data required by the application in * processing the object
@@ -2358,17 +2369,17 @@ H5_DLL herr_t H5Oget_info_by_idx2(hid_t loc_id, const char *group_name, H5_index * \snippet this H5O_info1_t_snip * * The return values from an operator are: - * - Zero causes the visit iterator to continue, returning zero when all + * - Zero causes the visit iterator to continue, returning zero when all * group members have been processed. - * - A positive value causes the visit iterator to immediately return that + * - A positive value causes the visit iterator to immediately return that * positive value, indicating short-circuit success. - * - A negative value causes the visit iterator to immediately return that + * - A negative value causes the visit iterator to immediately return that * value, indicating failure. * - * The H5Ovisit1() \p op_data parameter is a user-defined pointer to the data - * required to process objects in the course of the iteration. This pointer - * is passed back to each step of the iteration in the callback - * function’s \p op_data parameter. + * The H5Ovisit1() \p op_data parameter is a user-defined pointer to the data + * required to process objects in the course of the iteration. This pointer + * is passed back to each step of the iteration in the callback + * function’s \p op_data parameter. * * H5Lvisit1() and H5Ovisit1() are companion functions: one for * examining and operating on links; the other for examining @@ -2388,7 +2399,7 @@ H5_DLL herr_t H5Oget_info_by_idx2(hid_t loc_id, const char *group_name, H5_index * from normally. * * \note Examples of this kind of routine include callbacks such as - * H5Pset_elink_cb() and H5Pset_type_conv_cb() and + * H5Pset_elink_cb() and H5Pset_type_conv_cb() and * functions such as H5Tconvert() and H5Ewalk2(). * * \note Exiting the routine in its normal fashion allows the HDF5 @@ -2399,10 +2410,10 @@ H5_DLL herr_t H5Oget_info_by_idx2(hid_t loc_id, const char *group_name, H5_index * the routine was called. The C++ application should save some * state as the routine is started so that any problem that occurs * might be diagnosed. - * - * \version 1.10.5 The macro #H5Ovisit was removed and the function + * + * \version 1.10.5 The macro #H5Ovisit was removed and the function * H5Ovisit1() was copied to H5Ovisit(). - * \version 1.10.3 Function H5Ovisit() was copied to H5Ovisit1(), + * \version 1.10.3 Function H5Ovisit() was copied to H5Ovisit1(), * and the macro #H5Ovisit was created. * \version 1.8.8 Fortran subroutine introduced in this release. * @@ -2423,9 +2434,9 @@ H5_DLL herr_t H5Ovisit1(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * \p loc_id, that will serve as root of the iteration * \idx_type * \order - * \param[in] op Callback function passing data regarding the object + * \param[in] op Callback function passing data regarding the object * to the calling application - * \param[in] op_data User-defined pointer to data required by the application + * \param[in] op_data User-defined pointer to data required by the application * for its processing of the object * \lapl_id * @@ -2440,22 +2451,22 @@ H5_DLL herr_t H5Ovisit1(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * \deprecated As of HDF5-1.12 this function has been deprecated in favor of * the function H5Ovisit_by_name3() or the macro #H5Ovisit_by_name. * - * \details H5Ovisit_by_name1() is a recursive iteration function to visit - * the object specified by the \p loc_id / \p obj_name parameter - * pair and, if that object is a group, all objects in and below it - * in an HDF5 file, thus providing a mechanism for an application to - * perform a common set of operations across all of those objects or - * a dynamically selected subset. For non-recursive iteration across + * \details H5Ovisit_by_name1() is a recursive iteration function to visit + * the object specified by the \p loc_id / \p obj_name parameter + * pair and, if that object is a group, all objects in and below it + * in an HDF5 file, thus providing a mechanism for an application to + * perform a common set of operations across all of those objects or + * a dynamically selected subset. For non-recursive iteration across * the members of a group, see H5Literate1(). * * The object serving as the root of the iteration is specified * by the \p loc_id / \p obj_name parameter pair. \p loc_id specifies * a file or an object in a file; if \p loc_id is an attribute identifier, * the object where the attribute is attached will be used. - * \p obj_name specifies either an object in the file (with an absolute - * name based in the file’s root group) or an object name relative + * \p obj_name specifies either an object in the file (with an absolute + * name based in the file’s root group) or an object name relative * to \p loc_id. If \p loc_id fully specifies the object that is to serve - * as the root of the iteration, \p obj_name should be '\c .' (a dot). + * as the root of the iteration, \p obj_name should be '\c .' (a dot). * (Note that when \p loc_id fully specifies the object that is to serve * as the root of the iteration, the user may wish to consider * using H5Ovisit1() instead of H5Ovisit_by_name1().) @@ -2472,12 +2483,12 @@ H5_DLL herr_t H5Ovisit1(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * * \indexes * - * Note that the index type passed in \p idx_type is a - * best effort setting. If the application passes in a - * value indicating iteration in creation order and a group is - * encountered that was not tracked in creation order, that group - * will be iterated over in alpha-numeric order by name, or - * name order. (Name order is the native order + * Note that the index type passed in \p idx_type is a + * best effort setting. If the application passes in a + * value indicating iteration in creation order and a group is + * encountered that was not tracked in creation order, that group + * will be iterated over in alpha-numeric order by name, or + * name order. (Name order is the native order * used by the HDF5 library and is always available.) * * \p order specifies the order in which objects are to be inspected @@ -2506,9 +2517,9 @@ H5_DLL herr_t H5Ovisit1(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * that a link prefix be set in a link access property list * (see H5Pset_elink_prefix()). * - * H5Lvisit_by_name1() and H5Ovisit_by_name1() are companion - * functions: one for examining and operating on links; the other - * for examining and operating on the objects that those links point to. + * H5Lvisit_by_name1() and H5Ovisit_by_name1() are companion + * functions: one for examining and operating on links; the other + * for examining and operating on the objects that those links point to. * Both functions ensure that by the time the function completes * successfully, every link or object below the specified point * in the file has been presented to the application for whatever @@ -2520,7 +2531,7 @@ H5_DLL herr_t H5Ovisit1(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * from normally. * * \note Examples of this kind of routine include callbacks such as - * H5Pset_elink_cb() and H5Pset_type_conv_cb() and + * H5Pset_elink_cb() and H5Pset_type_conv_cb() and * functions such as H5Tconvert() and H5Ewalk2(). * * \note Exiting the routine in its normal fashion allows the HDF5 @@ -2532,9 +2543,9 @@ H5_DLL herr_t H5Ovisit1(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * state as the routine is started so that any problem that occurs * might be diagnosed. * - * \version 1.10.5 The macro #H5Ovisit_by_name was removed and the function + * \version 1.10.5 The macro #H5Ovisit_by_name was removed and the function * H5Ovisit_by_name1() was copied to #H5Ovisit_by_name. - * \version 1.10.3 The H5Ovisit_by_name() function was renamed to H5Ovisit_by_name1(), + * \version 1.10.3 The H5Ovisit_by_name() function was renamed to H5Ovisit_by_name1(), * and the macro #H5Ovisit_by_name was created. * \version 1.8.11 Fortran subroutine introduced in this release. * @@ -2553,11 +2564,11 @@ H5_DLL herr_t H5Ovisit_by_name1(hid_t loc_id, const char *obj_name, H5_index_t i * \fgdta_loc_obj_id{obj_id} * \idx_type * \order - * \param[in] op Callback function passing data regarding the object + * \param[in] op Callback function passing data regarding the object * to the calling application - * \param[in] op_data User-defined pointer to data required by the application + * \param[in] op_data User-defined pointer to data required by the application * for its processing of the object - * \param[in] fields Flags specifying the fields to be retrieved to the + * \param[in] fields Flags specifying the fields to be retrieved to the * callback \p op * * \return On success, returns the return value of the first operator @@ -2571,21 +2582,21 @@ H5_DLL herr_t H5Ovisit_by_name1(hid_t loc_id, const char *obj_name, H5_index_t i * \deprecated As of HDF5-1.12 this function has been deprecated in favor of * the function H5Ovisit3() or the macro #H5Ovisit. * - * \details H5Ovisit2() is a recursive iteration function to visit the - * object \p obj_id and, if \p obj_id is a group, all objects in - * and below it in an HDF5 file, thus providing a mechanism for - * an application to perform a common set of operations across all - * of those objects or a dynamically selected subset. For - * non-recursive iteration across the members of a group, + * \details H5Ovisit2() is a recursive iteration function to visit the + * object \p obj_id and, if \p obj_id is a group, all objects in + * and below it in an HDF5 file, thus providing a mechanism for + * an application to perform a common set of operations across all + * of those objects or a dynamically selected subset. For + * non-recursive iteration across the members of a group, * see H5Literate1(). * * If \p obj_id is a group identifier, that group serves as the * root of a recursive iteration. If \p obj_id is a file identifier, * that file’s root group serves as the root of the recursive - * iteration. If \p obj_id is an attribute identifier, + * iteration. If \p obj_id is an attribute identifier, * then the object where the attribute is attached will be iterated. - * If \p obj_id is any other type of object, such as a dataset or - * named datatype, there is no iteration. + * If \p obj_id is any other type of object, such as a dataset or + * named datatype, there is no iteration. * * Two parameters are used to establish the iteration: \p idx_type * and \p order. @@ -2599,12 +2610,12 @@ H5_DLL herr_t H5Ovisit_by_name1(hid_t loc_id, const char *obj_name, H5_index_t i * * \indexes * - * Note that the index type passed in \p idx_type is a - * best effort setting. If the application passes in - * a value indicating iteration in creation order and a group is - * encountered that was not tracked in creation order, that group - * will be iterated over in alpha-numeric order by name, or - * name order. (Name order is the native order + * Note that the index type passed in \p idx_type is a + * best effort setting. If the application passes in + * a value indicating iteration in creation order and a group is + * encountered that was not tracked in creation order, that group + * will be iterated over in alpha-numeric order by name, or + * name order. (Name order is the native order * used by the HDF5 library and is always available.) * * \p order specifies the order in which objects are to be inspected @@ -2618,28 +2629,28 @@ H5_DLL herr_t H5Ovisit_by_name1(hid_t loc_id, const char *obj_name, H5_index_t i * * \snippet this H5O_iterate1_t_snip * - * The parameters of this callback function have the following values + * The parameters of this callback function have the following values * or meanings: * * * - * * * * - * * * * - * * * * - * * *
\c objObject that serves as root of the iteration; + * Object that serves as root of the iteration; * same value as the H5Ovisit1() \p obj_id parameter
\c nameName of object, relative to \c obj, being examined at + * Name of object, relative to \c obj, being examined at * current step of the iteration
\c infoH5O_info1_t \c struct containing information + * H5O_info1_t \c struct containing information * regarding that object
\c op_dataUser-defined pointer to data required by the application in - * processing the object; a pass-through of the \c op_data pointer + * User-defined pointer to data required by the application in + * processing the object; a pass-through of the \c op_data pointer * provided with the H5Ovisit() function call
@@ -2648,20 +2659,20 @@ H5_DLL herr_t H5Ovisit_by_name1(hid_t loc_id, const char *obj_name, H5_index_t i * described in the H5Oget_info1() function entry. * * The return values from an operator are: - * - Zero causes the visit iterator to continue, returning zero when all + * - Zero causes the visit iterator to continue, returning zero when all * group members have been processed. - * - A positive value causes the visit iterator to immediately return that + * - A positive value causes the visit iterator to immediately return that * positive value, indicating short-circuit success. - * - A negative value causes the visit iterator to immediately return that + * - A negative value causes the visit iterator to immediately return that * value, indicating failure. * - * The H5Ovisit2() \p op_data parameter is a user-defined pointer to the data - * required to process objects in the course of the iteration. This pointer - * is passed back to each step of the iteration in the callback - * function’s \p op_data parameter. + * The H5Ovisit2() \p op_data parameter is a user-defined pointer to the data + * required to process objects in the course of the iteration. This pointer + * is passed back to each step of the iteration in the callback + * function’s \p op_data parameter. * - * The \p fields parameter contains flags to determine which fields will - * be retrieved by the \p op callback function. These flags are defined + * The \p fields parameter contains flags to determine which fields will + * be retrieved by the \p op callback function. These flags are defined * in the H5Opublic.h file: * \obj_info_fields * @@ -2683,7 +2694,7 @@ H5_DLL herr_t H5Ovisit_by_name1(hid_t loc_id, const char *obj_name, H5_index_t i * from normally. * * \note Examples of this kind of routine include callbacks such as - * H5Pset_elink_cb() and H5Pset_type_conv_cb() and + * H5Pset_elink_cb() and H5Pset_type_conv_cb() and * functions such as H5Tconvert() and H5Ewalk2(). * * \note Exiting the routine in its normal fashion allows the HDF5 @@ -2694,7 +2705,7 @@ H5_DLL herr_t H5Ovisit_by_name1(hid_t loc_id, const char *obj_name, H5_index_t i * the routine was called. The C++ application should save some * state as the routine is started so that any problem that occurs * might be diagnosed. - * + * * \since 1.10.3 * */ @@ -2712,11 +2723,11 @@ H5_DLL herr_t H5Ovisit2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * \p loc_id, that will serve as root of the iteration * \idx_type * \order - * \param[in] op Callback function passing data regarding the object + * \param[in] op Callback function passing data regarding the object * to the calling application - * \param[in] op_data User-defined pointer to data required by the application + * \param[in] op_data User-defined pointer to data required by the application * for its processing of the object - * \param[in] fields Flags specifying the fields to be retrieved to the + * \param[in] fields Flags specifying the fields to be retrieved to the * callback function \p op * \lapl_id * @@ -2731,22 +2742,22 @@ H5_DLL herr_t H5Ovisit2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * \deprecated As of HDF5-1.12 this function has been deprecated in favor of * the function H5Ovisit_by_name3() or the macro #H5Ovisit_by_name. * - * \details H5Ovisit_by_name2() is a recursive iteration function to visit - * the object specified by the \p loc_id / \p obj_name parameter - * pair and, if that object is a group, all objects in and below it - * in an HDF5 file, thus providing a mechanism for an application to - * perform a common set of operations across all of those objects or - * a dynamically selected subset. For non-recursive iteration across + * \details H5Ovisit_by_name2() is a recursive iteration function to visit + * the object specified by the \p loc_id / \p obj_name parameter + * pair and, if that object is a group, all objects in and below it + * in an HDF5 file, thus providing a mechanism for an application to + * perform a common set of operations across all of those objects or + * a dynamically selected subset. For non-recursive iteration across * the members of a group, see #H5Literate. * * The object serving as the root of the iteration is specified * by the \p loc_id / \p obj_name parameter pair. \p loc_id specifies * a file or an object in a file; if \p loc_id is an attribute identifier, * the object where the attribute is attached will be used. - * \p obj_name specifies either an object in the file (with an absolute - * name based in the file’s root group) or an object name relative + * \p obj_name specifies either an object in the file (with an absolute + * name based in the file’s root group) or an object name relative * to \p loc_id. If \p loc_id fully specifies the object that is to serve - * as the root of the iteration, \p obj_name should be '\c .' (a dot). + * as the root of the iteration, \p obj_name should be '\c .' (a dot). * (Note that when \p loc_id fully specifies the object that is to serve * as the root of the iteration, the user may wish to consider * using H5Ovisit2() instead of #H5Ovisit_by_name.) @@ -2763,12 +2774,12 @@ H5_DLL herr_t H5Ovisit2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * * \indexes * - * Note that the index type passed in \p idx_type is a - * best effort setting. If the application passes in a - * value indicating iteration in creation order and a group is - * encountered that was not tracked in creation order, that group - * will be iterated over in alpha-numeric order by name, or - * name order. (Name order is the native order + * Note that the index type passed in \p idx_type is a + * best effort setting. If the application passes in a + * value indicating iteration in creation order and a group is + * encountered that was not tracked in creation order, that group + * will be iterated over in alpha-numeric order by name, or + * name order. (Name order is the native order * used by the HDF5 library and is always available.) * * \p order specifies the order in which objects are to be inspected @@ -2797,14 +2808,14 @@ H5_DLL herr_t H5Ovisit2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * that a link prefix be set in a link access property list * (see H5Pset_elink_prefix()). * - * The \p fields parameter contains flags to determine which fields will - * be retrieved by the \p op callback function. These flags are defined + * The \p fields parameter contains flags to determine which fields will + * be retrieved by the \p op callback function. These flags are defined * in the H5Opublic.h file: * \obj_info_fields * - * #H5Lvisit_by_name and #H5Ovisit_by_name are companion - * functions: one for examining and operating on links; the other - * for examining and operating on the objects that those links point to. + * #H5Lvisit_by_name and #H5Ovisit_by_name are companion + * functions: one for examining and operating on links; the other + * for examining and operating on the objects that those links point to. * Both functions ensure that by the time the function completes * successfully, every link or object below the specified point * in the file has been presented to the application for whatever @@ -2816,7 +2827,7 @@ H5_DLL herr_t H5Ovisit2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * from normally. * * \note Examples of this kind of routine include callbacks such as - * H5Pset_elink_cb() and H5Pset_type_conv_cb() and + * H5Pset_elink_cb() and H5Pset_type_conv_cb() and * functions such as H5Tconvert() and H5Ewalk2(). * * \note Exiting the routine in its normal fashion allows the HDF5 @@ -2827,7 +2838,7 @@ H5_DLL herr_t H5Ovisit2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order * the routine was called. The C++ application should save some * state as the routine is started so that any problem that occurs * might be diagnosed. - * + * * \since 1.10.3 * */ diff --git a/src/H5PLpath.c b/src/H5PLpath.c index d566f666618..62ac936dc8e 100644 --- a/src/H5PLpath.c +++ b/src/H5PLpath.c @@ -686,7 +686,7 @@ H5PL__path_table_iterate_process_path(const char *plugin_path, H5PL_iterate_type FUNC_LEAVE_NOAPI(ret_value) } /* end H5PL__path_table_iterate_process_path() */ -#else /* H5_HAVE_WIN32_API */ +#else /* H5_HAVE_WIN32_API */ static herr_t H5PL__path_table_iterate_process_path(const char *plugin_path, H5PL_iterate_type_t iter_type, H5PL_iterate_t iter_op, void *op_data) @@ -908,7 +908,7 @@ H5PL__find_plugin_in_path(const H5PL_search_params_t *search_params, hbool_t *fo FUNC_LEAVE_NOAPI(ret_value) } /* end H5PL__find_plugin_in_path() */ -#else /* H5_HAVE_WIN32_API */ +#else /* H5_HAVE_WIN32_API */ static herr_t H5PL__find_plugin_in_path(const H5PL_search_params_t *search_params, hbool_t *found, const char *dir, const void **plugin_info) diff --git a/src/H5Ppublic.h b/src/H5Ppublic.h index 5624db990a6..dcf91042d78 100644 --- a/src/H5Ppublic.h +++ b/src/H5Ppublic.h @@ -334,8 +334,7 @@ H5_DLL hid_t H5Pcopy(hid_t plist_id); * \since 1.6.0 * */ -H5_DLL herr_t H5Pcopy_prop(hid_t dst_id, hid_t src_id, const -char *name); +H5_DLL herr_t H5Pcopy_prop(hid_t dst_id, hid_t src_id, const char *name); /** * \ingroup GPLO * @@ -567,10 +566,9 @@ H5_DLL hid_t H5Pcreate(hid_t cls_id); * \since 1.4.0 * */ -H5_DLL hid_t H5Pcreate_class(hid_t parent, const char *name, - H5P_cls_create_func_t create, void *create_data, - H5P_cls_copy_func_t copy, void *copy_data, - H5P_cls_close_func_t close, void *close_data); +H5_DLL hid_t H5Pcreate_class(hid_t parent, const char *name, H5P_cls_create_func_t create, void *create_data, + H5P_cls_copy_func_t copy, void *copy_data, H5P_cls_close_func_t close, + void *close_data); /** * \ingroup GPLO * @@ -599,7 +597,7 @@ H5_DLL hid_t H5Pcreate_class(hid_t parent, const char *name, * \since 1.10.0 * */ -H5_DLL hid_t H5Pdecode(const void *buf); +H5_DLL hid_t H5Pdecode(const void *buf); /** * \ingroup GPLO * @@ -645,7 +643,7 @@ H5_DLL hid_t H5Pdecode(const void *buf); * Some properties cannot be encoded, particularly properties that are * reliant on local context. * - * \note \a Motivation: + * \b Motivation: * This function was introduced in HDF5-1.12 as part of the \a H5Sencode * format change to enable 64-bit selection encodings and a dataspace * selection that is tied to a file. @@ -723,7 +721,7 @@ H5_DLL htri_t H5Pexist(hid_t plist_id, const char *name); * \since 1.4.0 * */ -H5_DLL herr_t H5Pget(hid_t plist_id, const char *name, void * value); +H5_DLL herr_t H5Pget(hid_t plist_id, const char *name, void *value); /** *\ingroup GPLO * @@ -1240,10 +1238,9 @@ H5_DLL herr_t H5Pget_size(hid_t id, const char *name, size_t *size); * \since 1.8.0 * */ -H5_DLL herr_t H5Pinsert2(hid_t plist_id, const char *name, size_t size, - void *value, H5P_prp_set_func_t set, H5P_prp_get_func_t get, - H5P_prp_delete_func_t prp_del, H5P_prp_copy_func_t copy, - H5P_prp_compare_func_t compare, H5P_prp_close_func_t close); +H5_DLL herr_t H5Pinsert2(hid_t plist_id, const char *name, size_t size, void *value, H5P_prp_set_func_t set, + H5P_prp_get_func_t get, H5P_prp_delete_func_t prp_del, H5P_prp_copy_func_t copy, + H5P_prp_compare_func_t compare, H5P_prp_close_func_t close); /** * \ingroup GPLOA * @@ -1335,8 +1332,7 @@ H5_DLL htri_t H5Pisa_class(hid_t plist_id, hid_t pclass_id); * \since 1.4.0 * */ -H5_DLL int H5Piterate(hid_t id, int *idx, H5P_iterate_t iter_func, - void *iter_data); +H5_DLL int H5Piterate(hid_t id, int *idx, H5P_iterate_t iter_func, void *iter_data); /** * \ingroup GPLOA * @@ -1620,11 +1616,10 @@ H5_DLL int H5Piterate(hid_t id, int *idx, H5P_iterate_t iter_func, * \since 1.8.0 * */ -H5_DLL herr_t H5Pregister2(hid_t cls_id, const char *name, size_t size, - void *def_value, H5P_prp_create_func_t create, - H5P_prp_set_func_t set, H5P_prp_get_func_t get, - H5P_prp_delete_func_t prp_del, H5P_prp_copy_func_t copy, - H5P_prp_compare_func_t compare, H5P_prp_close_func_t close); +H5_DLL herr_t H5Pregister2(hid_t cls_id, const char *name, size_t size, void *def_value, + H5P_prp_create_func_t create, H5P_prp_set_func_t set, H5P_prp_get_func_t get, + H5P_prp_delete_func_t prp_del, H5P_prp_copy_func_t copy, + H5P_prp_compare_func_t compare, H5P_prp_close_func_t close); /** * \ingroup GPLOA * @@ -1866,12 +1861,9 @@ H5_DLL herr_t H5Pget_attr_phase_change(hid_t plist_id, unsigned *max_compact, un * \since 1.8.0 * */ -H5_DLL H5Z_filter_t H5Pget_filter2(hid_t plist_id, unsigned idx, - unsigned int *flags/*out*/, - size_t *cd_nelmts/*out*/, - unsigned cd_values[]/*out*/, - size_t namelen, char name[], - unsigned *filter_config /*out*/); +H5_DLL H5Z_filter_t H5Pget_filter2(hid_t plist_id, unsigned idx, unsigned int *flags /*out*/, + size_t *cd_nelmts /*out*/, unsigned cd_values[] /*out*/, size_t namelen, + char name[], unsigned *filter_config /*out*/); /** * \ingroup OCPL * @@ -1927,10 +1919,9 @@ H5_DLL H5Z_filter_t H5Pget_filter2(hid_t plist_id, unsigned idx, * \since 1.8.0 * */ -H5_DLL herr_t H5Pget_filter_by_id2(hid_t plist_id, H5Z_filter_t filter_id, - unsigned int *flags/*out*/, size_t *cd_nelmts/*out*/, - unsigned cd_values[]/*out*/, size_t namelen, char name[]/*out*/, - unsigned *filter_config/*out*/); +H5_DLL herr_t H5Pget_filter_by_id2(hid_t plist_id, H5Z_filter_t filter_id, unsigned int *flags /*out*/, + size_t *cd_nelmts /*out*/, unsigned cd_values[] /*out*/, size_t namelen, + char name[] /*out*/, unsigned *filter_config /*out*/); /** * \ingroup OCPL * @@ -2018,9 +2009,8 @@ H5_DLL herr_t H5Pget_obj_track_times(hid_t plist_id, hbool_t *track_times); * \since 1.6.0 * */ -H5_DLL herr_t H5Pmodify_filter(hid_t plist_id, H5Z_filter_t filter, - unsigned int flags, size_t cd_nelmts, - const unsigned int cd_values[/*cd_nelmts*/]); +H5_DLL herr_t H5Pmodify_filter(hid_t plist_id, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, + const unsigned int cd_values[/*cd_nelmts*/]); /** * \ingroup OCPL * @@ -2494,9 +2484,8 @@ H5_DLL herr_t H5Pset_deflate(hid_t plist_id, unsigned level); * \since 1.6.0 * */ -H5_DLL herr_t H5Pset_filter(hid_t plist_id, H5Z_filter_t filter, - unsigned int flags, size_t cd_nelmts, - const unsigned int c_values[]); +H5_DLL herr_t H5Pset_filter(hid_t plist_id, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, + const unsigned int c_values[]); /** * \ingroup OCPL * @@ -2621,7 +2610,8 @@ H5_DLL herr_t H5Pget_file_space_page_size(hid_t plist_id, hsize_t *fsp_size); * \since 1.10.1 * */ -H5_DLL herr_t H5Pget_file_space_strategy(hid_t plist_id, H5F_fspace_strategy_t *strategy, hbool_t *persist, hsize_t *threshold); +H5_DLL herr_t H5Pget_file_space_strategy(hid_t plist_id, H5F_fspace_strategy_t *strategy, hbool_t *persist, + hsize_t *threshold); /** * \ingroup FCPL * @@ -2645,7 +2635,7 @@ H5_DLL herr_t H5Pget_file_space_strategy(hid_t plist_id, H5F_fspace_strategy_t * * \since 1.0.0 * */ -H5_DLL herr_t H5Pget_istore_k(hid_t plist_id, unsigned *ik/*out*/); +H5_DLL herr_t H5Pget_istore_k(hid_t plist_id, unsigned *ik /*out*/); /** * \ingroup FCPL * @@ -2677,7 +2667,8 @@ H5_DLL herr_t H5Pget_istore_k(hid_t plist_id, unsigned *ik/*out*/); * \since 1.8.0 * */ -H5_DLL herr_t H5Pget_shared_mesg_index(hid_t plist_id, unsigned index_num, unsigned *mesg_type_flags, unsigned *min_mesg_size); +H5_DLL herr_t H5Pget_shared_mesg_index(hid_t plist_id, unsigned index_num, unsigned *mesg_type_flags, + unsigned *min_mesg_size); /** * \ingroup FCPL * @@ -2757,8 +2748,7 @@ H5_DLL herr_t H5Pget_shared_mesg_phase_change(hid_t plist_id, unsigned *max_list * \since 1.0.0 * */ -H5_DLL herr_t H5Pget_sizes(hid_t plist_id, size_t *sizeof_addr/*out*/, - size_t *sizeof_size/*out*/); +H5_DLL herr_t H5Pget_sizes(hid_t plist_id, size_t *sizeof_addr /*out*/, size_t *sizeof_size /*out*/); /** * \ingroup FCPL * @@ -2791,7 +2781,7 @@ H5_DLL herr_t H5Pget_sizes(hid_t plist_id, size_t *sizeof_addr/*out*/, * \since 1.0.0 * */ -H5_DLL herr_t H5Pget_sym_k(hid_t plist_id, unsigned *ik/*out*/, unsigned *lk/*out*/); +H5_DLL herr_t H5Pget_sym_k(hid_t plist_id, unsigned *ik /*out*/, unsigned *lk /*out*/); /** * \ingroup FCPL * @@ -2868,7 +2858,8 @@ H5_DLL herr_t H5Pset_file_space_page_size(hid_t plist_id, hsize_t fsp_size); * \since 1.10.1 * */ -H5_DLL herr_t H5Pset_file_space_strategy(hid_t plist_id, H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold); +H5_DLL herr_t H5Pset_file_space_strategy(hid_t plist_id, H5F_fspace_strategy_t strategy, hbool_t persist, + hsize_t threshold); /** * \ingroup FCPL * @@ -2966,7 +2957,8 @@ H5_DLL herr_t H5Pset_istore_k(hid_t plist_id, unsigned ik); * \since 1.8.0 * */ -H5_DLL herr_t H5Pset_shared_mesg_index(hid_t plist_id, unsigned index_num, unsigned mesg_type_flags, unsigned min_mesg_size); +H5_DLL herr_t H5Pset_shared_mesg_index(hid_t plist_id, unsigned index_num, unsigned mesg_type_flags, + unsigned min_mesg_size); /** * \ingroup FCPL * @@ -3058,8 +3050,7 @@ H5_DLL herr_t H5Pset_shared_mesg_phase_change(hid_t plist_id, unsigned max_list, * \since 1.0.0 * */ -H5_DLL herr_t H5Pset_sizes(hid_t plist_id, size_t sizeof_addr, - size_t sizeof_size); +H5_DLL herr_t H5Pset_sizes(hid_t plist_id, size_t sizeof_addr, size_t sizeof_size); /** * \ingroup FCPL * @@ -3142,8 +3133,7 @@ H5_DLL herr_t H5Pset_userblock(hid_t plist_id, hsize_t size); * \since 1.0.0 * */ -H5_DLL herr_t H5Pget_alignment(hid_t fapl_id, hsize_t *threshold/*out*/, - hsize_t *alignment/*out*/); +H5_DLL herr_t H5Pget_alignment(hid_t fapl_id, hsize_t *threshold /*out*/, hsize_t *alignment /*out*/); /** * \ingroup FAPL * @@ -3178,10 +3168,8 @@ H5_DLL herr_t H5Pget_alignment(hid_t fapl_id, hsize_t *threshold/*out*/, * \since 1.0.0 * */ -H5_DLL herr_t H5Pget_cache(hid_t plist_id, - int *mdc_nelmts, /* out */ - size_t *rdcc_nslots/*out*/, - size_t *rdcc_nbytes/*out*/, double *rdcc_w0); +H5_DLL herr_t H5Pget_cache(hid_t plist_id, int *mdc_nelmts, /* out */ + size_t *rdcc_nslots /*out*/, size_t *rdcc_nbytes /*out*/, double *rdcc_w0); /** * \ingroup FAPL * @@ -3381,8 +3369,8 @@ H5_DLL hid_t H5Pget_driver(hid_t plist_id); * */ H5_DLL const void *H5Pget_driver_info(hid_t plist_id); -H5_DLL herr_t H5Pget_elink_file_cache_size(hid_t plist_id, unsigned *efc_size); -H5_DLL herr_t H5Pget_evict_on_close(hid_t fapl_id, hbool_t *evict_on_close); +H5_DLL herr_t H5Pget_elink_file_cache_size(hid_t plist_id, unsigned *efc_size); +H5_DLL herr_t H5Pget_evict_on_close(hid_t fapl_id, hbool_t *evict_on_close); /** * \ingroup FAPL * @@ -3428,8 +3416,7 @@ H5_DLL herr_t H5Pget_family_offset(hid_t fapl_id, hsize_t *offset); */ H5_DLL herr_t H5Pget_fclose_degree(hid_t fapl_id, H5F_close_degree_t *degree); H5_DLL herr_t H5Pget_file_image(hid_t fapl_id, void **buf_ptr_ptr, size_t *buf_len_ptr); -H5_DLL herr_t H5Pget_file_image_callbacks(hid_t fapl_id, - H5FD_file_image_callbacks_t *callbacks_ptr); +H5_DLL herr_t H5Pget_file_image_callbacks(hid_t fapl_id, H5FD_file_image_callbacks_t *callbacks_ptr); H5_DLL herr_t H5Pget_file_locking(hid_t fapl_id, hbool_t *use_file_locking, hbool_t *ignore_when_disabled); /** * \ingroup FAPL @@ -3452,7 +3439,7 @@ H5_DLL herr_t H5Pget_file_locking(hid_t fapl_id, hbool_t *use_file_locking, hboo * \since 1.2.0 * */ -H5_DLL herr_t H5Pget_gc_references(hid_t fapl_id, unsigned *gc_ref/*out*/); +H5_DLL herr_t H5Pget_gc_references(hid_t fapl_id, unsigned *gc_ref /*out*/); /** * \ingroup FAPL * @@ -3483,13 +3470,12 @@ H5_DLL herr_t H5Pget_gc_references(hid_t fapl_id, unsigned *gc_ref/*out*/); * \since 1.8.0 * */ -H5_DLL herr_t H5Pget_libver_bounds(hid_t plist_id, H5F_libver_t *low, - H5F_libver_t *high); -H5_DLL herr_t H5Pget_mdc_config(hid_t plist_id, - H5AC_cache_config_t * config_ptr); /* out */ +H5_DLL herr_t H5Pget_libver_bounds(hid_t plist_id, H5F_libver_t *low, H5F_libver_t *high); +H5_DLL herr_t H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr); /* out */ H5_DLL herr_t H5Pget_mdc_image_config(hid_t plist_id, H5AC_cache_image_config_t *config_ptr /*out*/); -H5_DLL herr_t H5Pget_mdc_log_options(hid_t plist_id, hbool_t *is_enabled, char *location, size_t *location_size, hbool_t *start_on_access); -H5_DLL herr_t H5Pget_meta_block_size(hid_t fapl_id, hsize_t *size/*out*/); +H5_DLL herr_t H5Pget_mdc_log_options(hid_t plist_id, hbool_t *is_enabled, char *location, + size_t *location_size, hbool_t *start_on_access); +H5_DLL herr_t H5Pget_meta_block_size(hid_t fapl_id, hsize_t *size /*out*/); H5_DLL herr_t H5Pget_metadata_read_attempts(hid_t plist_id, unsigned *attempts); /** * \ingroup FAPL @@ -3525,9 +3511,10 @@ H5_DLL herr_t H5Pget_metadata_read_attempts(hid_t plist_id, unsigned *attempts); */ H5_DLL herr_t H5Pget_multi_type(hid_t fapl_id, H5FD_mem_t *type); H5_DLL herr_t H5Pget_object_flush_cb(hid_t plist_id, H5F_flush_cb_t *func, void **udata); -H5_DLL herr_t H5Pget_page_buffer_size(hid_t plist_id, size_t *buf_size, unsigned *min_meta_per, unsigned *min_raw_per); -H5_DLL herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size/*out*/); -H5_DLL herr_t H5Pget_small_data_block_size(hid_t fapl_id, hsize_t *size/*out*/); +H5_DLL herr_t H5Pget_page_buffer_size(hid_t plist_id, size_t *buf_size, unsigned *min_meta_per, + unsigned *min_raw_per); +H5_DLL herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size /*out*/); +H5_DLL herr_t H5Pget_small_data_block_size(hid_t fapl_id, hsize_t *size /*out*/); /** * \ingroup FAPL * @@ -3600,8 +3587,7 @@ H5_DLL herr_t H5Pget_vol_info(hid_t plist_id, void **vol_info); * \since 1.0.0 * */ -H5_DLL herr_t H5Pset_alignment(hid_t fapl_id, hsize_t threshold, - hsize_t alignment); +H5_DLL herr_t H5Pset_alignment(hid_t fapl_id, hsize_t threshold, hsize_t alignment); /** * \ingroup FAPL * @@ -3660,7 +3646,7 @@ H5_DLL herr_t H5Pset_alignment(hid_t fapl_id, hsize_t threshold, * The \p mdc_nelmts parameter is no longer used; any value passed * in that parameter will be ignored. * - * \note \b Motivation: Setting raw data chunk cache parameters + * \b Motivation: Setting raw data chunk cache parameters * can be done with H5Pset_cache(), H5Pset_chunk_cache(), * or a combination of both. H5Pset_cache() is used to * adjust the chunk cache parameters for all datasets via @@ -3696,9 +3682,8 @@ H5_DLL herr_t H5Pset_alignment(hid_t fapl_id, hsize_t threshold, * \since 1.0.0 * */ -H5_DLL herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, - size_t rdcc_nslots, size_t rdcc_nbytes, - double rdcc_w0); +H5_DLL herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, size_t rdcc_nslots, size_t rdcc_nbytes, + double rdcc_w0); H5_DLL herr_t H5Pset_core_write_tracking(hid_t fapl_id, hbool_t is_enabled, size_t page_size); /** * \ingroup FAPL @@ -3726,10 +3711,9 @@ H5_DLL herr_t H5Pset_core_write_tracking(hid_t fapl_id, hbool_t is_enabled, size * documentation. * */ -H5_DLL herr_t H5Pset_driver(hid_t plist_id, hid_t driver_id, - const void *driver_info); -H5_DLL herr_t H5Pset_elink_file_cache_size(hid_t plist_id, unsigned efc_size); -H5_DLL herr_t H5Pset_evict_on_close(hid_t fapl_id, hbool_t evict_on_close); +H5_DLL herr_t H5Pset_driver(hid_t plist_id, hid_t driver_id, const void *driver_info); +H5_DLL herr_t H5Pset_elink_file_cache_size(hid_t plist_id, unsigned efc_size); +H5_DLL herr_t H5Pset_evict_on_close(hid_t fapl_id, hbool_t evict_on_close); H5_DLL herr_t H5Pset_family_offset(hid_t fapl_id, hsize_t offset); /** * \ingroup FAPL @@ -3792,10 +3776,10 @@ H5_DLL herr_t H5Pset_family_offset(hid_t fapl_id, hsize_t offset); * */ H5_DLL herr_t H5Pset_fclose_degree(hid_t fapl_id, H5F_close_degree_t degree); -H5_DLL herr_t H5Pset_file_image(hid_t fapl_id, void *buf_ptr, size_t buf_len); -H5_DLL herr_t H5Pset_file_image_callbacks(hid_t fapl_id, H5FD_file_image_callbacks_t *callbacks_ptr); -H5_DLL herr_t H5Pset_file_locking(hid_t fapl_id, hbool_t use_file_locking, hbool_t ignore_when_disabled); -H5_DLL herr_t H5Pset_gc_references(hid_t fapl_id, unsigned gc_ref); +H5_DLL herr_t H5Pset_file_image(hid_t fapl_id, void *buf_ptr, size_t buf_len); +H5_DLL herr_t H5Pset_file_image_callbacks(hid_t fapl_id, H5FD_file_image_callbacks_t *callbacks_ptr); +H5_DLL herr_t H5Pset_file_locking(hid_t fapl_id, hbool_t use_file_locking, hbool_t ignore_when_disabled); +H5_DLL herr_t H5Pset_gc_references(hid_t fapl_id, unsigned gc_ref); /** * \ingroup FAPL * @@ -3917,7 +3901,8 @@ H5_DLL herr_t H5Pset_gc_references(hid_t fapl_id, unsigned gc_ref); * objects written with this setting may be accessible to a smaller * range of library versions than would be the case if low is set * to #H5F_LIBVER_EARLIEST. - * \li Earlier versions of the library may not be able to access objects created with this setting. + * \li Earlier versions of the library may not be able to access objects created with this + * setting. * * * @@ -3927,17 +3912,16 @@ H5_DLL herr_t H5Pset_gc_references(hid_t fapl_id, unsigned gc_ref); * \since 1.8.0 * */ -H5_DLL herr_t H5Pset_libver_bounds(hid_t plist_id, H5F_libver_t low, - H5F_libver_t high); -H5_DLL herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr); -H5_DLL herr_t H5Pset_mdc_log_options(hid_t plist_id, hbool_t is_enabled, const char *location, - hbool_t start_on_access); -H5_DLL herr_t H5Pset_meta_block_size(hid_t fapl_id, hsize_t size); -H5_DLL herr_t H5Pset_metadata_read_attempts(hid_t plist_id, unsigned attempts); -H5_DLL herr_t H5Pset_multi_type(hid_t fapl_id, H5FD_mem_t type); -H5_DLL herr_t H5Pset_object_flush_cb(hid_t plist_id, H5F_flush_cb_t func, void *udata); -H5_DLL herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size); -H5_DLL herr_t H5Pset_small_data_block_size(hid_t fapl_id, hsize_t size); +H5_DLL herr_t H5Pset_libver_bounds(hid_t plist_id, H5F_libver_t low, H5F_libver_t high); +H5_DLL herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr); +H5_DLL herr_t H5Pset_mdc_log_options(hid_t plist_id, hbool_t is_enabled, const char *location, + hbool_t start_on_access); +H5_DLL herr_t H5Pset_meta_block_size(hid_t fapl_id, hsize_t size); +H5_DLL herr_t H5Pset_metadata_read_attempts(hid_t plist_id, unsigned attempts); +H5_DLL herr_t H5Pset_multi_type(hid_t fapl_id, H5FD_mem_t type); +H5_DLL herr_t H5Pset_object_flush_cb(hid_t plist_id, H5F_flush_cb_t func, void *udata); +H5_DLL herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size); +H5_DLL herr_t H5Pset_small_data_block_size(hid_t fapl_id, hsize_t size); /** * \ingroup FAPL * @@ -3956,7 +3940,7 @@ H5_DLL herr_t H5Pset_small_data_block_size(hid_t fapl_id, hsize_t size); * \since 1.12.0 * */ -H5_DLL herr_t H5Pset_vol(hid_t plist_id, hid_t new_vol_id, const void *new_vol_info); +H5_DLL herr_t H5Pset_vol(hid_t plist_id, hid_t new_vol_id, const void *new_vol_info); #ifdef H5_HAVE_PARALLEL H5_DLL herr_t H5Pset_all_coll_metadata_ops(hid_t plist_id, hbool_t is_collective); @@ -4051,8 +4035,7 @@ H5_DLL herr_t H5Pfill_value_defined(hid_t plist, H5D_fill_value_t *status); * \since 1.6.0 * */ -H5_DLL herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t - *alloc_time/*out*/); +H5_DLL herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t *alloc_time /*out*/); /** * \ingroup DCPL * @@ -4074,7 +4057,7 @@ H5_DLL herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t * \since 1.0.0 * */ -H5_DLL int H5Pget_chunk(hid_t plist_id, int max_ndims, hsize_t dim[]/*out*/); +H5_DLL int H5Pget_chunk(hid_t plist_id, int max_ndims, hsize_t dim[] /*out*/); /** * * \ingroup DCPL @@ -4156,9 +4139,8 @@ H5_DLL herr_t H5Pget_dset_no_attrs_hint(hid_t dcpl_id, hbool_t *minimize); * \since 1.0.0 * */ -H5_DLL herr_t H5Pget_external(hid_t plist_id, unsigned idx, size_t name_size, - char *name/*out*/, off_t *offset/*out*/, - hsize_t *size/*out*/); +H5_DLL herr_t H5Pget_external(hid_t plist_id, unsigned idx, size_t name_size, char *name /*out*/, + off_t *offset /*out*/, hsize_t *size /*out*/); /** * \ingroup DCPL * @@ -4219,8 +4201,7 @@ H5_DLL int H5Pget_external_count(hid_t plist_id); * \since 1.6.0 * */ -H5_DLL herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t - *fill_time/*out*/); +H5_DLL herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t *fill_time /*out*/); /** * \ingroup DCPL * @@ -4257,8 +4238,7 @@ H5_DLL herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t * \since 1.0.0 * */ -H5_DLL herr_t H5Pget_fill_value(hid_t plist_id, hid_t type_id, - void *value/*out*/); +H5_DLL herr_t H5Pget_fill_value(hid_t plist_id, hid_t type_id, void *value /*out*/); /** * \ingroup DCPL * @@ -4313,7 +4293,7 @@ H5_DLL H5D_layout_t H5Pget_layout(hid_t plist_id); * \since 1.10.0 * */ -H5_DLL herr_t H5Pget_virtual_count(hid_t dcpl_id, size_t *count/*out*/); +H5_DLL herr_t H5Pget_virtual_count(hid_t dcpl_id, size_t *count /*out*/); /** * \ingroup DCPL * @@ -4356,8 +4336,7 @@ H5_DLL herr_t H5Pget_virtual_count(hid_t dcpl_id, size_t *count/*out*/); * \since 1.10.0 * */ -H5_DLL ssize_t H5Pget_virtual_dsetname(hid_t dcpl_id, size_t index, - char *name/*out*/, size_t size); +H5_DLL ssize_t H5Pget_virtual_dsetname(hid_t dcpl_id, size_t index, char *name /*out*/, size_t size); /** * \ingroup DCPL * @@ -4401,8 +4380,7 @@ H5_DLL ssize_t H5Pget_virtual_dsetname(hid_t dcpl_id, size_t index, * \since 1.10.0 * */ -H5_DLL ssize_t H5Pget_virtual_filename(hid_t dcpl_id, size_t index, - char *name/*out*/, size_t size); +H5_DLL ssize_t H5Pget_virtual_filename(hid_t dcpl_id, size_t index, char *name /*out*/, size_t size); /** * \ingroup DCPL * @@ -4510,8 +4488,7 @@ H5_DLL hid_t H5Pget_virtual_vspace(hid_t dcpl_id, size_t index); * \since 1.6.0 * */ -H5_DLL herr_t H5Pset_alloc_time(hid_t plist_id, H5D_alloc_time_t - alloc_time); +H5_DLL herr_t H5Pset_alloc_time(hid_t plist_id, H5D_alloc_time_t alloc_time); /** * \ingroup DCPL * @@ -4584,7 +4561,7 @@ H5_DLL herr_t H5Pset_chunk(hid_t plist_id, int ndims, const hsize_t dim[/*ndims* * dataspace are affected by this option. Such chunks are * referred to as partial edge chunks. * - * \note \b Motivation: H5Pset_chunk_opts() is used to specify storage + * \b Motivation: H5Pset_chunk_opts() is used to specify storage * options for chunks on the edge of a dataset’s dataspace. This * capability allows the user to tune performance in cases where * the dataset size may not be a multiple of the chunk size and @@ -4666,8 +4643,7 @@ H5_DLL herr_t H5Pset_dset_no_attrs_hint(hid_t dcpl_id, hbool_t minimize); * \since 1.0.0 * */ -H5_DLL herr_t H5Pset_external(hid_t plist_id, const char *name, off_t offset, - hsize_t size); +H5_DLL herr_t H5Pset_external(hid_t plist_id, const char *name, off_t offset, hsize_t size); /** * \ingroup DCPL * @@ -4759,8 +4735,7 @@ H5_DLL herr_t H5Pset_fill_time(hid_t plist_id, H5D_fill_time_t fill_time); * \since 1.0.0 * */ -H5_DLL herr_t H5Pset_fill_value(hid_t plist_id, hid_t type_id, - const void *value); +H5_DLL herr_t H5Pset_fill_value(hid_t plist_id, hid_t type_id, const void *value); /** * \ingroup DCPL * @@ -4832,13 +4807,6 @@ H5_DLL herr_t H5Pset_shuffle(hid_t plist_id); * */ H5_DLL herr_t H5Pset_layout(hid_t plist_id, H5D_layout_t layout); -//! [nbit_code_snip] -/* -hid_t nbit_datatype = H5Tcopy(H5T_STD_I32LE); -H5Tset_precision(nbit_datatype, 16); -H5Tset_offset(nbit_datatype, 4); -*/ -//! [nbit_code_snip] /** * \ingroup DCPL * @@ -4853,7 +4821,11 @@ H5Tset_offset(nbit_datatype, 4); * * The HDF5 user can create an N-Bit datatype with the following * code: - * \snippet this nbit_code_snip + *
+ *          hid_t nbit_datatype = H5Tcopy(H5T_STD_I32LE);
+ *          H5Tset_precision(nbit_datatype, 16);
+ *          H5Tset_offset(nbit_datatype, 4);
+ *          
* * In memory, one value of the N-Bit datatype in the above example * will be stored on a little-endian machine as follows: @@ -4920,12 +4892,11 @@ H5Tset_offset(nbit_datatype, 4); * other I/O filters. * * \version 1.8.8 Fortran subroutine introduced in this release. - * \todo fix "nbit_code_snip" * * \since 1.8.0 * */ -H5_DLL herr_t H5Pset_nbit(hid_t plist_id); +H5_DLL herr_t H5Pset_nbit(hid_t plist_id); /** * \ingroup DCPL * @@ -5032,7 +5003,7 @@ H5_DLL herr_t H5Pset_nbit(hid_t plist_id); * \since 1.8.0 * */ -H5_DLL herr_t H5Pset_scaleoffset(hid_t plist_id, H5Z_SO_scale_type_t scale_type, int scale_factor); +H5_DLL herr_t H5Pset_scaleoffset(hid_t plist_id, H5Z_SO_scale_type_t scale_type, int scale_factor); /** * \ingroup DCPL * @@ -5188,8 +5159,8 @@ H5_DLL herr_t H5Pset_scaleoffset(hid_t plist_id, H5Z_SO_scale_type_t scale * */ H5_DLL herr_t H5Pset_szip(hid_t plist_id, unsigned options_mask, unsigned pixels_per_block); -H5_DLL herr_t H5Pset_virtual(hid_t dcpl_id, hid_t vspace_id, const char *src_file_name, - const char *src_dset_name, hid_t src_space_id); +H5_DLL herr_t H5Pset_virtual(hid_t dcpl_id, hid_t vspace_id, const char *src_file_name, + const char *src_dset_name, hid_t src_space_id); /* Dataset access property list (DAPL) routines */ /** @@ -5225,8 +5196,8 @@ H5_DLL herr_t H5Pset_virtual(hid_t dcpl_id, hid_t vspace_id, const char *s * \since 1.10.0 * */ -H5_DLL herr_t H5Pget_append_flush(hid_t dapl_id, unsigned dims, - hsize_t boundary[], H5D_append_cb_t *func, void **udata); +H5_DLL herr_t H5Pget_append_flush(hid_t dapl_id, unsigned dims, hsize_t boundary[], H5D_append_cb_t *func, + void **udata); /** * \ingroup DAPL * @@ -5257,10 +5228,8 @@ H5_DLL herr_t H5Pget_append_flush(hid_t dapl_id, unsigned dims, * \since 1.8.3 * */ -H5_DLL herr_t H5Pget_chunk_cache(hid_t dapl_id, - size_t *rdcc_nslots/*out*/, - size_t *rdcc_nbytes/*out*/, - double *rdcc_w0/*out*/); +H5_DLL herr_t H5Pget_chunk_cache(hid_t dapl_id, size_t *rdcc_nslots /*out*/, size_t *rdcc_nbytes /*out*/, + double *rdcc_w0 /*out*/); /** * \ingroup DAPL * @@ -5300,7 +5269,7 @@ H5_DLL herr_t H5Pget_chunk_cache(hid_t dapl_id, * \since 1.10.0, 1.8.17 * */ -H5_DLL ssize_t H5Pget_efile_prefix(hid_t dapl_id, char* prefix /*out*/, size_t size); +H5_DLL ssize_t H5Pget_efile_prefix(hid_t dapl_id, char *prefix /*out*/, size_t size); /** * \ingroup DAPL * @@ -5334,7 +5303,7 @@ H5_DLL ssize_t H5Pget_efile_prefix(hid_t dapl_id, char* prefix /*out*/, size_t s * \since 1.10.2 * */ -H5_DLL ssize_t H5Pget_virtual_prefix(hid_t dapl_id, char* prefix /*out*/, size_t size); +H5_DLL ssize_t H5Pget_virtual_prefix(hid_t dapl_id, char *prefix /*out*/, size_t size); /** * \ingroup DAPL * @@ -5464,8 +5433,8 @@ H5_DLL herr_t H5Pget_virtual_view(hid_t dapl_id, H5D_vds_view_t *view); * \since 1.10.0 * */ -H5_DLL herr_t H5Pset_append_flush(hid_t dapl_id, unsigned ndims, - const hsize_t boundary[], H5D_append_cb_t func, void *udata); +H5_DLL herr_t H5Pset_append_flush(hid_t dapl_id, unsigned ndims, const hsize_t boundary[], + H5D_append_cb_t func, void *udata); /** * \ingroup DAPL * @@ -5535,7 +5504,7 @@ H5_DLL herr_t H5Pset_append_flush(hid_t dapl_id, unsigned ndims, * cause the cache to be too big, then the cache is pruned * according to the \p rdcc_w0 parameter. * - * \note \b Motivation: H5Pset_chunk_cache() is used to adjust the chunk + * \b Motivation: H5Pset_chunk_cache() is used to adjust the chunk * cache parameters on a per-dataset basis, as opposed to a global * setting for the file using H5Pset_cache(). The optimum chunk * cache parameters may vary widely with different data layout and @@ -5544,7 +5513,7 @@ H5_DLL herr_t H5Pset_append_flush(hid_t dapl_id, unsigned ndims, * reduce the size of the chunk cache for datasets whose * performance is not important in order to save memory space. * - * \note \b Example \b Usage: The following code sets the chunk cache to + * \b Example \b Usage: The following code sets the chunk cache to * use a hash table with 12421 elements and a maximum size of * 16 MB, while using the preemption policy specified for the * entire file: @@ -5552,7 +5521,7 @@ H5_DLL herr_t H5Pset_append_flush(hid_t dapl_id, unsigned ndims, * H5Pset_chunk_cache(dapl_id, 12421, 16*1024*1024, * H5D_CHUNK_CACHE_W0_DEFAULT);} * - * \note \b Usage \b Notes: The chunk cache size is a property for + * \b Usage \b Notes: The chunk cache size is a property for * accessing a dataset and is not stored with a dataset or a * file. To guarantee the same chunk cache settings each time * the dataset is opened, call H5Dopen() with a dataset access @@ -5561,32 +5530,31 @@ H5_DLL herr_t H5Pset_append_flush(hid_t dapl_id, unsigned ndims, * list can be used for multiple accesses in the same * application. * - * \note For files where the same chunk cache size will be + * For files where the same chunk cache size will be * appropriate for all or most datasets, H5Pset_cache() can * be called with a file access property list to set the * chunk cache size for accessing all datasets in the file. * - * \note Both methods can be used in combination, in which case + * Both methods can be used in combination, in which case * the chunk cache size set by H5Pset_cache() will apply * except for specific datasets where H5Dopen() is called * with dataset property list with the chunk cache size * set by H5Pset_chunk_cache(). * - * \note In the absence of any cache settings, H5Dopen() will + * In the absence of any cache settings, H5Dopen() will * by default create a 1 MB chunk cache for the opened * dataset. If this size happens to be appropriate, no * call will be needed to either function to set the * chunk cache size. * - * \note It is also possible that a change in access pattern + * It is also possible that a change in access pattern * for later access to a dataset will change the * appropriate chunk cache size. * * \since 1.8.3 * */ -H5_DLL herr_t H5Pset_chunk_cache(hid_t dapl_id, size_t rdcc_nslots, - size_t rdcc_nbytes, double rdcc_w0); +H5_DLL herr_t H5Pset_chunk_cache(hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0); /** * \ingroup DAPL * @@ -5654,7 +5622,7 @@ H5_DLL herr_t H5Pset_chunk_cache(hid_t dapl_id, size_t rdcc_nslots, * \since 1.10.0, 1.8.17 * */ -H5_DLL herr_t H5Pset_efile_prefix(hid_t dapl_id, const char* prefix); +H5_DLL herr_t H5Pset_efile_prefix(hid_t dapl_id, const char *prefix); /** * \ingroup DAPL * @@ -5680,7 +5648,7 @@ H5_DLL herr_t H5Pset_efile_prefix(hid_t dapl_id, const char* prefix); * \since 1.10.2 * */ -H5_DLL herr_t H5Pset_virtual_prefix(hid_t dapl_id, const char* prefix); +H5_DLL herr_t H5Pset_virtual_prefix(hid_t dapl_id, const char *prefix); /** * \ingroup DAPL * @@ -5763,11 +5731,9 @@ H5_DLL herr_t H5Pset_virtual_printf_gap(hid_t dapl_id, hsize_t gap_size); H5_DLL herr_t H5Pset_virtual_view(hid_t dapl_id, H5D_vds_view_t view); /* Dataset xfer property list (DXPL) routines */ -H5_DLL herr_t H5Pget_btree_ratios(hid_t plist_id, double *left/*out*/, - double *middle/*out*/, - double *right/*out*/); -H5_DLL size_t H5Pget_buffer(hid_t plist_id, void **tconv/*out*/, - void **bkg/*out*/); +H5_DLL herr_t H5Pget_btree_ratios(hid_t plist_id, double *left /*out*/, double *middle /*out*/, + double *right /*out*/); +H5_DLL size_t H5Pget_buffer(hid_t plist_id, void **tconv /*out*/, void **bkg /*out*/); /** * * \ingroup DXPL @@ -5804,20 +5770,15 @@ H5_DLL size_t H5Pget_buffer(hid_t plist_id, void **tconv/*out*/, * \since 1.8.0 * */ -H5_DLL ssize_t H5Pget_data_transform(hid_t plist_id, char* expression /*out*/, size_t size); +H5_DLL ssize_t H5Pget_data_transform(hid_t plist_id, char *expression /*out*/, size_t size); H5_DLL H5Z_EDC_t H5Pget_edc_check(hid_t plist_id); -H5_DLL herr_t H5Pget_hyper_vector_size(hid_t fapl_id, size_t *size/*out*/); -H5_DLL int H5Pget_preserve(hid_t plist_id); -H5_DLL herr_t H5Pget_type_conv_cb(hid_t dxpl_id, H5T_conv_except_func_t *op, void** operate_data); -H5_DLL herr_t H5Pget_vlen_mem_manager(hid_t plist_id, - H5MM_allocate_t *alloc_func, - void **alloc_info, - H5MM_free_t *free_func, - void **free_info); -H5_DLL herr_t H5Pset_btree_ratios(hid_t plist_id, double left, double middle, - double right); -H5_DLL herr_t H5Pset_buffer(hid_t plist_id, size_t size, void *tconv, - void *bkg); +H5_DLL herr_t H5Pget_hyper_vector_size(hid_t fapl_id, size_t *size /*out*/); +H5_DLL int H5Pget_preserve(hid_t plist_id); +H5_DLL herr_t H5Pget_type_conv_cb(hid_t dxpl_id, H5T_conv_except_func_t *op, void **operate_data); +H5_DLL herr_t H5Pget_vlen_mem_manager(hid_t plist_id, H5MM_allocate_t *alloc_func, void **alloc_info, + H5MM_free_t *free_func, void **free_info); +H5_DLL herr_t H5Pset_btree_ratios(hid_t plist_id, double left, double middle, double right); +H5_DLL herr_t H5Pset_buffer(hid_t plist_id, size_t size, void *tconv, void *bkg); /** * \ingroup DXPL * @@ -5851,17 +5812,14 @@ H5_DLL herr_t H5Pset_buffer(hid_t plist_id, size_t size, void *tconv, * \since 1.8.0 * */ -H5_DLL herr_t H5Pset_data_transform(hid_t plist_id, const char* expression); +H5_DLL herr_t H5Pset_data_transform(hid_t plist_id, const char *expression); H5_DLL herr_t H5Pset_edc_check(hid_t plist_id, H5Z_EDC_t check); -H5_DLL herr_t H5Pset_filter_callback(hid_t plist_id, H5Z_filter_func_t func, - void* op_data); +H5_DLL herr_t H5Pset_filter_callback(hid_t plist_id, H5Z_filter_func_t func, void *op_data); H5_DLL herr_t H5Pset_hyper_vector_size(hid_t fapl_id, size_t size); H5_DLL herr_t H5Pset_preserve(hid_t plist_id, hbool_t status); -H5_DLL herr_t H5Pset_type_conv_cb(hid_t dxpl_id, H5T_conv_except_func_t op, void* operate_data); -H5_DLL herr_t H5Pset_vlen_mem_manager(hid_t plist_id, - H5MM_allocate_t alloc_func, - void *alloc_info, H5MM_free_t free_func, - void *free_info); +H5_DLL herr_t H5Pset_type_conv_cb(hid_t dxpl_id, H5T_conv_except_func_t op, void *operate_data); +H5_DLL herr_t H5Pset_vlen_mem_manager(hid_t plist_id, H5MM_allocate_t alloc_func, void *alloc_info, + H5MM_free_t free_func, void *free_info); #ifdef H5_HAVE_PARALLEL H5_DLL herr_t H5Pget_mpio_actual_chunk_opt_mode(hid_t plist_id, H5D_mpio_actual_chunk_opt_mode_t *actual_chunk_opt_mode); @@ -5871,20 +5829,221 @@ H5_DLL herr_t H5Pget_mpio_no_collective_cause(hid_t plist_id, uint32_t *local_no #endif /* H5_HAVE_PARALLEL */ /* Link creation property list (LCPL) routines */ -H5_DLL herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd); +/** + * \ingroup ALCAPL + * + * \brief Determines whether property is set to enable creating missing + * intermediate groups + * + * \lcpl_id{plist_id} + * \param[out] crt_intmd Flag specifying whether to create intermediate + * groups upon creation of an object + * + * \return \herr_t + * + * \details H5Pget_create_intermediate_group() determines whether the link + * creation property list \p plist_id is set to allow functions + * that create objects in groups different from the current + * working group to create intermediate groups that may be + * missing in the path of a new or moved object. + * + * Functions that create objects in or move objects to a group + * other than the current working group make use of this + * property. H5Gcreate_anon() and H5Lmove() are examples of such + * functions. + * + * If \p crt_intmd is positive, missing intermediate groups will + * be created; if \p crt_intmd is non-positive, missing intermediate + * groups will not be created. + * + * \since 1.8.0 + * + */ H5_DLL herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd /*out*/); +/** + * \ingroup ALCAPL + * + * \brief Specifies in property list whether to create missing + * intermediate groups + * + * \lcpl_id{plist_id} + * \param[in] crt_intmd Flag specifying whether to create intermediate + * groups upon the creation of an object + * + * \return \herr_t + * + * \details H5Pset_create_intermediate_group() + * + * \since + * + */ +H5_DLL herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd); /* Group creation property list (GCPL) routines */ -H5_DLL herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint); -H5_DLL herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint /*out*/); -H5_DLL herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense); +H5_DLL herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries /* out */, + unsigned *est_name_len /* out */); +/** + * \ingroup GCPL + * + * \brief Queries whether link creation order is tracked and/or indexed in + * a group + * + * \param[in] plist_id Group or file creation property list + * identifier + * \param[out] crt_order_flags Creation order flag(s) + * + * \return \herr_t + * + * \details H5Pget_link_creation_order() queries the group or file creation + * property list, \p plist_id, and returns a flag indicating whether + * link creation order is tracked and/or indexed in a group. + * + * See H5Pset_link_creation_order() for a list of valid creation + * order flags, as passed in \p crt_order_flags, and their + * meanings. + * + * \since 1.8.0 + * + */ +H5_DLL herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags /* out */); +/** + * \ingroup GCPL + * + * \brief Queries the settings for conversion between compact and dense + * groups + * + * \gcpl_id{plist_id} + * \param[out] max_compact Maximum number of links for compact storage + * \param[out] min_dense Minimum number of links for dense storage + * + * \return \herr_t + * + * \details H5Pget_link_phase_change() queries the maximum number of + * entries for a compact group and the minimum number of links + * to require before converting a group to a dense form. + * + * In the compact format, links are stored as messages in the + * group’s header. In the dense format, links are stored in a + * fractal heap and indexed with a version 2 B-tree. + * + * \p max_compact is the maximum number of links to store as + * header messages in the group header before converting the + * group to the dense format. Groups that are in the compact + * format and exceed this number of links are automatically + * converted to the dense format. + * + * \p min_dense is the minimum number of links to store in the + * dense format. Groups which are in dense format and in which + * the number of links falls below this number are automatically + * converted back to the compact format. + * + * In the compact format, links are stored as messages in the + * group’s header. In the dense format, links are stored in a + * fractal heap and indexed with a version 2 B-tree. + * + * See H5Pset_link_phase_change() for a discussion of + * traditional, compact, and dense group storage. + * + * \since 1.8.0 + * + */ H5_DLL herr_t H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact /*out*/, unsigned *min_dense /*out*/); +H5_DLL herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint /*out*/); H5_DLL herr_t H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len); -H5_DLL herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries /* out */, - unsigned *est_name_len /* out */); +/** + * \ingroup GCPL + * + * \brief Sets creation order tracking and indexing for links in a group + * + * \param[in] plist_id Group or file creation property list + * identifier + * \param[out] crt_order_flags Creation order flag(s) + * + * \return \herr_t + * + * \details H5Pset_link_creation_order() sets flags for tracking and + * indexing links on creation order in groups created with the + * group (or file) creation property list \p plist_id. + * + * \p crt_order_flags contains flags with the following meanings: + * + * + * + * + * + * + * + * + * + * + *
#H5P_CRT_ORDER_TRACKEDLink creation order is tracked but not necessarily + * indexed
#H5P_CRT_ORDER_INDEXEDLink creation order is indexed (requires + * #H5P_CRT_ORDER_TRACKED)
+ * + * The default behavior is that links are tracked and indexed by + * name, and link creation order is neither tracked nor indexed. + * The name is always the primary index for links in a group. + * + * H5Pset_link_creation_order() can be used to set link creation + * order tracking, or to set link creation order tracking and + * indexing. + * + * If (#H5P_CRT_ORDER_TRACKED | #H5P_CRT_ORDER_INDEXED) is + * specified for \p crt_order_flags, then links will be tracked + * and indexed by creation order. The creation order is added as + * a secondary index and enables faster queries and iterations + * by creation order. + * + * If just #H5P_CRT_ORDER_TRACKED is specified for + * \p crt_order_flags, then links will be tracked by creation + * order, but not indexed by creation order. Queries and iterations + * by creation order will work but will be much slower for large + * groups than if #H5P_CRT_ORDER_INDEXED had been included. + * + * \note If a creation order index is to be built, it must be specified in + * the group creation property list. HDF5 currently provides no + * mechanism to turn on link creation order tracking at group + * creation time and to build the index later. + * + * \since 1.8.0 + * + */ H5_DLL herr_t H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags); -H5_DLL herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags /* out */); +/** + * \ingroup GCPL + * + * \brief Sets the parameters for conversion between compact and dense + * groups + * + * \gcpl_id{plist_id} + * \param[in] max_compact Maximum number of links for compact storage + * (\a Default: 8) + * \param[in] min_dense Minimum number of links for dense storage + * (\a Default: 6) + * + * \return \herr_t + * + * \details H5Pset_link_phase_change() sets the maximum number of entries + * for a compact group and the minimum number of links to allow + * before converting a dense group back to the compact format. + * + * \p max_compact is the maximum number of links to store as + * header messages in the group header before converting the + * group to the dense format. Groups that are in compact format + * and which exceed this number of links are automatically + * converted to dense format. + * + * \p min_dense is the minimum number of links to store in the + * dense format. Groups which are in dense format and in which + * the number of links falls below this threshold are + * automatically converted to compact format. + * + * \since 1.8.0 + * + */ +H5_DLL herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense); +H5_DLL herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint); /* Map access property list (MAPL) routines */ #ifdef H5_HAVE_MAP_API @@ -5894,28 +6053,851 @@ H5_DLL herr_t H5Pget_map_iterate_hints(hid_t mapl_id, size_t *key_prefetch_size #endif /* H5_HAVE_MAP_API */ /* String creation property list (STRCPL) routines */ -H5_DLL herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding); +/** + * \ingroup ALCAPL + * + * \brief Retrieves the character encoding used to create a link or + * attribute name + * + * \param[in] plist_id Link creation or attribute creation property list + * identifier + * \param[out] encoding String encoding character set + * + * \return \herr_t + * + * \details H5Pget_char_encoding() retrieves the character encoding used + * to encode link or attribute names that are created with the + * property list \p plist_id. + * + * Valid values for \p encoding are defined in H5Tpublic.h and + * include the following: + * + * \csets + * + * \note H5Pget_char_encoding() retrieves the character set used for an + * HDF5 link or attribute name while H5Tget_cset() retrieves the + * character set used in a character or string datatype. + * + * \since 1.8.0 + * + */ H5_DLL herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding /*out*/); +/** + * \ingroup ALCAPL + * + * \brief Sets the character encoding used to encode link and attribute + * names + * + * \param[in] plist_id Link creation or attribute creation property list + * identifier + * \param[in] encoding String encoding character set + * + * \return \herr_t + * + * \details H5Pset_char_encoding() sets the character encoding used for + * the names of links (which provide the names by which objects + * are referenced) or attributes created with the property list + * \p plist_id. + * + * Valid values for encoding include the following: + * \csets + * \details For example, if the character set for the property list + * \p plist_id is set to #H5T_CSET_UTF8, link names pointing to + * objects created with the link creation property list + * \p plist_id will be encoded using the UTF-8 character set. + * Similarly, names of attributes created with the attribute + * creation property list \p plist_id will be encoded as UTF-8. + * + * ASCII and UTF-8 Unicode are the only currently supported + * character encodings. Extended ASCII encodings (for example, + * ISO 8859) are not supported. This encoding policy is not + * enforced by the HDF5 library. Using encodings other than + * ASCII and UTF-8 can lead to compatibility and usability + * problems. + * + * \note H5Pset_char_encoding() sets the character set used for an + * HDF5 link or attribute name while H5Tset_cset() sets the + * character set used in a character or string datatype. + * + * \since 1.8.0 + * + */ +H5_DLL herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding); /* Link access property list (LAPL) routines */ -H5_DLL herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks); -H5_DLL herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks); -H5_DLL herr_t H5Pset_elink_prefix(hid_t plist_id, const char *prefix); +/** + * \ingroup LAPL + * + * \brief Retrieves the external link traversal file access flag from the + * specified link access property list + * + * \lapl_id + * \param[out] flags File access flag for link traversal + * + * \return \herr_t + * + * \details H5Pget_elink_acc_flags() retrieves the file access flag used + * to open an external link target file from the specified link + * access property list. + * + * Valid values for \p flags include: + * \li #H5F_ACC_RDWR - Files opened through external links will + * be opened with write access + * \li #H5F_ACC_RDONLY - Files opened through external links will + * be opened with read-only access + * \li #H5F_ACC_DEFAULT - Files opened through external links will + * be opened with the same access flag as + * the parent file + * + * The value returned, if it is not #H5F_ACC_DEFAULT, will + * override the default access flag, which is the access flag + * used to open the parent file. + * + * Example Usage: + * The following code retrieves the external link access flag + * settings on the link access property list \p lapl_id into a + * local variable: + *
+ *         unsigned acc_flags;
+ *         status = H5Pget_elink_acc_flags(lapl_id, &acc_flags);
+ *       
+ * + * \since 1.8.3 + * + */ +H5_DLL herr_t H5Pget_elink_acc_flags(hid_t lapl_id, unsigned *flags); +/** + * \ingroup LAPL + * + * \brief Retrieves the external link traversal callback function from the + * specified link access property list + * + * \lapl_id + * \param[out] func User-defined external link traversal callback + * function + * \param[out] op_data User-defined input data for the callback function + * + * \return \herr_t + * + * \details H5Pget_elink_cb() retrieves the user-defined external link + * traversal callback function defined in the specified link + * access property list. + * + * The callback function may adjust the file access property + * list and file access flag to use when opening a file through + * an external link. The callback will be executed by the HDF5 + * library immediately before opening the target file. + * + * Failure Modes: H5Pget_elink_cb() will fail if the link + * access property list identifier, \p lapl_id, is invalid. + * + * An invalid function pointer or data pointer, \p func or + * \p op_data respectively, may cause a segmentation fault or an + * invalid memory access. + * + * Example Usage: The following code retrieves the external + * link callback settings on the link access property list + * \p lapl_id into local variables: + *
+ *       H5L_elink_traverse_t elink_callback_func;
+ *       void *elink_callback_udata;
+ *       status = H5Pget_elink_cb (lapl_id, &elink_callback_func,
+ *                                 &elink_callback_udata);
+ *       
+ * + * \since 1.8.3 + * + */ +H5_DLL herr_t H5Pget_elink_cb(hid_t lapl_id, H5L_elink_traverse_t *func, void **op_data); +/** + * \ingroup LAPL + * + * \brief Retrieves the file access property list identifier associated + * with the link access property list + * + * \lapl_id + * + * \return \hid_t{file access property list} + * + * \details H5Pget_elink_fapl() retrieves the file access property list + * identifier that is set for the link access property list + * identifier, \p lapl_id. The library uses this file access + * property list identifier to open the target file for the + * external link access. When no such identifier is set, this + * routine returns #H5P_DEFAULT. + * + * \see H5Pset_elink_fapl() and H5Lcreate_external(). + * + * \since 1.8.0 + * + */ +H5_DLL hid_t H5Pget_elink_fapl(hid_t lapl_id); +/** + * \ingroup LAPL + * + * \brief Retrieves prefix applied to external link paths + * + * \lapl_id{plist_id} + * \param[out] prefix Prefix applied to external link paths + * \param[in] size Size of prefix, including null terminator + * + * \return If successful, returns a non-negative value specifying the size + * in bytes of the prefix without the NULL terminator; otherwise + * returns a negative value. + * + * \details H5Pget_elink_prefix() retrieves the prefix applied to the + * path of any external links traversed. + * + * When an external link is traversed, the prefix is retrieved + * from the link access property list \p plist_id, returned in + * the user-allocated buffer pointed to by \p prefix, and + * prepended to the filename stored in the external link. + * + * The size in bytes of the prefix, including the NULL terminator, + * is specified in \p size. If size is unknown, a preliminary + * H5Pget_elink_prefix() call with the pointer \p prefix set to + * NULL will return the size of the prefix without the NULL + * terminator. + * + * \since 1.8.0 + * + */ H5_DLL ssize_t H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size); -H5_DLL hid_t H5Pget_elink_fapl(hid_t lapl_id); -H5_DLL herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id); -H5_DLL herr_t H5Pset_elink_acc_flags(hid_t lapl_id, unsigned flags); -H5_DLL herr_t H5Pget_elink_acc_flags(hid_t lapl_id, unsigned *flags); -H5_DLL herr_t H5Pset_elink_cb(hid_t lapl_id, H5L_elink_traverse_t func, void *op_data); -H5_DLL herr_t H5Pget_elink_cb(hid_t lapl_id, H5L_elink_traverse_t *func, void **op_data); +/** + * \ingroup LAPL + * + * \brief Retrieves the maximum number of link traversals + * + * \lapl_id{plist_id} + * \param[out] nlinks Maximum number of links to traverse + * + * \return \herr_t + * + * \details H5Pget_nlinks() retrieves the maximum number of soft or + * user-defined link traversals allowed, \p nlinks, before the + * library assumes it has found a cycle and aborts the traversal. + * This value is retrieved from the link access property list + * \p plist_id. + * + * The limit on the number of soft or user-defined link traversals + * is designed to terminate link traversal if one or more links + * form a cycle. User control is provided because some files may + * have legitimate paths formed of large numbers of soft or + * user-defined links. This property can be used to allow + * traversal of as many links as desired. + * + * \since 1.8.0 + * + */ +H5_DLL herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks); +/** + * \ingroup LAPL + * + * \brief Sets the external link traversal file access flag in a link + * access property list + * + * \lapl_id + * \param[in] flags The access flag for external link traversal + * + * \return \herr_t + * + * \details H5Pset_elink_acc_flags() specifies the file access flag to use + * to open the target file of an external link. This allows + * read-only access of files reached through an external link in + * a file opened with write access, or vice-versa. + * + * Valid values for \p flags include: + * \li #H5F_ACC_RDWR - Causes files opened through external links + * to be opened with write access + * \li #H5F_ACC_RDONLY - Causes files opened through external + * links to be opened with read-only access + * \li #H5F_ACC_DEFAULT - Removes any external link file access + * flag setting from \p lapl_id, causing the file access flag + * setting to be taken from the parent file + * + * The library will normally use the file access flag used to + * open the parent file as the file access flag for the target + * file. This function provides a way to override that behavior. + * The external link traversal callback function set by + * H5Pset_elink_cb() can override the setting from + * H5Pset_elink_acc_flags(). + * + * Motivation: H5Pset_elink_acc_flags() is used to adjust the + * file access flag used to open files reached through external links. + * This may be useful to, for example, prevent modifying files + * accessed through an external link. Otherwise, the target file is + * opened with whatever flag was used to open the parent. + * + * Example Usage: The following code sets the link access + * property list \p lapl_id to open external link target files with + * read-only access: + *
+ *         status = H5Pset_elink_acc_flags(lapl_id, H5F_ACC_RDONLY);
+ *        
+ * + * \since 1.8.3 + * + */ +H5_DLL herr_t H5Pset_elink_acc_flags(hid_t lapl_id, unsigned flags); +/** + * \ingroup LAPL + * + * \brief Sets the external link traversal callback function in a link + * access property list + * + * \lapl_id + * \param[in] func User-defined external link traversal callback + * function + * \param[in] op_data User-defined input data for the callback function + * + * \return \herr_t + * + * \details H5Pset_elink_cb() sets a user-defined external link traversal + * callback function in the link access property list \p lapl_id. + * The callback function \p func must conform to the prototype + * specified in #H5L_elink_traverse_t. + * + * The callback function may adjust the file access property + * list and file access flags to use when opening a file through + * an external link. The callback will be executed by the HDF5 + * library immediately before opening the target file. + * + * The callback will be made after the file access property list + * set by H5Pset_elink_fapl() and the file access flag set by + * H5Pset_elink_acc_flags() are applied, so changes made by this + * callback function will take precedence. + * + * \attention A file close degree property setting (H5Pset_fclose_degree()) + * in this callback function or an associated property list will + * be ignored. A file opened by means of traversing an external + * link is always opened with the weak file close degree + * property setting, #H5F_CLOSE_WEAK. + * + * Motivation: H5Pset_elink_cb() is used to specify a + * callback function that is executed by the HDF5 library when + * traversing an external link. This provides a mechanism to set + * specific access permissions, modify the file access property + * list, modify the parent or target file, or take any other + * user-defined action. This callback function is used in + * situations where the HDF5 library's default behavior is not + * suitable. + * + * Failure Modes: H5Pset_elink_cb() will fail if the link + * access property list identifier, \p lapl_id, is invalid or if + * the function pointer, \p func, is NULL. + * + * An invalid function pointer, \p func, will cause a segmentation + * fault or other failure when an attempt is subsequently made to + * traverse an external link. + * + * Example Usage: + * This example defines a callback function that prints the name + * of the target file every time an external link is followed, and + * sets this callback function on \p lapl_id. + *
+ *          herr_t elink_callback(const char *parent_file_name, const char
+ *                 *parent_group_name, const char *child_file_name, const char
+ *                 *child_object_name, unsigned *acc_flags, hid_t fapl_id, void *op_data) {
+ *              puts(child_file_name);
+ *              return 0;
+ *          }
+ *          int main(void) {
+ *              hid_t lapl_id = H5Pcreate(H5P_LINK_ACCESS);
+ *              H5Pset_elink_cb(lapl_id, elink_callback, NULL);
+ *                ...
+ *          }
+ *          
+ * + * + * \todo Add Programming Note for C++ Developers Using C Functions + * + * + * \since 1.8.3 + * + */ +H5_DLL herr_t H5Pset_elink_cb(hid_t lapl_id, H5L_elink_traverse_t func, void *op_data); +/** + * \ingroup LAPL + * + * \brief Sets a file access property list for use in accessing a file + * pointed to by an external link + * + * \lapl_id + * \fapl_id + * + * \return \herr_t + * + * \details H5Pset_elink_fapl() sets the file access property list, + * \p fapl_id, to be used when accessing the target file of an + * external link associated with \p lapl_id. + * + * \since 1.8.0 + * + */ +H5_DLL herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id); +/** + * \ingroup LAPL + * + * \brief Sets prefix to be applied to external link paths + * + * \lapl_id{plist_id} + * \param[in] prefix Prefix to be applied to external link paths + * + * \return \herr_t + * + * \details H5Pset_elink_prefix() sets the prefix to be applied to the + * path of any external links traversed. The prefix is prepended + * to the filename stored in the external link. + * + * The prefix is specified in the user-allocated buffer \p prefix + * and set in the link access property list \p plist_id. The buffer + * should not be freed until the property list has been closed. + * + * \since 1.8.0 + * + */ +H5_DLL herr_t H5Pset_elink_prefix(hid_t plist_id, const char *prefix); +/** + * \ingroup LAPL + * + * \brief Sets maximum number of soft or user-defined link traversals + * + * \lapl_id{plist_id} + * \param[in] nlinks Maximum number of links to traverse + * + * \return \herr_t + * + * \details H5Pset_nlinks() sets the maximum number of soft or user-defined + * link traversals allowed, \p nlinks, before the library assumes + * it has found a cycle and aborts the traversal. This value is + * set in the link access property list \p plist_id. + * + * The limit on the number of soft or user-defined link traversals + * is designed to terminate link traversal if one or more links + * form a cycle. User control is provided because some files may + * have legitimate paths formed of large numbers of soft or + * user-defined links. This property can be used to allow + * traversal of as many links as desired. + * + * \since 1.8.0 + * + */ +H5_DLL herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks); /* Object copy property list (OCPYPL) routines */ -H5_DLL herr_t H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd); -H5_DLL herr_t H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd /*out*/); +/** + * \ingroup OCPPL + * + * \brief Adds a path to the list of paths that will be searched in the + * destination file for a matching committed datatype + * + * \param[in] plist_id Object copy property list identifier + * \param[in] path The path to be added + * + * \return \herr_t + * + * \details H5Padd_merge_committed_dtype_path() adds a path, \p path, + * which points to a committed datatype, to the current list of + * suggested paths stored in the object copy property list + * \p plist_id. The search as described in the next paragraph is + * effective only if the #H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG is + * enabled in the object copy property list via + * H5Pset_copy_object(). + * + * When copying a committed datatype, a dataset with a committed + * datatype, or an object with an attribute of a committed + * datatype, the default behavior of H5Ocopy() is to search for + * a matching committed datatype: + *
    + *
  1. First search the list of suggested paths in the object + * copy property list.
  2. + *
  3. Then, if no match has been found, search all the committed + * datatypes in the destination file. + *
+ * The default Step 2 in this search process can be changed by + * setting a callback function (see H5Pset_mcdt_search_cb()). + * + * Two datatypes are determined equal if their descriptions are + * identical, in a manner similar to H5Tequal(). If either + * committed datatype has one or more attributes, then all + * attributes must be present in both committed datatypes and they + * must be identical. Two attributes are considered identical if + * their datatype description, dataspace, and raw data values are + * the same. However, if an attribute uses a committed datatype, + * that committed datatype’s attributes will not be compared. + * + * If a match is found, H5Ocopy() will perform the following in + * the destination file: + * \li For a committed datatype, the library will create a hard + * link to the found datatype. + * \li For a dataset that uses a committed datatype, the library + * will modify the copied dataset to use the found committed + * datatype as its datatype. + * \li For an object with an attribute of a committed datatype, + * the library will modify the copied object’s attribute to + * use the found committed datatype as its datatype. + * + * If no match is found, H5Ocopy() will perform the following in + * the destination file: + * \li For a committed datatype, the library will copy it as it + * would any other object, creating a named committed + * datatype at the destination. That is, the library will + * create a committed datatype that is accessible in the + * file by a unique path. + * \li For a dataset that uses a committed datatype, the + * library will copy the datatype as an anonymous + * committed datatype and use that as the dataset’s + * datatype. + * \li For an object with an attribute of a committed datatype, + * the library will copy the datatype as an anonymous + * committed datatype and use that as the attribute’s + * datatype. + * + * \b Motivation: H5Padd_merge_committed_dtype_path() provides a + * means to override the default behavior of H5Ocopy() when + * #H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG is set in an object + * copy property list. + * H5Padd_merge_committed_dtype_path() is the mechanism for + * suggesting search paths where H5Ocopy() will look for a + * matching committed datatype. This can be substantially + * faster than the default approach of searching the entire + * destination file for a match. + * + * \b Example \b Usage: This example adds two paths to the object + * copy property list. H5Ocopy() will search the two suggested + * paths for a match before searching all the committed datatypes + * in the destination file. + * + *
+ *     int main(void) {
+ *     hid_t ocpypl_id = H5Pcreate(H5P_OBJECT_COPY);
+ *
+ *        H5Pset_copy_object(ocpypl_id, H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG);
+ *        H5Padd_merge_committed_dtype_path(ocpypl_id, "/group/committed_dtypeA");
+ *        H5Padd_merge_committed_dtype_path(ocpypl_id, "/group2/committed_dset");
+ *        H5Ocopy(...ocpypl_id...);
+ *        ...
+ *        ...
+ *     }
+ *     
+ * + * \note H5Padd_merge_committed_dtype_path() will fail if the object + * copy property list is invalid. + * It will also fail if there is insufficient memory when + * duplicating \p path. + * + * \see + * \li H5Ocopy() + * \li #H5O_mcdt_search_cb_t + * \li H5Padd_merge_committed_dtype_path() + * \li H5Pfree_merge_committed_dtype_paths() + * \li H5Pget_mcdt_search_cb() + * \li H5Pset_copy_object() + * \li H5Pset_mcdt_search_cb() + * + * \todo missing link to "Copying Committed Datatypes with H5Ocopy - A + * comprehensive discussion of copying committed datatypes (PDF) + * in Advanced Topics in HDF5 + * + * \since 1.8.9 + * + */ H5_DLL herr_t H5Padd_merge_committed_dtype_path(hid_t plist_id, const char *path); +/** + * \ingroup OCPPL + * + * \brief Clears the list of paths stored in the object copy property list + * + * \param[in] plist_id Object copy property list identifier + * + * \return \herr_t + * + * \details H5Pfree_merge_committed_dtype_paths() clears the suggested + * paths stored in the object copy property list \p plist_id. + * These are the suggested paths previously set with + * H5Padd_merge_committed_dtype_path(). + * + * \b Example \b Usage: This example adds a suggested path to the + * object copy property list, does the copy, clears the list, and + * then adds a new suggested path to the list for another copy. + * + *
+ *       int main(void) {
+ *           hid_t ocpypl_id = H5Pcreate(H5P_OBJECT_COPY);
+ *
+ *           H5Pset_copy_object(ocpypl_id, H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG);
+ *           H5Padd_merge_committed_dtype_path(ocpypl_id, "/group/committed_dtypeA");
+ *           H5Ocopy(...ocpypl_id...);
+ *           ...
+ *           ...
+ *           H5Pfree_merge_committed_dtype_paths(ocpypl_id);
+ *           H5Padd_merge_committed_dtype_path(ocpypl_id, "/group2/committed_dtypeB");
+ *           H5Ocopy(...ocpypl_id...);
+ *           ...
+ *           ...
+ *       }
+ *       
+ * + * \note H5Pfree_merge_committed_dtype_paths() will fail if the + * object copy property list is invalid. + * + * \see + * \li H5Ocopy() + * \li #H5O_mcdt_search_cb_t + * \li H5Padd_merge_committed_dtype_path() + * \li H5Pfree_merge_committed_dtype_paths() + * \li H5Pget_mcdt_search_cb() + * \li H5Pset_copy_object() + * \li H5Pset_mcdt_search_cb() + * + * \since 1.8.9 + * + */ H5_DLL herr_t H5Pfree_merge_committed_dtype_paths(hid_t plist_id); -H5_DLL herr_t H5Pset_mcdt_search_cb(hid_t plist_id, H5O_mcdt_search_cb_t func, void *op_data); +/** + * \ingroup OCPPL + * + * \brief Retrieves the properties to be used when an object is copied + * + * \param[in] plist_id Object copy property list identifier + * \param[out] copy_options Copy option(s) set in the object copy property + * list + * + * \return \herr_t + * + * \details H5Pget_copy_object() retrieves the properties currently + * specified in the object copy property list \p plist_id, which + * will be invoked when a new copy is made of an existing object. + * + * \p copy_options is a bit map indicating the flags, or + * properties, governing object copying that are set in the + * property list \p plist_id. + * + * The available flags are described in H5Pset_copy_object(). + * + * \since 1.8.0 + * + */ +H5_DLL herr_t H5Pget_copy_object(hid_t plist_id, unsigned *copy_options /*out*/); +/** + * \ingroup OCPPL + * + * \brief Retrieves the callback function from the specified object copy + * property list + * + * \param[in] plist_id Object copy property list identifier + * \param[out] func User-defined callback function + * \param[out] op_data User-defined data for the callback + * function + * + * \return \herr_t + * + * \details H5Pget_mcdt_search_cb() retrieves the user-defined callback + * function and the user data that are set via + * H5Pset_mcdt_search_cb() in the object copy property list + * \p plist_id. + * + * The callback function will be returned in the parameter \p func + * and the user data will be returned in the parameter \p op_data. + * + * \note H5Pget_mcdt_search_cb() will fail if the object copy property + * list is invalid. + * + * \see + * \li H5Ocopy() + * \li #H5O_mcdt_search_cb_t + * \li H5Padd_merge_committed_dtype_path() + * \li H5Pfree_merge_committed_dtype_paths() + * \li H5Pget_mcdt_search_cb() + * \li H5Pset_copy_object() + * \li H5Pset_mcdt_search_cb() + * + * \todo Link to Copying Committed Datatypes with H5Ocopy was removed. + * + * \since 1.8.9 + * + */ H5_DLL herr_t H5Pget_mcdt_search_cb(hid_t plist_id, H5O_mcdt_search_cb_t *func, void **op_data); +/** + * \ingroup OCPPL + * + * \brief Sets properties to be used when an object is copied + * + * \param[in] plist_id Object copy property list identifier + * \param[out] copy_options Copy option(s) to be set + * + * \return \herr_t + * + * \details H5Pset_copy_object() sets properties in the object copy + * property list \p plist_id. When an existing object is copied, + * that property list will determine how the new copy is created. + * + * The following flags are available for use in an object copy + * property list: + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
#H5O_COPY_SHALLOW_HIERARCHY_FLAGCopy only immediate members of a group
+ * Default behavior, without flag: Recursively + * copy all objects in and below the group.
#H5O_COPY_EXPAND_SOFT_LINK_FLAGExpand soft links into new objects
+ * Default behavior, without flag: Copy soft + * links as they are.
#H5O_COPY_EXPAND_EXT_LINK_FLAGExpand external link into new objects
+ * Default behavior, without flag: Copy external + * links as they are.
#H5O_COPY_EXPAND_REFERENCE_FLAGCopy objects that are pointed to by references and + * update reference values in destination file
+ * Default behavior, without flag: Set reference + * values in destination file to zero (0)
#H5O_COPY_WITHOUT_ATTR_FLAGCopy object without copying attributes
+ * Default behavior, without flag: Copy object + * with all its attributes
#H5O_COPY_MERGE_COMMITTED_DTYPE_FLAGUse a matching committed datatype in the destination + * file when copying a committed datatype, a dataset with + * a committed datatype, or an object with an attribute + * of committed datatype
+ * Default behavior without flag: + * + * \li A committed datatype in the source will be copied to + * the destination as a committed datatype. + * \li If a dataset in the source uses a committed + * datatype or an object in the source has an attribute + * of a committed datatype, that committed datatype will + * be written to the destination as an anonymous + * committed datatype. + * If copied in a single H5Ocopy() operation, objects + * that share a committed datatype in the source will + * share an anonymous committed dataype in the + * destination copy. Subsequent H5Ocopy() operations, + * however, will be unaware of prior anonymous committed + * dataypes and will create new ones. + * + * See the “See Also” section immediately below for + * functions related to the use of this flag.
+ * + * \see + * Functions and a callback function used to tune committed datatype + * copying behavior: + * \li #H5O_mcdt_search_cb_t + * \li H5Padd_merge_committed_dtype_path() + * \li H5Pfree_merge_committed_dtype_paths() + * \li H5Pget_mcdt_search_cb() + * \li H5Pset_copy_object() + * \li H5Pset_mcdt_search_cb() + * + * \todo Link to Copying Committed Datatypes with H5Ocopy was removed. + * \version 1.8.9 #H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG added in this release. + * + * \since 1.8.0 + * + */ +H5_DLL herr_t H5Pset_copy_object(hid_t plist_id, unsigned copy_options); +/** + * \ingroup OCPPL + * + * \brief Sets the callback function that H5Ocopy() will invoke before + * searching the entire destination file for a matching committed + * datatype + * + * \param[in] plist_id Object copy property list identifier + * \param[in] func User-defined callback function + * \param[in] op_data User-defined input data for the callback function + * + * \return \herr_t + * + * \details H5Pset_mcdt_search_cb() allows an application to set a + * callback function, \p func, that will be invoked before + * searching the destination file for a matching committed + * datatype. The default, global search process is described in + * H5Padd_merge_committed_dtype_path(). + * + * The callback function must conform to the #H5O_mcdt_search_cb_t + * prototype and will return an instruction for one of the + * following actions: + * + * \li Continue the search for a matching committed datatype in + * the destination file. + * \li Discontinue the search for a matching committed datatype. + * H5Ocopy() will then apply the default behavior of creating + * an anonymous committed datatype. + * \li Abort the copy operation and exit H5Ocopy(). + * + * \b Motivation: H5Pset_mcdt_search_cb() provides the means to + * define a callback function. An application can then use that + * callback to take an additional action before the default search + * of all committed datatypes in the destination file or to take an + * action that replaces the default search. This mechanism is + * intended to improve performance when the global search might + * take a long time. + * + * \b Example \b Usage: This example defines a callback function in + * the object copy property list. + * + *
+ * static H5O_mcdt_search_ret_t
+ * mcdt_search_cb(void *_udata)
+ * {
+ *     H5O_mcdt_search_ret_t action = *((H5O_mcdt_search_ret_t *)_udata);
+ *
+ *      return(action);
+ *  }
+ *
+ *  int main(void) {
+ *      hid_t ocpypl_id = H5Pcreate(H5P_OBJECT_COPY);
+ *
+ *      H5Pset_copy_object(ocpypl_id, H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG);
+ *      H5Padd_merge_committed_dtype_path(ocpypl_id, "/group/committed_dtypeA");
+ *
+ *      action = H5O_MCDT_SEARCH_STOP;
+ *      H5Pset_mcdt_search_cb(ocpypl_id, mcdt_search_cb, &action);
+ *      H5Ocopy(...ocpypl_id...);
+ *      ...
+ *      ...
+ * }
+ * 
+ * + * \note H5Pset_mcdt_search_cb() will fail if the + * object copy property list is invalid. + * + * \warning If the callback function return value causes H5Ocopy() to + * abort, the destination file may be left in an inconsistent or + * corrupted state. + * + * \see + * \li H5Ocopy() + * \li #H5O_mcdt_search_cb_t + * \li H5Padd_merge_committed_dtype_path() + * \li H5Pfree_merge_committed_dtype_paths() + * \li H5Pget_mcdt_search_cb() + * \li H5Pset_copy_object() + * \li H5Pset_mcdt_search_cb() + * + * \todo Link removed to "Copying Committed Datatypes with H5Ocopy" in Advanced Topics in HDF5 + * \todo Programming Note for C++ Developers Using C Functions: + * + * \since 1.8.9 + * + */ +H5_DLL herr_t H5Pset_mcdt_search_cb(hid_t plist_id, H5O_mcdt_search_cb_t func, void *op_data); /* Symbols defined for compatibility with previous versions of the HDF5 API. * @@ -5931,15 +6913,15 @@ H5_DLL herr_t H5Pget_mcdt_search_cb(hid_t plist_id, H5O_mcdt_search_cb_t *func, /* Typedefs */ /* Function prototypes */ -H5_DLL herr_t H5Pregister1(hid_t cls_id, const char *name, size_t size, void *def_value, - H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, - H5P_prp_get_func_t prp_get, H5P_prp_delete_func_t prp_del, - H5P_prp_copy_func_t prp_copy, H5P_prp_close_func_t prp_close); -H5_DLL herr_t H5Pinsert1(hid_t plist_id, const char *name, size_t size, void *value, - H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, - H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, - H5P_prp_close_func_t prp_close); -H5_DLL herr_t H5Pencode1(hid_t plist_id, void *buf, size_t *nalloc); +H5_DLL herr_t H5Pregister1(hid_t cls_id, const char *name, size_t size, void *def_value, + H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, + H5P_prp_get_func_t prp_get, H5P_prp_delete_func_t prp_del, + H5P_prp_copy_func_t prp_copy, H5P_prp_close_func_t prp_close); +H5_DLL herr_t H5Pinsert1(hid_t plist_id, const char *name, size_t size, void *value, + H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, + H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, + H5P_prp_close_func_t prp_close); +H5_DLL herr_t H5Pencode1(hid_t plist_id, void *buf, size_t *nalloc); /** * \ingroup OCPL * diff --git a/src/H5R.c b/src/H5R.c index ef5d88b2815..8d8ecb12fca 100644 --- a/src/H5R.c +++ b/src/H5R.c @@ -585,7 +585,7 @@ H5Ropen_object_async(const char *app_file, const char *app_func, unsigned app_li /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIu*Rriii", app_file, app_func, app_line, ref_ptr, rapl_id, oapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HGOTO_ERROR(H5E_REFERENCE, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on object ID") HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -747,7 +747,7 @@ H5Ropen_region_async(const char *app_file, const char *app_func, unsigned app_li /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIu*Rriii", app_file, app_func, app_line, ref_ptr, rapl_id, oapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HGOTO_ERROR(H5E_REFERENCE, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on region ID") HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINSERT, H5I_INVALID_HID, "can't insert token into event set") @@ -916,7 +916,7 @@ H5Ropen_attr_async(const char *app_file, const char *app_func, unsigned app_line /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIu*Rriii", app_file, app_func, app_line, ref_ptr, rapl_id, aapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HGOTO_ERROR(H5E_REFERENCE, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on attribute ID") diff --git a/src/H5Rpublic.h b/src/H5Rpublic.h index 96db2a782cd..202b73b3503 100644 --- a/src/H5Rpublic.h +++ b/src/H5Rpublic.h @@ -277,7 +277,7 @@ H5_DLL H5R_type_t H5Rget_type(const H5R_ref_t *ref_ptr); * H5R_ref_t[#H5R_REF_BUF_SIZE]; * */ -H5_DLL htri_t H5Requal(const H5R_ref_t *ref1_ptr, const H5R_ref_t *ref2_ptr); +H5_DLL htri_t H5Requal(const H5R_ref_t *ref1_ptr, const H5R_ref_t *ref2_ptr); /** * -------------------------------------------------------------------------- @@ -295,7 +295,7 @@ H5_DLL htri_t H5Requal(const H5R_ref_t *ref1_ptr, const H5R_ref_t *ref2_ptr) * pointer to the destination reference. * */ -H5_DLL herr_t H5Rcopy(const H5R_ref_t *src_ref_ptr, H5R_ref_t *dst_ref_ptr); +H5_DLL herr_t H5Rcopy(const H5R_ref_t *src_ref_ptr, H5R_ref_t *dst_ref_ptr); /* Dereference */ diff --git a/src/H5Spublic.h b/src/H5Spublic.h index e4163df4b17..ffd5e60206c 100644 --- a/src/H5Spublic.h +++ b/src/H5Spublic.h @@ -167,9 +167,8 @@ H5_DLL herr_t H5Sclose(hid_t space_id); * \since 1.12.0 * */ -H5_DLL hid_t H5Scombine_hyperslab(hid_t space_id, H5S_seloper_t op, - const hsize_t start[], const hsize_t stride[], const hsize_t count[], - const hsize_t block[]); +H5_DLL hid_t H5Scombine_hyperslab(hid_t space_id, H5S_seloper_t op, const hsize_t start[], + const hsize_t stride[], const hsize_t count[], const hsize_t block[]); /** * \ingroup H5S * @@ -190,7 +189,7 @@ H5_DLL hid_t H5Scombine_hyperslab(hid_t space_id, H5S_seloper_t op, * * \since 1.12.0 * -*/ + */ H5_DLL hid_t H5Scombine_select(hid_t space1_id, H5S_seloper_t op, hid_t space2_id); /** * \ingroup H5S @@ -242,7 +241,7 @@ H5_DLL hid_t H5Scopy(hid_t space_id); * \since 1.0.0 * */ -H5_DLL hid_t H5Screate(H5S_class_t type); +H5_DLL hid_t H5Screate(H5S_class_t type); /** * \ingroup H5S * \brief Creates a new simple dataspace and opens it for access @@ -391,7 +390,7 @@ H5_DLL herr_t H5Sencode2(hid_t obj_id, void *buf, size_t *nalloc, hid_t fapl); * \since 1.0.0 * */ -H5_DLL herr_t H5Sextent_copy(hid_t dst_id,hid_t src_id); +H5_DLL herr_t H5Sextent_copy(hid_t dst_id, hid_t src_id); /** * \ingroup H5S * @@ -443,8 +442,8 @@ H5_DLL htri_t H5Sextent_equal(hid_t space1_id, hid_t space2_id); * \since 1.10.0 * */ -H5_DLL htri_t H5Sget_regular_hyperslab(hid_t spaceid, hsize_t start[], - hsize_t stride[], hsize_t count[], hsize_t block[]); +H5_DLL htri_t H5Sget_regular_hyperslab(hid_t spaceid, hsize_t start[], hsize_t stride[], hsize_t count[], + hsize_t block[]); /** * \ingroup H5S * @@ -480,8 +479,7 @@ H5_DLL htri_t H5Sget_regular_hyperslab(hid_t spaceid, hsize_t start[], * \since 1.2.0 * */ -H5_DLL herr_t H5Sget_select_bounds(hid_t spaceid, hsize_t start[], - hsize_t end[]); +H5_DLL herr_t H5Sget_select_bounds(hid_t spaceid, hsize_t start[], hsize_t end[]); /** * \ingroup H5S * @@ -540,8 +538,8 @@ H5_DLL hssize_t H5Sget_select_elem_npoints(hid_t spaceid); * \since 1.2.0 * */ -H5_DLL herr_t H5Sget_select_elem_pointlist(hid_t spaceid, hsize_t startpoint, - hsize_t numpoints, hsize_t buf[/*numpoints*/]); +H5_DLL herr_t H5Sget_select_elem_pointlist(hid_t spaceid, hsize_t startpoint, hsize_t numpoints, + hsize_t buf[/*numpoints*/]); /** * \ingroup H5S * @@ -573,8 +571,8 @@ H5_DLL herr_t H5Sget_select_elem_pointlist(hid_t spaceid, hsize_t startpoint, * \since 1.2.0 * */ -H5_DLL herr_t H5Sget_select_hyper_blocklist(hid_t spaceid, hsize_t startblock, - hsize_t numblocks, hsize_t buf[/*numblocks*/]); +H5_DLL herr_t H5Sget_select_hyper_blocklist(hid_t spaceid, hsize_t startblock, hsize_t numblocks, + hsize_t buf[/*numblocks*/]); /** * \ingroup H5S * @@ -677,8 +675,7 @@ H5_DLL H5S_sel_type H5Sget_select_type(hid_t spaceid); * \since 1.0.0 * */ -H5_DLL int H5Sget_simple_extent_dims(hid_t space_id, hsize_t dims[], - hsize_t maxdims[]); +H5_DLL int H5Sget_simple_extent_dims(hid_t space_id, hsize_t dims[], hsize_t maxdims[]); /** * \ingroup H5S * @@ -795,7 +792,7 @@ H5_DLL htri_t H5Sis_simple(hid_t space_id); * * \since 1.12.0 * -*/ + */ H5_DLL herr_t H5Smodify_select(hid_t space1_id, H5S_seloper_t op, hid_t space2_id); /** * \ingroup H5S @@ -901,8 +898,8 @@ H5_DLL hid_t H5Ssel_iter_create(hid_t spaceid, size_t elmt_size, unsigned flags) * \since 1.12.0 * */ -H5_DLL herr_t H5Ssel_iter_get_seq_list(hid_t sel_iter_id, size_t maxseq, - size_t maxbytes, size_t *nseq, size_t *nbytes, hsize_t *off, size_t *len); +H5_DLL herr_t H5Ssel_iter_get_seq_list(hid_t sel_iter_id, size_t maxseq, size_t maxbytes, size_t *nseq, + size_t *nbytes, hsize_t *off, size_t *len); /** * \ingroup H5S * @@ -1077,8 +1074,7 @@ H5_DLL herr_t H5Sselect_copy(hid_t dst_id, hid_t src_id); * \since 1.0.0 * */ -H5_DLL herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op, - size_t num_elem, const hsize_t *coord); +H5_DLL herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op, size_t num_elem, const hsize_t *coord); /** * \ingroup H5S * @@ -1184,9 +1180,8 @@ H5_DLL herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op, * \since 1.0.0 * */ -H5_DLL herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op, - const hsize_t start[], const hsize_t stride[], const hsize_t count[], - const hsize_t block[]); +H5_DLL herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op, const hsize_t start[], + const hsize_t stride[], const hsize_t count[], const hsize_t block[]); /*--------------------------------------------------------------------------*/ /**\ingroup H5S * @@ -1208,8 +1203,7 @@ H5_DLL herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op, * \since 1.12.0 * */ -H5_DLL htri_t H5Sselect_intersect_block(hid_t space_id, const hsize_t *start, - const hsize_t *end); +H5_DLL htri_t H5Sselect_intersect_block(hid_t space_id, const hsize_t *start, const hsize_t *end); /*--------------------------------------------------------------------------*/ /**\ingroup H5S * @@ -1248,8 +1242,8 @@ H5_DLL herr_t H5Sselect_none(hid_t spaceid); * \since 1.12.0 * */ -H5_DLL hid_t H5Sselect_project_intersection(hid_t src_space_id, - hid_t dst_space_id, hid_t src_intersect_space_id); +H5_DLL hid_t H5Sselect_project_intersection(hid_t src_space_id, hid_t dst_space_id, + hid_t src_intersect_space_id); /*--------------------------------------------------------------------------*/ /**\ingroup H5S * @@ -1341,8 +1335,7 @@ H5_DLL herr_t H5Sset_extent_none(hid_t space_id); * \since 1.0.0 * */ -H5_DLL herr_t H5Sset_extent_simple(hid_t space_id, int rank, - const hsize_t dims[], const hsize_t max[]); +H5_DLL herr_t H5Sset_extent_simple(hid_t space_id, int rank, const hsize_t dims[], const hsize_t max[]); /* Symbols defined for compatibility with previous versions of the HDF5 API. * diff --git a/src/H5TS.c b/src/H5TS.c index f3b533d0aa3..732f41c0331 100644 --- a/src/H5TS.c +++ b/src/H5TS.c @@ -405,8 +405,7 @@ H5TS__mutex_acquire(H5TS_mutex_t *mutex, unsigned int lock_count, hbool_t *acqui *-------------------------------------------------------------------------- */ herr_t -H5TSmutex_acquire(unsigned int lock_count, hbool_t *acquired) -{ +H5TSmutex_acquire(unsigned int lock_count, hbool_t *acquired){ FUNC_ENTER_API_NAMECHECK_ONLY /*NO TRACE*/ @@ -473,9 +472,9 @@ herr_t H5TS_mutex_lock(H5TS_mutex_t *mutex) /* Release the library lock */ ret_value = HDpthread_mutex_unlock(&mutex->atomic_lock); -#endif /* H5_HAVE_WIN_THREADS */ done: +#endif /* H5_HAVE_WIN_THREADS */ FUNC_LEAVE_NOAPI_NAMECHECK_ONLY(ret_value) } /* end H5TS_mutex_lock() */ @@ -528,9 +527,9 @@ H5TS__mutex_unlock(H5TS_mutex_t *mutex, unsigned int *lock_count) if (err != 0) ret_value = err; } /* end if */ -#endif /* H5_HAVE_WIN_THREADS */ done: +#endif /* H5_HAVE_WIN_THREADS */ FUNC_LEAVE_NOAPI_NAMECHECK_ONLY(ret_value) } /* H5TS__mutex_unlock */ @@ -583,9 +582,9 @@ H5TS_mutex_unlock(H5TS_mutex_t *mutex) if (err != 0) ret_value = err; } /* end if */ -#endif /* H5_HAVE_WIN_THREADS */ done: +#endif /* H5_HAVE_WIN_THREADS */ FUNC_LEAVE_NOAPI_NAMECHECK_ONLY(ret_value) } /* H5TS_mutex_unlock */ @@ -609,6 +608,9 @@ H5TSmutex_get_attempt_count(unsigned int *count) FUNC_ENTER_API_NAMECHECK_ONLY /*NO TRACE*/ +#ifdef H5_HAVE_WIN_THREADS + /* Add Win32 equivalent here when async is supported */ +#else /* H5_HAVE_WIN_THREADS */ ret_value = HDpthread_mutex_lock(&H5_g.init_lock.atomic_lock2); if (ret_value) HGOTO_DONE(ret_value); @@ -620,6 +622,7 @@ H5TSmutex_get_attempt_count(unsigned int *count) HGOTO_DONE(ret_value); done: +#endif /* H5_HAVE_WIN_THREADS */ FUNC_LEAVE_API_NAMECHECK_ONLY(ret_value) } /* end H5TSmutex_get_attempt_count() */ @@ -720,9 +723,9 @@ H5TS_cancel_count_inc(void) * previous cancellation state until the final API routine is returning. */ ++cancel_counter->cancel_count; -#endif /* H5_HAVE_WIN_THREADS */ done: +#endif /* H5_HAVE_WIN_THREADS */ FUNC_LEAVE_NOAPI_NAMECHECK_ONLY(ret_value) } /* end H5TS_cancel_count_inc() */ diff --git a/src/H5Tcommit.c b/src/H5Tcommit.c index 3eacea393ac..41191fa60c6 100644 --- a/src/H5Tcommit.c +++ b/src/H5Tcommit.c @@ -222,7 +222,7 @@ H5Tcommit_async(const char *app_file, const char *app_func, unsigned app_line, h /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE10(FUNC, "*s*sIui*siiiii", app_file, app_func, app_line, loc_id, name, type_id, lcpl_id, tcpl_id, tapl_id, es_id)) < 0) - /* clang-format on */ + /* clang-format on */ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINSERT, FAIL, "can't insert token into event set") done: @@ -733,7 +733,7 @@ H5Topen_async(const char *app_file, const char *app_func, unsigned app_line, hid /* clang-format off */ if (H5ES_insert(es_id, vol_obj->connector, token, H5ARG_TRACE7(FUNC, "*s*sIui*sii", app_file, app_func, app_line, loc_id, name, tapl_id, es_id)) < 0) { - /* clang-format on */ + /* clang-format on */ if (H5I_dec_app_ref_always_close(ret_value) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDEC, H5I_INVALID_HID, "can't decrement count on datatype ID") diff --git a/src/H5Tref.c b/src/H5Tref.c index 0c17d49acac..8d7dca2c394 100644 --- a/src/H5Tref.c +++ b/src/H5Tref.c @@ -586,10 +586,10 @@ H5T__ref_mem_write(H5VL_object_t *src_file, const void *src_buf, size_t src_size H5VL_object_t H5_ATTR_UNUSED *dst_file, void *dst_buf, size_t dst_size, void H5_ATTR_UNUSED *bg_buf) { - H5F_t * src_f = NULL; - hid_t file_id = H5I_INVALID_HID; - H5R_ref_priv_t *dst_ref = (H5R_ref_priv_t *)dst_buf; - H5R_ref_priv_t tmp_ref; /* Temporary reference to decode into */ + H5F_t * src_f = NULL; + hid_t file_id = H5I_INVALID_HID; + H5R_ref_priv_t *dst_ref = (H5R_ref_priv_t *)dst_buf; + H5R_ref_priv_t tmp_ref; /* Temporary reference to decode into */ herr_t ret_value = SUCCEED; FUNC_ENTER_STATIC diff --git a/src/H5VLint.c b/src/H5VLint.c index 17578b8aca9..b7823fbf880 100644 --- a/src/H5VLint.c +++ b/src/H5VLint.c @@ -1713,7 +1713,7 @@ H5VL_vol_object(hid_t id) obj_type = H5I_get_type(id); if (H5I_FILE == obj_type || H5I_GROUP == obj_type || H5I_ATTR == obj_type || H5I_DATASET == obj_type || - H5I_DATATYPE == obj_type) { + H5I_DATATYPE == obj_type || H5I_MAP == obj_type) { /* Get the object */ if (NULL == (obj = H5I_object(id))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier") diff --git a/src/H5Z.c b/src/H5Z.c index bd12d0e44cb..b6f617d983a 100644 --- a/src/H5Z.c +++ b/src/H5Z.c @@ -1014,7 +1014,7 @@ H5Z_ignore_filters(hid_t dcpl_id, const H5T_t *type, const H5S_t *space) H5O_pline_t pline; /* Object's I/O pipeline information */ H5S_class_t space_class; /* To check class of space */ H5T_class_t type_class; /* To check if type is VL */ - bool bad_for_filters = FALSE; /* Suitable to have filters */ + hbool_t bad_for_filters = FALSE; /* Suitable to have filters */ htri_t ret_value = FALSE; /* TRUE for ignoring filters */ FUNC_ENTER_NOAPI(FAIL) diff --git a/test/dsets.c b/test/dsets.c index 4f2f75a2539..4f1cfff8f21 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -7740,9 +7740,9 @@ test_missing_chunk(hid_t file) static H5_ATTR_CONST long gcd(long l0, long r0) { - long magnitude, remainder; - bool negative = ((l0 < 0) != (r0 < 0)); - long l = HDlabs(l0), r = HDlabs(r0); + long magnitude, remainder; + hbool_t negative = ((l0 < 0) != (r0 < 0)); + long l = HDlabs(l0), r = HDlabs(r0); do { if (l < r) { diff --git a/test/genall5.c b/test/genall5.c index 41fd86a10de..8965304033c 100644 --- a/test/genall5.c +++ b/test/genall5.c @@ -209,7 +209,7 @@ vrfy_ns_grp_0(hid_t fid, const char *group_name) HDassert(H5G_STORAGE_TYPE_COMPACT == grp_info.storage_type); HDassert(0 == grp_info.nlinks); HDassert(0 == grp_info.max_corder); - HDassert(false == grp_info.mounted); + HDassert(FALSE == grp_info.mounted); } if (pass) { @@ -470,7 +470,7 @@ vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) HDassert(H5G_STORAGE_TYPE_COMPACT == grp_info.storage_type); HDassert(nlinks == grp_info.nlinks); HDassert(nlinks == grp_info.max_corder); - HDassert(false == grp_info.mounted); + HDassert(FALSE == grp_info.mounted); } u = 0; @@ -508,7 +508,7 @@ vrfy_ns_grp_c(hid_t fid, const char *group_name, unsigned nlinks) failure_mssg = "vrfy_ns_grp_c: H5T_CSET_ASCII != lnk_info.cset"; } HDassert(ret >= 0); - HDassert(true == lnk_info.corder_valid); + HDassert(TRUE == lnk_info.corder_valid); HDassert(u == lnk_info.corder); HDassert(H5T_CSET_ASCII == lnk_info.cset); @@ -881,7 +881,7 @@ vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) HDassert(H5G_STORAGE_TYPE_DENSE == grp_info.storage_type); HDassert(nlinks == grp_info.nlinks); HDassert(nlinks == grp_info.max_corder); - HDassert(false == grp_info.mounted); + HDassert(FALSE == grp_info.mounted); } u = 0; @@ -919,7 +919,7 @@ vrfy_ns_grp_d(hid_t fid, const char *group_name, unsigned nlinks) failure_mssg = "vrfy_ns_grp_d: H5T_CSET_ASCII != lnk_info.cset"; } HDassert(ret >= 0); - HDassert(true == lnk_info.corder_valid); + HDassert(TRUE == lnk_info.corder_valid); HDassert(u == lnk_info.corder); HDassert(H5T_CSET_ASCII == lnk_info.cset); @@ -1244,7 +1244,7 @@ vrfy_os_grp_0(hid_t fid, const char *group_name) HDassert(H5G_STORAGE_TYPE_SYMBOL_TABLE == grp_info.storage_type); HDassert(0 == grp_info.nlinks); HDassert(0 == grp_info.max_corder); - HDassert(false == grp_info.mounted); + HDassert(FALSE == grp_info.mounted); } if (pass) { @@ -1482,7 +1482,7 @@ vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num, unsigned nlinks) HDassert(H5G_STORAGE_TYPE_SYMBOL_TABLE == grp_info.storage_type); HDassert(nlinks == grp_info.nlinks); HDassert(0 == grp_info.max_corder); - HDassert(false == grp_info.mounted); + HDassert(FALSE == grp_info.mounted); } u = 0; @@ -1516,7 +1516,7 @@ vrfy_os_grp_n(hid_t fid, const char *group_name, int proc_num, unsigned nlinks) failure_mssg = "vrfy_os_grp_n: H5T_CSET_ASCII != lnk_info.cset"; } HDassert(ret >= 0); - HDassert(false == lnk_info.corder_valid); + HDassert(FALSE == lnk_info.corder_valid); HDassert(H5T_CSET_ASCII == lnk_info.cset); if (0 == (u % 2)) { diff --git a/test/hdfs.c b/test/hdfs.c index 4121f15621d..e824c48c72e 100644 --- a/test/hdfs.c +++ b/test/hdfs.c @@ -1430,15 +1430,6 @@ test_noops_and_autofails(void) H5E_BEGIN_TRY{ JSVERIFY(FAIL, H5FDtruncate(file, H5P_DEFAULT, TRUE), "truncate must fail (closing)")} H5E_END_TRY; - /* no-op calls to `lock()` and `unlock()` - */ - JSVERIFY(SUCCEED, H5FDlock(file, TRUE), "lock always succeeds; has no effect") - JSVERIFY(SUCCEED, H5FDlock(file, FALSE), "lock issue") - JSVERIFY(SUCCEED, H5FDunlock(file), "unlock issue") - /* Lock/unlock with null file or similar error crashes tests. - * HDassert in calling heirarchy, `H5FD[un]lock()` and `H5FD_[un]lock()` - */ - /************ * TEARDOWN * ************/ diff --git a/test/links.c b/test/links.c index 784a8ebc728..cb010073414 100644 --- a/test/links.c +++ b/test/links.c @@ -631,7 +631,7 @@ cklinks(hid_t fapl, hbool_t new_format) if ((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) FAIL_STACK_ERROR -//! [H5Otoken_cmp_snip] + //! [H5Otoken_cmp_snip] /* Hard link */ if (H5Oget_info_by_name3(file, "d1", &oinfo1, H5O_INFO_BASIC, H5P_DEFAULT) < 0) @@ -644,7 +644,7 @@ cklinks(hid_t fapl, hbool_t new_format) TEST_ERROR } /* end if */ -//! [H5Otoken_cmp_snip] + //! [H5Otoken_cmp_snip] if (H5Otoken_cmp(file, &oinfo1.token, &oinfo2.token, &token_cmp) < 0) FAIL_STACK_ERROR @@ -15799,7 +15799,7 @@ obj_visit(hid_t fapl, hbool_t new_format) if ((fid = build_visit_file(fapl)) < 0) TEST_ERROR -//! [H5Ovisit3_snip] + //! [H5Ovisit3_snip] /* Visit all the objects reachable from the root group (with file ID) */ udata.idx = 0; @@ -15807,7 +15807,7 @@ obj_visit(hid_t fapl, hbool_t new_format) if (H5Ovisit3(fid, H5_INDEX_NAME, H5_ITER_INC, visit_obj_cb, &udata, H5O_INFO_BASIC) < 0) FAIL_STACK_ERROR -//! [H5Ovisit3_snip] + //! [H5Ovisit3_snip] /* Visit all the objects reachable from the root group (with group ID) */ if ((gid = H5Gopen2(fid, "/", H5P_DEFAULT)) < 0) @@ -15880,7 +15880,7 @@ obj_visit_by_name(hid_t fapl, hbool_t new_format) if ((fid = build_visit_file(fapl)) < 0) TEST_ERROR -//! [H5Ovisit_by_name3_snip] + //! [H5Ovisit_by_name3_snip] /* Visit all the objects reachable from the root group (with file ID) */ udata.idx = 0; @@ -15889,7 +15889,7 @@ obj_visit_by_name(hid_t fapl, hbool_t new_format) H5P_DEFAULT) < 0) FAIL_STACK_ERROR -//! [H5Ovisit_by_name3_snip] + //! [H5Ovisit_by_name3_snip] /* Visit all the objects reachable from the root group (with group ID) */ if ((gid = H5Gopen2(fid, "/", H5P_DEFAULT)) < 0) diff --git a/test/ros3.c b/test/ros3.c index 654082be7b1..e577ce052b6 100644 --- a/test/ros3.c +++ b/test/ros3.c @@ -1426,15 +1426,6 @@ test_noops_and_autofails(void) H5E_BEGIN_TRY{ JSVERIFY(FAIL, H5FDtruncate(file, H5P_DEFAULT, TRUE), "truncate must fail (closing)")} H5E_END_TRY; - /* no-op calls to `lock()` and `unlock()` - */ - JSVERIFY(SUCCEED, H5FDlock(file, TRUE), "lock always succeeds; has no effect") - JSVERIFY(SUCCEED, H5FDlock(file, FALSE), NULL) - JSVERIFY(SUCCEED, H5FDunlock(file), NULL) - /* Lock/unlock with null file or similar error crashes tests. - * HDassert in calling heirarchy, `H5FD[un]lock()` and `H5FD_[un]lock()` - */ - /************ * TEARDOWN * ************/ diff --git a/test/s3comms.c b/test/s3comms.c index 36f6f49d77e..48f11c5b24f 100644 --- a/test/s3comms.c +++ b/test/s3comms.c @@ -2538,9 +2538,9 @@ test_uriencode(void) dest = (char *)HDmalloc(sizeof(char) * 15); HDassert(dest != NULL); - JSVERIFY(FAIL, H5FD_s3comms_uriencode(NULL, "word$", 5, false, &dest_written), + JSVERIFY(FAIL, H5FD_s3comms_uriencode(NULL, "word$", 5, FALSE, &dest_written), "destination cannot be NULL"); - JSVERIFY(FAIL, H5FD_s3comms_uriencode(dest, NULL, 5, false, &dest_written), + JSVERIFY(FAIL, H5FD_s3comms_uriencode(dest, NULL, 5, FALSE, &dest_written), "source string cannot be NULL"); HDfree(dest); diff --git a/test/tfile.c b/test/tfile.c index 9a94a7dfd06..ed071d67bb1 100644 --- a/test/tfile.c +++ b/test/tfile.c @@ -5182,11 +5182,11 @@ test_libver_bounds_real(H5F_libver_t libver_create, unsigned oh_vers_create, H5F group = H5Gcreate2(file, "/G1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); CHECK(group, FAIL, "H5Gcreate"); -//! [H5Oget_native_info_snip] + //! [H5Oget_native_info_snip] ret = H5Oget_native_info(group, &ninfo, H5O_NATIVE_INFO_HDR); -//! [H5Oget_native_info_snip] + //! [H5Oget_native_info_snip] CHECK(ret, FAIL, "H5Oget_native)info"); VERIFY(ninfo.hdr.version, oh_vers_mod, "H5Oget_native_info"); @@ -5208,14 +5208,14 @@ test_libver_bounds_real(H5F_libver_t libver_create, unsigned oh_vers_create, H5F ret = H5Gclose(group); CHECK(ret, FAIL, "H5Gclose"); -//! [H5Oget_native_info_by_name_snip] + //! [H5Oget_native_info_by_name_snip] /* * Make sure the root group still has the correct object header version */ ret = H5Oget_native_info_by_name(file, "/", &ninfo, H5O_NATIVE_INFO_HDR, H5P_DEFAULT); -//! [H5Oget_native_info_by_name_snip] + //! [H5Oget_native_info_by_name_snip] CHECK(ret, FAIL, "H5Oget_native_info_by_name"); VERIFY(ninfo.hdr.version, oh_vers_create, "H5Oget_native_info_by_name"); diff --git a/test/titerate.c b/test/titerate.c index 0b20d8d3482..a39757e0a08 100644 --- a/test/titerate.c +++ b/test/titerate.c @@ -53,8 +53,8 @@ typedef struct { #define CORRUPTED_ATNAMELEN_FILE "memleak_H5O_dtype_decode_helper_H5Odtype.h5" #define DSET_NAME "image" typedef struct searched_err_t { - char message[256]; - bool found; + char message[256]; + hbool_t found; } searched_err_t; /* Call back function for test_corrupted_attnamelen */ @@ -218,13 +218,13 @@ test_iter_group(hid_t fapl, hbool_t new_format) dataset_name, (size_t)NAMELEN, H5P_DEFAULT); CHECK(ret, FAIL, "H5Lget_name_by_idx"); -//! [H5Oget_info_by_idx3_snip] + //! [H5Oget_info_by_idx3_snip] ret = H5Oget_info_by_idx3(root_group, ".", H5_INDEX_NAME, H5_ITER_INC, (hsize_t)i, &oinfo, H5O_INFO_BASIC, H5P_DEFAULT); CHECK(ret, FAIL, "H5Oget_info_by_idx"); -//! [H5Oget_info_by_idx3_snip] + //! [H5Oget_info_by_idx3_snip] } /* end for */ @@ -972,7 +972,7 @@ find_err_msg_cb(unsigned H5_ATTR_UNUSED n, const H5E_error2_t *err_desc, void *_ /* If the searched error message is found, stop the iteration */ if (err_desc->desc != NULL && HDstrcmp(err_desc->desc, searched_err->message) == 0) { - searched_err->found = true; + searched_err->found = TRUE; status = H5_ITER_STOP; } @@ -1018,14 +1018,14 @@ test_corrupted_attnamelen(void) if (err_status == -1) { /* Initialize client data */ HDstrcpy(err_caught.message, err_message); - err_caught.found = false; + err_caught.found = FALSE; /* Look for the correct error message */ ret = H5Ewalk2(H5E_DEFAULT, H5E_WALK_UPWARD, find_err_msg_cb, &err_caught); CHECK(ret, FAIL, "H5Ewalk2"); /* Fail if the indicated message is not found */ - CHECK(err_caught.found, false, "test_corrupted_attnamelen: Expected error not found"); + CHECK(err_caught.found, FALSE, "test_corrupted_attnamelen: Expected error not found"); } /* Close the dataset and file */ diff --git a/test/vol.c b/test/vol.c index 53c760c03e2..49c854f9e1b 100644 --- a/test/vol.c +++ b/test/vol.c @@ -950,13 +950,13 @@ test_basic_object_operation(void) if (H5Oget_info3(fid, &object_info, H5O_INFO_ALL) < 0) TEST_ERROR; -//! [H5Oget_info_by_name3_snip] + //! [H5Oget_info_by_name3_snip] /* H5Oget_info_by_name */ if (H5Oget_info_by_name3(fid, NATIVE_VOL_TEST_GROUP_NAME, &object_info, H5O_INFO_ALL, H5P_DEFAULT) < 0) TEST_ERROR; -//! [H5Oget_info_by_name3_snip] + //! [H5Oget_info_by_name3_snip] /* H5Oexists_by_name */ if (H5Oexists_by_name(fid, NATIVE_VOL_TEST_GROUP_NAME, H5P_DEFAULT) != TRUE) diff --git a/testpar/t_pread.c b/testpar/t_pread.c index 78659d4c192..45e2b8998b3 100644 --- a/testpar/t_pread.c +++ b/testpar/t_pread.c @@ -35,7 +35,7 @@ const char *FILENAMES[NFILENAME + 1] = {"reloc_t_pread_data_file", "reloc_t_prea #define LIMIT_NPROC 6 -hbool_t pass = true; +hbool_t pass = TRUE; static const char *random_hdf5_text = "Now is the time for all first-time-users of HDF5 to read their \ manual or go thru the tutorials!\n\ While you\'re at it, now is also the time to read up on MPI-IO."; @@ -112,7 +112,7 @@ generate_test_file(MPI_Comm comm, int mpi_rank, int group_id) float nextValue; float * data_slice = NULL; - pass = true; + pass = TRUE; HDassert(comm != MPI_COMM_NULL); @@ -256,14 +256,14 @@ generate_test_file(MPI_Comm comm, int mpi_rank, int group_id) if (pass) { if ((dset_id = H5Dcreate2(file_id, "dataset0", H5T_NATIVE_FLOAT, filespace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Dcreate2() failed.\n"; } } if (pass) { if ((H5Dwrite(dset_id, H5T_NATIVE_FLOAT, memspace, filespace, dxpl_id, data_slice)) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Dwrite() failed.\n"; } } @@ -273,14 +273,14 @@ generate_test_file(MPI_Comm comm, int mpi_rank, int group_id) if (pass) { if ((dcpl_id = H5Pcreate(H5P_DATASET_CREATE)) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Pcreate() failed.\n"; } } if (pass) { if ((H5Pset_chunk(dcpl_id, 1, chunk)) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Pset_chunk() failed.\n"; } } @@ -289,27 +289,27 @@ generate_test_file(MPI_Comm comm, int mpi_rank, int group_id) if ((dset_id_ch = H5Dcreate2(file_id, "dataset0_chunked", H5T_NATIVE_FLOAT, filespace, H5P_DEFAULT, dcpl_id, H5P_DEFAULT)) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Dcreate2() failed.\n"; } } if (pass) { if ((H5Dwrite(dset_id_ch, H5T_NATIVE_FLOAT, memspace, filespace, dxpl_id, data_slice)) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Dwrite() failed.\n"; } } if (pass || (dcpl_id != -1)) { if (H5Pclose(dcpl_id) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Pclose(dcpl_id) failed.\n"; } } if (pass || (dset_id_ch != -1)) { if (H5Dclose(dset_id_ch) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Dclose(dset_id_ch) failed.\n"; } } @@ -317,49 +317,49 @@ generate_test_file(MPI_Comm comm, int mpi_rank, int group_id) /* close file, etc. */ if (pass || (dset_id != -1)) { if (H5Dclose(dset_id) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Dclose(dset_id) failed.\n"; } } if (pass || (memspace != -1)) { if (H5Sclose(memspace) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Sclose(memspace) failed.\n"; } } if (pass || (filespace != -1)) { if (H5Sclose(filespace) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Sclose(filespace) failed.\n"; } } if (pass || (file_id != -1)) { if (H5Fclose(file_id) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Fclose(file_id) failed.\n"; } } if (pass || (dxpl_id != -1)) { if (H5Pclose(dxpl_id) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Pclose(dxpl_id) failed.\n"; } } if (pass || (fapl_id != -1)) { if (H5Pclose(fapl_id) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Pclose(fapl_id) failed.\n"; } } if (pass || (fctmpl != -1)) { if (H5Pclose(fctmpl) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Pclose(fctmpl) failed.\n"; } } @@ -661,14 +661,14 @@ test_parallel_read(MPI_Comm comm, int mpi_rank, int mpi_size, int group_id) if (pass || (memspace != -1)) { if (H5Sclose(memspace) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Sclose(memspace) failed.\n"; } } if (pass || (filespace != -1)) { if (H5Sclose(filespace) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Sclose(filespace) failed.\n"; } } @@ -859,7 +859,7 @@ test_parallel_read(MPI_Comm comm, int mpi_rank, int mpi_size, int group_id) if (pass || (filespace != -1)) { if (H5Sclose(filespace) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Sclose(filespace) failed.\n"; } } @@ -956,7 +956,7 @@ test_parallel_read(MPI_Comm comm, int mpi_rank, int mpi_size, int group_id) if (pass || (memspace != -1)) { if (H5Sclose(memspace) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Sclose(memspace) failed.\n"; } } @@ -969,7 +969,7 @@ test_parallel_read(MPI_Comm comm, int mpi_rank, int mpi_size, int group_id) if (pass || (dxpl_id != -1)) { if (H5Pclose(dxpl_id) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Pclose(dxpl_id) failed.\n"; } } @@ -978,28 +978,28 @@ test_parallel_read(MPI_Comm comm, int mpi_rank, int mpi_size, int group_id) /* close file, etc. */ if (pass || (dset_id != -1)) { if (H5Dclose(dset_id) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Dclose(dset_id) failed.\n"; } } if (pass || (dset_id_ch != -1)) { if (H5Dclose(dset_id_ch) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Dclose(dset_id_ch) failed.\n"; } } if (pass || (file_id != -1)) { if (H5Fclose(file_id) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Fclose(file_id) failed.\n"; } } if (pass || (fapl_id != -1)) { if (H5Pclose(fapl_id) < 0) { - pass = false; + pass = FALSE; failure_mssg = "H5Pclose(fapl_id) failed.\n"; } } diff --git a/tools/src/h5dump/h5dump.c b/tools/src/h5dump/h5dump.c index 34b3c10468a..0cf6dd3a62d 100644 --- a/tools/src/h5dump/h5dump.c +++ b/tools/src/h5dump/h5dump.c @@ -31,7 +31,7 @@ static h5tools_vol_info_t vol_info_g; /* Default "anonymous" S3 configuration */ static H5FD_ros3_fapl_t ros3_fa_g = { 1, /* Structure Version */ - false, /* Authenticate? */ + FALSE, /* Authenticate? */ "", /* AWS Region */ "", /* Access Key ID */ "", /* Secret Access Key */ diff --git a/tools/src/h5ls/h5ls.c b/tools/src/h5ls/h5ls.c index dd21bb1af2b..eacb7509ed0 100644 --- a/tools/src/h5ls/h5ls.c +++ b/tools/src/h5ls/h5ls.c @@ -2664,7 +2664,7 @@ main(int argc, const char *argv[]) /* Default "anonymous" S3 configuration */ H5FD_ros3_fapl_t ros3_fa = { 1, /* Structure Version */ - false, /* Authenticate? */ + FALSE, /* Authenticate? */ "", /* AWS Region */ "", /* Access Key ID */ "", /* Secret Access Key */ diff --git a/tools/src/h5repack/h5repack_main.c b/tools/src/h5repack/h5repack_main.c index c38dd66c71d..a67d6acb1e2 100644 --- a/tools/src/h5repack/h5repack_main.c +++ b/tools/src/h5repack/h5repack_main.c @@ -262,6 +262,7 @@ usage(const char *prog) PRINTVALSTREAM(rawoutstream, " Required values: filter_number, filter_flag, cd_value_count, value1\n"); PRINTVALSTREAM(rawoutstream, " Optional values: value2 to valueN\n"); + PRINTVALSTREAM(rawoutstream, " filter_flag: 1 is OPTIONAL or 0 is MANDATORY\n"); PRINTVALSTREAM(rawoutstream, " NONE (no parameter)\n"); PRINTVALSTREAM(rawoutstream, "\n"); PRINTVALSTREAM(rawoutstream, " LAYT - is a string with the format:\n"); diff --git a/tools/src/h5stat/h5stat.c b/tools/src/h5stat/h5stat.c index 12a408ee99c..13428f86824 100644 --- a/tools/src/h5stat/h5stat.c +++ b/tools/src/h5stat/h5stat.c @@ -122,7 +122,7 @@ static const char *drivername = NULL; /* Default "anonymous" S3 configuration */ static H5FD_ros3_fapl_t ros3_fa = { 1, /* Structure Version */ - false, /* Authenticate? */ + FALSE, /* Authenticate? */ "", /* AWS Region */ "", /* Access Key ID */ "", /* Secret Access Key */ diff --git a/tools/src/misc/h5delete.c b/tools/src/misc/h5delete.c index 028c6c0e1a3..15a70d3dd99 100644 --- a/tools/src/misc/h5delete.c +++ b/tools/src/misc/h5delete.c @@ -32,8 +32,8 @@ int main(int argc, const char *argv[]) { hbool_t quiet = FALSE; - const char *name = NULL; - int ret = 0; + const char *name = NULL; + int ret = 0; switch (argc) { case 3: @@ -42,7 +42,7 @@ main(int argc, const char *argv[]) return EXIT_FAILURE; } quiet = TRUE; - name = argv[2]; + name = argv[2]; break; case 2: name = argv[1]; @@ -52,20 +52,22 @@ main(int argc, const char *argv[]) return EXIT_FAILURE; } - H5E_BEGIN_TRY { + H5E_BEGIN_TRY + { /* Only uses the environment variable at this time */ ret = (int)H5Fdelete(name, H5P_DEFAULT); - } H5E_END_TRY; + } + H5E_END_TRY; /* The native VOL connector does not implement the H5Fdelete() call * at this time, so try to remove the file via the POSIX remove(3) * call on failures. */ if (ret < 0) - ret = HDremove(name); + ret = HDremove(name); if (ret < 0 && !quiet) - HDfprintf(stderr, "Unable to delete storage at: %s\n", name); + HDfprintf(stderr, "Unable to delete storage at: %s\n", name); return ret < 0 ? EXIT_FAILURE : EXIT_SUCCESS; } diff --git a/tools/test/h5repack/testfiles/h5repack-help.txt b/tools/test/h5repack/testfiles/h5repack-help.txt index e12838df3b5..cb10d22597d 100644 --- a/tools/test/h5repack/testfiles/h5repack-help.txt +++ b/tools/test/h5repack/testfiles/h5repack-help.txt @@ -136,6 +136,7 @@ usage: h5repack [OPTIONS] file1 file2 UD= Required values: filter_number, filter_flag, cd_value_count, value1 Optional values: value2 to valueN + filter_flag: 1 is OPTIONAL or 0 is MANDATORY NONE (no parameter) LAYT - is a string with the format: