Files
hdf5/develop/rel_spec_18.html
T
2025-10-13 12:54:10 +00:00

2167 lines
276 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>HDF5: Release Specific Information for HDF5 1.8</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="hdf5doxy.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="hdf5doxy.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="hdf5_navtree_hacks.js"></script>
<div style="background:#FFDDDD;font-size:120%;text-align:center;margin:0;padding:5px">Help us improve by taking our short survey: <a href="https://www.hdfgroup.org/website-survey/">https://www.hdfgroup.org/website-survey/</a></div>
<!-- ... other metadata & script includes ... -->
<script type="text/javascript" src="doxygen-awesome-tabs.js"></script>
<script type="text/javascript">
DoxygenAwesomeTabs.init()
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-57FMZK4S7X"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-57FMZK4S7X');
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="HDFG-logo.png"/></td>
<td id="projectalign">
<div id="projectname">HDF5<span id="projectnumber">&#160;Last Updated on 2025-10-13</span>
</div>
<div id="projectbrief">The HDF5 Field Guide</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="_getting_started.html"><span>Getting&#160;started</span></a></li>
<li><a href="_u_g.html"><span>User&#160;Guide</span></a></li>
<li><a href="_r_m.html"><span>Reference&#160;Manual</span></a></li>
<li><a href="_cookbook.html"><span>Cookbook</span></a></li>
<li><a href="_t_n.html"><span>Technical&#160;Notes</span></a></li>
<li><a href="_r_f_c.html"><span>RFCs</span></a></li>
<li><a href="_s_p_e_c.html"><span>Specifications</span></a></li>
<li><a href="_g_l_s.html"><span>Glossary</span></a></li>
<li><a href="_f_t_s.html"><span>Full-Text&#160;Search</span></a></li>
<li><a href="_about.html"><span>About</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('rel_spec_18.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div><div class="header">
<div class="headertitle"><div class="title">Release Specific Information for HDF5 1.8</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Navigate back: <a class="el" href="index.html">Main</a> / <a class="el" href="release_specific_info.html">Release Specific Information</a> </p><hr />
<h1><a class="anchor" id="sec_rel_spec_18_change"></a>
Software Changes from Release to Release for HDF5-1.8</h1>
<p>This document is designed to help developers maintain HDF5-based applications as they are used with successive releases of HDF5. To that end, this document lists the changes at each release that a maintenance developer needs to be aware of:</p>
<ul>
<li>New or changed features or tools </li>
<li>Syntax and behavioral changes in the existing application programming interface (the API) </li>
<li>Certain types of changes in configuration or build processes </li>
<li>Bugfixes and performance enhancements in the C library are automatically picked up by the C++ and Fortran libraries. The Java library will pick up the same bugfixes and enhancements at its next subsequent release as it is always built with the latest released version of the C library.</li>
</ul>
<p>The release notes also list changes made to the library, but these notes tend to be more at a more detail oriented level. The release notes may include new features, bugs fixed, supported configuration features, platforms on which the library has been tested, and known problems. The release note files are listed below and can be found at the top level of the HDF5 source code tree in the release_docs directory of the distributed HDF5 source code.</p>
<ul>
<li>RELEASE.txt - Technical notes regarding the current release of the HDF5 library </li>
<li>HISTORY-1_8.txt - Technical notes for previous 1.8 releases of the HDF5 library by release </li>
<li>HISTORY-1_0-1_8_0_rc3.txt - Technical notes for releases prior to the 1.8.0 release of the HDF5 library by release</li>
</ul>
<h4>Are you porting an existing application from HDF5 Release 1.6.x to HDF5 Release 1.8.x?</h4>
<p>If you are porting an existing application from any HDF5 version in the Release 1.6.x series to any version in the Release 1.8.x series, refer to "What's New in HDF5 1.8.0". This document, with the documents linked in its introduction, provides a guide to the changes introduced in the transition from the 1.6.x series to HDF5 Release 1.8.0 and discussions of various compatibility issues.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_23"></a>
Release 1.8.23 of February 2023 versus Release 1.8.22</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.22 to Release 1.8.23.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_23_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<ul>
<li>None.</li>
</ul>
<h4>In the C High Level Interface</h4>
<ul>
<li>None.</li>
</ul>
<h4>In the C++ Wrapper</h4>
<ul>
<li>None.</li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_23_compat"></a>
Compatibility Notes and Report and Comments</h3>
<p>The interface compatibility report provides a full list of the changed symbols.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_22"></a>
Release 1.8.22 of February 2021 versus Release 1.8.21</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.21 to Release 1.8.22.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_22_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<p>The following are new C functions in this release: </p><table class="doxtable">
<tr>
<th>Function</th><th>Description </th></tr>
<tr>
<td><a class="el" href="group___f_a_p_l.html#gafb4ec2b60ab86eade5aa55f5e4f5fd35" title="Queries a File Access Property List for H5FD_HDFS file driver properties.">H5Pget_fapl_hdfs</a></td><td>Gets the information of the given Read-Only HDFS virtual file driver </td></tr>
<tr>
<td><a class="el" href="group___f_a_p_l.html#gaee5e0b8373b4b493b0cd2616938d601e" title="Queries a File Access Property List for H5FD_ROS3 file driver properties.">H5Pget_fapl_ros3</a></td><td>Gets the information of the given Read-Only S3 virtual file driver </td></tr>
<tr>
<td><a class="el" href="group___f_a_p_l.html#gacc14b36c543d837e3257c216939d8931" title="Modifies the file access property list to use the H5FD_HDFS driver.">H5Pset_fapl_hdfs</a></td><td>Sets up Read-Only HDFS virtual file driver </td></tr>
<tr>
<td><a class="el" href="group___f_a_p_l.html#ga9dd7950acea860b716831488dd87ae8f" title="Modifies the specified File Access Property List to use the H5FD_ROS3 driver.">H5Pset_fapl_ros3</a></td><td>Sets up Read-Only S3 virtual file driver </td></tr>
</table>
<h4>In the C High Level Interface</h4>
<ul>
<li>None.</li>
</ul>
<h4>In the C++ Wrapper</h4>
<ul>
<li>None.</li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_22_compat"></a>
Compatibility Notes and Report and Comments</h3>
<p>The interface compatibility report provides a full list of the changed symbols.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_21"></a>
Release 1.8.21 of May 2018 versus Release 1.8.20</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.20 to Release 1.8.21.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_21_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<ul>
<li>None.</li>
</ul>
<h4>In the C High Level Interface</h4>
<ul>
<li>None.</li>
</ul>
<h4>In the C++ Wrapper</h4>
<ul>
<li>Many changes were made to improve the C++ API model. Please review the RELEASE.txt file or the compatibility report below for complete information on the C++ changes in this release.</li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_21_compat"></a>
Compatibility Notes and Report and Comments</h3>
<p>The interface compatibility report provides a full list of the changed symbols.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_20"></a>
Release 1.8.20 of November 2017 versus Release 1.8.19</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.19 to Release 1.8.20.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_20_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<ul>
<li>None.</li>
</ul>
<h4>In the C High Level Interface</h4>
<ul>
<li>None.</li>
</ul>
<h4>In the C++ Wrapper</h4>
<ul>
<li>Many changes were made to improve the C++ API model. Please review the RELEASE.txt file or the compatibility report below for complete information on the C++ changes in this release.</li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_20_compat"></a>
Compatibility Notes and Report and Comments</h3>
<h4>Compatibility report for Release 1.8.20 versus Release 1.8.19</h4>
<p>The following interface compatibility report provides a full list of the changed symbols: API compatibility report for the HDF5 Library between 1.8.19 and 1.8.20 versions on x86_64</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_19"></a>
Release 1.8.19 of June 2017 versus Release 1.8.18</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.18 to Release 1.8.19.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_19_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<p>The following new C functions were added: </p><ul>
<li><a class="el" href="group___h5_d.html#gaaeea958861de082db9051fc4bf215234" title="Returns the amount of storage allocated within the file for a raw data chunk in a dataset.">H5Dget_chunk_storage_size</a> </li>
<li><a class="el" href="group___h5_p_l.html#gac74200fdc02f794f3fae753fe8b850b0" title="Inserts a plugin path at the end of the plugin search path list.">H5PLappend</a> </li>
<li><a class="el" href="group___h5_p_l.html#ga64a3c5450d91455624ecba582553d905" title="Queries the plugin search path list at the specified index.">H5PLget</a> </li>
<li><a class="el" href="group___h5_p_l.html#gacc5153b0db6b3f876c3980bf34f931fc" title="Inserts a path at the specified index in the plugin search path list.">H5PLinsert</a> </li>
<li><a class="el" href="group___h5_p_l.html#ga1f2300ef2de6e430af330de7d194576f" title="Inserts a plugin path at the beginning of the plugin search path list.">H5PLprepend</a> </li>
<li><a class="el" href="group___h5_p_l.html#gaa566196b7c6970c255feac4cf9f3bf40" title="Removes a plugin path at a specified index from the plugin search path list.">H5PLremove</a> </li>
<li><a class="el" href="group___h5_p_l.html#gab0f8d4e8d0b81cb55cf8b9de5095dc0b" title="Replaces the path at the specified index in the plugin search path list.">H5PLreplace</a> </li>
<li><a class="el" href="group___h5_p_l.html#ga30b799ad7e9645312ef8975a610b4b18" title="Retrieves the number of stored plugin paths.">H5PLsize</a></li>
</ul>
<h4>In the C High Level Interface</h4>
<p>The following new C function was added: </p><ul>
<li><a class="el" href="group___h5_d_o.html#ga42ee2888be9fe225803bf50641faae76" title="Reads a raw data chunk directly from a dataset in a file into a buffer.">H5DOread_chunk</a></li>
</ul>
<h4>In the C++ Wrapper</h4>
<p>Many changes were made to improve the C++ API model. Please review the RELEASE.txt file or Compatibility report below for complete information on the C++ changes in this release.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_19_compat"></a>
Compatibility Notes and Report and Comments</h3>
<h4>Compatibility report for Release 1.8.19 versus Release 1.8.18</h4>
<p>The following interface compatibility report provides a full list of the changed symbols: API compatibility report for the HDF5 Library between 1.8.18 and 1.8.19 versions on x86_64</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_18"></a>
Release 1.8.18 of November 2016 versus Release 1.8.17</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.17 to Release 1.8.18.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_18_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<ul>
<li>None.</li>
</ul>
<h4>In the C++ Interface (main library wrappers)</h4>
<ul>
<li>The macro H5_NO_NAMESPACE was deprecated. </li>
<li>A number of new member functions were added or removed. See RELEASE.txt for detail.</li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_18_compat"></a>
Compatibility Notes and Report and Comments</h3>
<h4>Compatibility report for Release 1.8.18 versus Release 1.8.17</h4>
<p>The following interface compatibility report provides a full list of the changed symbols: API compatibility report for the HDF5 Library between 1.8.17 and 1.8.18 versions on x86_64</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_17"></a>
Release 1.8.17 of May 2016 versus Release 1.8.16</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.16 to Release 1.8.17.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_17_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<p>The following new C functions and environment variable enable setting a relative path for raw data files associated with datasets using external storage:</p>
<p><b>Functions</b>: </p><ul>
<li><a class="el" href="group___d_a_p_l.html#gad487f84157fd0944cbe1cbd4dea4e1b8" title="Sets the external dataset storage file prefix in the dataset access property list.">H5Pset_efile_prefix</a> </li>
<li><a class="el" href="group___d_a_p_l.html#ga442647d48171db920c71a7baf6fdeee6" title="Retrieves the prefix for external raw data storage files as set in the dataset access property list.">H5Pget_efile_prefix</a></li>
</ul>
<p><b>Environment variable</b>: </p><ul>
<li>HDF5_EXTFILE_PREFIX</li>
</ul>
<h4>In the C High-Level Interface</h4>
<p>The following new functions have been added in the Packet Table (H5PT) high-level interface: </p><ul>
<li><a class="el" href="group___h5_p_t.html#gadebf2e89c0d382bb6a97fbf3c35b3261" title="Creates a packet table to store fixed-length or variable-length packets.">H5PTcreate</a> </li>
<li><a class="el" href="group___h5_p_t.html#gaba97ace057d14ac0381456347bba45c0" title="Returns the backend dataset of this packet table.">H5PTget_dataset</a> </li>
<li><a class="el" href="group___h5_p_t.html#ga86cf3105b2aab245bedaa55ecd131d8d" title="Returns the backend datatype of this packet table.">H5PTget_type</a></li>
</ul>
<p><a class="el" href="group___h5_p_t.html#gadebf2e89c0d382bb6a97fbf3c35b3261" title="Creates a packet table to store fixed-length or variable-length packets.">H5PTcreate</a> replaces H5PTcreate_fl, which is deprecated and may be removed in a future release.</p>
<p>The following functions were previously removed from the library distribution but are once again publicly available. Reinstated in its original form: </p><ul>
<li><a class="el" href="group___h5_p_t.html#ga4d4d6aa197f39e07c1094363355cce50" title="Determines whether a packet table contains variable-length or fixed-length packets.">H5PTis_varlen</a></li>
</ul>
<p>An updated form of H5PTfree_vlen_readbuff reinstated as: </p><ul>
<li><a class="el" href="group___h5_p_t.html#gab8a810a8ecca21eb24fe01ba142faf66" title="Releases memory allocated in the process of reading variable-length packets.">H5PTfree_vlen_buff</a></li>
</ul>
<h4>In the C++ Interface (main library wrappers)</h4>
<p><b>New member function added in DSetCreatPropList</b>: </p><ul>
<li><a class="el" href="class_h5_1_1_d_set_creat_prop_list.html#a2e7450fd7aca4d9575624c21e75001f9">H5::DSetCreatPropList::setNbit()</a> was added to set up N-bit compression for a dataset.</li>
</ul>
<p><b>New overloaded const member functions added in ArrayType</b>:</p>
<p>The following functions were added to provide const versions; the non-const versions have been marked deprecated. </p><ul>
<li>ArrayType::getArrayNDims() const </li>
<li>ArrayType::getArrayDims() const</li>
</ul>
<p>The datamembers ArrayType::rank and ArrayType::dimensions have been removed. This is an implementation detail and should not affect applications.</p>
<h4>In the C++ High-Level Interface</h4>
<p><b>New constructor added in FL_PacketTable</b>:</p>
<p>An overloaded constructor has been added to FL_PacketTable. The function now takes a property list identifier to provide flexibility on creation properties such as compression. </p><ul>
<li><code>FL_PacketTable(<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> fileID, const char* name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> dtypeID, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> chunkSize = 0, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plistID = H5P_DEFAULT)</code></li>
</ul>
<p><b>New member functions added in PacketTable</b> Two accessor wrappers were added to class PacketTable. </p><ul>
<li><code>PacketTable::GetDataset()</code> returns the identifier of the dataset associated with the packet table. </li>
<li><code>PacketTable::GetDatatype()</code> returns the identifier of the datatype that the packet table uses.</li>
</ul>
<p><b>New member functions added with a char* argument</b>: Overloaded functions have been added to provide a <code>const char*</code> argument. The existing versions of these functions will be deprecated in future releases.</p>
<p><b>This also removes the following warning</b>: <code>deprecated conversion from string constant to "char*" [-Wwrite-strings]</code></p>
<p><b>ifdef blocks removed</b>: The <code>#ifdef VLPT_REMOVED</code> blocks have been removed from the packet table library source code except for the following functions: </p><ul>
<li><code>VL_PacketTable::IsVariableLength()</code> was moved to <code>PacketTable</code>. </li>
<li><code>VL_PacketTable::FreeReadBuff()</code> is now <code>PacketTable::FreeBuff()</code>.</li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_17_compat"></a>
Compatibility Notes and Report</h3>
<p>Changed shared library interface version numbers (soname)</p>
<p>For HDF5 Release 1.8.17, the shared object version numbers have changed as follows. </p><table class="doxtable">
<tr>
<th>Library</th><th>Release 1.8.16</th><th>Release 1.8.17</th><th>Reason for Change </th></tr>
<tr>
<td>HDF5 C Library</td><td>10.1.0</td><td>10.2.0</td><td>Added APIs </td></tr>
<tr>
<td>HDF5 High-level C Library</td><td>10.0.2</td><td>10.1.0</td><td>Added APIs </td></tr>
<tr>
<td>C++ Library</td><td>11.0.0</td><td>12.0.0</td><td>Changes in existing APIs </td></tr>
<tr>
<td>High-level C++ Library</td><td>11.0.0</td><td>11.1.0</td><td>Added APIs </td></tr>
<tr>
<td>All others</td><td>10.0.2</td><td>10.0.3</td><td>Code changes that did not result in interface changes </td></tr>
</table>
<h4>Compatibility report for Release 1.8.17 versus Release 1.8.16</h4>
<p>The following interface compatibility report provides a full list of the changed symbols: API compatibility report for the HDF5 Library between 1.8.16 and 1.8.17 versions on x86</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_16"></a>
Release 1.8.16 of November 2015 versus Release 1.8.15</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.15 to Release 1.8.16.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_16_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<p><b>New HDF5 Plugin Interface (H5PL)</b> A new HDF5 Plugin Interface (H5PL), enabling programmatic control of dynamically loaded plugins, was introduced at HDF5 Release 1.8.15. This interface was only partially documented at that time, but more complete documentation is now available: </p><ul>
<li>Dynamic Plugins in HDF5 in Advanced Topics in HDF5 </li>
<li>H5PL: Plugin Interface in the HDF5 Reference Manual<ul>
<li>
<a class="el" href="group___h5_p_l.html#ga3ee7276ca1168b175661db3866f8db0e" title="Controls the loadability of dynamic plugin types.">H5PLset_loading_state</a> </li>
<li>
<a class="el" href="group___h5_p_l.html#gadde42938cf1cc41fa392e8719050b52a" title="Queries the loadability of dynamic plugin types.">H5PLget_loading_state</a></li>
</ul>
</li>
</ul>
<p><b>The following new C function has been added</b>: This function reports whether the linked version of the HDF5 Library was built with the thread-safety feature enabled. </p><ul>
<li><a class="el" href="group___h5.html#gaae7a734fe6c8080bff45b9142a173bc5" title="Determines whether the HDF5 library was built with the thread-safety feature enabled.">H5is_library_threadsafe</a></li>
</ul>
<p><b>The following flag has been removed</b>: </p><ul>
<li><a class="el" href="_h5_fpublic_8h.html#af3ff563967a75b699c487fac04c42423">H5F_ACC_DEBUG</a> flag for H5Fopen/create<br />
The flag <a class="el" href="_h5_fpublic_8h.html#af3ff563967a75b699c487fac04c42423">H5F_ACC_DEBUG</a> was used to provide extra debugging information for HDF Library developers. This flag and the underlying functionality have been removed from the library due to disuse. The symbol remains defined since it was visible in <a class="el" href="_h5_fpublic_8h.html">H5Fpublic.h</a>, but it has been set to zero (0) and has no effect anywhere in the library. </li>
<li><a class="el" href="group___h5_f.html#gaa3f4f877b9bb591f3880423ed2bf44bc" title="Opens an existing HDF5 file.">H5Fopen</a></li>
</ul>
<h4>In the C++ Interface</h4>
<p><b>The following features have been added</b>: </p><ul>
<li>New class <a class="el" href="class_h5_1_1_obj_creat_prop_list.html" title="Class ObjCreatPropList inherits from PropList and provides wrappers for the HDF5 object create proper...">H5::ObjCreatPropList</a> for the object creation property list class<br />
The new class <a class="el" href="class_h5_1_1_obj_creat_prop_list.html" title="Class ObjCreatPropList inherits from PropList and provides wrappers for the HDF5 object create proper...">H5::ObjCreatPropList</a> is derived from <a class="el" href="class_h5_1_1_prop_list.html" title="Class PropList inherits from IdComponent and provides wrappers for the HDF5 generic property list.">H5::PropList</a> and is a baseclass of <a class="el" href="class_h5_1_1_d_set_creat_prop_list.html" title="Class DSetCreatPropList inherits from ObjCreatPropList and provides wrappers for the HDF5 dataset cre...">H5::DSetCreatPropList</a>. Additional property list classes will be added to the library in future releases and some of those will be derived from <a class="el" href="class_h5_1_1_obj_creat_prop_list.html" title="Class ObjCreatPropList inherits from PropList and provides wrappers for the HDF5 object create proper...">H5::ObjCreatPropList</a>. </li>
<li>New wrappers for the C functions <a class="el" href="group___o_c_p_l.html#ga0115b13dcbd8770cbdcef3db2ac12ea1" title="Sets attribute storage phase change thresholds.">H5Pset_attr_phase_change</a>/<a class="el" href="group___o_c_p_l.html#gaf7c57a6e78a4123f82450559623ab534" title="Retrieves attribute storage phase change thresholds.">H5Pget_attr_phase_change</a> and <a class="el" href="group___o_c_p_l.html#gade132fded1df87300a4c7175c6bd766a" title="Sets tracking and indexing of attribute creation order.">H5Pset_attr_creation_order</a>/<a class="el" href="group___o_c_p_l.html#ga2a54d1ff8d7a0d0e8d652f373c18bc37" title="Retrieves tracking and indexing settings for attribute creation order.">H5Pget_attr_creation_order</a><br />
</li>
</ul>
<p>The following wrappers were added to the class <a class="el" href="class_h5_1_1_obj_creat_prop_list.html" title="Class ObjCreatPropList inherits from PropList and provides wrappers for the HDF5 object create proper...">H5::ObjCreatPropList</a> for the respective C functions: </p><table class="doxtable">
<tr>
<th>C Function</th><th>C++ Wrapper </th></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#ga0115b13dcbd8770cbdcef3db2ac12ea1" title="Sets attribute storage phase change thresholds.">H5Pset_attr_phase_change</a></td><td><a class="el" href="class_h5_1_1_obj_creat_prop_list.html#ab4dea041b411800ec8d95341305db186">H5::ObjCreatPropList::setAttrPhaseChange</a> </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#gaf7c57a6e78a4123f82450559623ab534" title="Retrieves attribute storage phase change thresholds.">H5Pget_attr_phase_change</a></td><td><a class="el" href="class_h5_1_1_obj_creat_prop_list.html#a4362b6a7d3c77db1dc4f5472eb1e0a03">H5::ObjCreatPropList::getAttrPhaseChange</a> </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#gade132fded1df87300a4c7175c6bd766a" title="Sets tracking and indexing of attribute creation order.">H5Pset_attr_creation_order</a></td><td><a class="el" href="class_h5_1_1_obj_creat_prop_list.html#a5f4c37d90bf4dd1b1cf682b87e695cae">H5::ObjCreatPropList::setAttrCrtOrder</a> </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#ga2a54d1ff8d7a0d0e8d652f373c18bc37" title="Retrieves tracking and indexing settings for attribute creation order.">H5Pget_attr_creation_order</a></td><td><a class="el" href="class_h5_1_1_obj_creat_prop_list.html#ab5bdffda763c7a08c4eb86a43c31664e">H5::ObjCreatPropList::getAttrCrtOrder</a> </td></tr>
</table>
<h4>Library Configuration</h4>
<ul>
<li>Use of thread-safety with the HDF5 High-level Library has been declared unsupported in the build tools: Autotools and CMake. </li>
<li>The global lock used by the thread-safety mechanism is not raised to the high-level library level, making it possible that the library state could change if a context switch were to occur in a high-level library call. Because of this, the combination of thread-safety and the high-level library is officially unsupported by The HDF Group.<br />
Though this combination has never been supported in HDF5, this was not enforced by the build systems. With this release, the combination has been explicitly flagged as unsupported in Autotools and CMake, the build systems used with HDF5.</li>
</ul>
<p>The new unsupported declaration will cause an Autotools configure step to fail if <code>&ndash;enable-threadsafe</code> and <code>&ndash;enable-hl</code> are combined unless additional options are specified (see below). Since the high-level library is built by default, this means that these extra configuration options will need to be used any time <code>&ndash;enable-threadsafe</code> is selected.</p>
<p>To use Autotools to build an application with &ndash;enable-threadsafe, use one of the following approaches: </p><ul>
<li>Use <code>&ndash;disable-h</code>l to disable the high-level library. (Recommended) </li>
<li>Use <code>&ndash;enable-unsupported</code> to build the high-level library with the thread-safety feature.</li>
</ul>
<p>To use CMake to build an application with HDF5_ENABLE_THREADSAFE=ON, use one of the following approaches: </p><ul>
<li>Use <code>HDF5_BUILD_HL_LIB=OFF</code> to disable the high-level library. (Recommended) </li>
<li>Use <code>HDF5_ALLOW_UNSUPPORTED=ON</code> to build the high-level library with the thread-safety feature.</li>
</ul>
<p>Since this combination is unsupported, applications using it must be carefully tested for potential thread-safety failures.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_16_compat"></a>
Compatibility Notes and Report</h3>
<h4>Decoupled shared object version numbers (soname)</h4>
<p>Shared object version numbers, soname, for HDF5 wrapper libraries, such as the C++ and Fortran libraries, have been decoupled from the shared object version number for the HDF5 library. In this and future releases, each library's soname will be maintained on an individual basis according to the interface changes specific to each wrapper library.</p>
<h4>Changed shared library interface version numbers (soname)</h4>
<p>For HDF5 Release 1.8.16, the shared object version numbers have changed as follows. </p><table class="doxtable">
<tr>
<th>Library</th><th>Release 1.8.15</th><th>Release 1.8.16</th><th>Reason for Change </th></tr>
<tr>
<td>HDF5 Library</td><td>10.0.1</td><td>10.1.0</td><td>Added APIs </td></tr>
<tr>
<td>C++ Library</td><td>10.0.1</td><td>11.0.0</td><td>Changes in existing APIs </td></tr>
<tr>
<td>High-level C++ Library</td><td>10.0.1</td><td>11.0.0</td><td>Changes in existing APIs </td></tr>
<tr>
<td>All others</td><td>10.0.1</td><td>10.0.2</td><td>Code changes that did not result in interface changes </td></tr>
</table>
<h4>Compatibility report for Release 1.8.16 versus Release 1.8.15</h4>
<p>The following interface compatibility report provides a full list of the changed symbols: API compatibility report for the HDF5 Library between 1.8.15 and 1.8.16 versions on x86</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_15"></a>
Release 1.8.15 of May 2015 versus Release 1.8.14</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.14 to Release 1.8.15.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_15_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<p><b>The following new C functions have been added</b>: Memory allocation functions that use the library's allocator. </p><ul>
<li><a class="el" href="group___h5.html#ga22628978a6ac53bee610ea5d22e48683" title="Allocates memory that will be freed later internally.">H5allocate_memory</a> </li>
<li><a class="el" href="group___h5.html#gab8024266aca102414ba2960e27ddb7c2" title="Resizes and, if required, re-allocates memory that will later be freed internally by the HDF5 library...">H5resize_memory</a></li>
</ul>
<p>The following functions enable programmatic control of the loading of dynamic plugin filters in user applications: </p><ul>
<li><a class="el" href="group___h5_p_l.html#ga3ee7276ca1168b175661db3866f8db0e" title="Controls the loadability of dynamic plugin types.">H5PLset_loading_state</a> </li>
<li><a class="el" href="group___h5_p_l.html#gadde42938cf1cc41fa392e8719050b52a" title="Queries the loadability of dynamic plugin types.">H5PLget_loading_state</a></li>
</ul>
<p>For preliminary documentation, see New HDF5 APIs Provide Programmatic Control of Dynamic Plugins. Final documentation is anticipated in July 2015.</p>
<h4>In the C++ Interface</h4>
<p><b>The following features have been added</b>: New wrappers for the C functions <a class="el" href="group___f_a_p_l.html#gacbe1724e7f70cd17ed687417a1d2a910" title="Controls the range of library release versions used when creating objects in a file.">H5Pset_libver_bounds</a> and <a class="el" href="group___f_a_p_l.html#gad5d7e671c3a06bcee64bc25841aaf607" title="Retrieves library version bounds settings that indirectly control the format versions used when creat...">H5Pget_libver_bounds</a> The following wrappers have been added to class <code><a class="el" href="class_h5_1_1_file_acc_prop_list.html" title="Class FileAccPropList inherits from PropList and provides wrappers for the HDF5 file access property ...">H5::FileAccPropList</a></code>. The first sets the bounds on versions of the HDF5 Library format to be used when creating or writing objects; the second retrieves the current settings: </p><ul>
<li><code>void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const;</code> </li>
<li><code>void getLibverBounds(H5F_libver_t&amp; libver_low, H5F_libver_t&amp; libver_high) const;</code></li>
</ul>
<p><b>New wrappers to retrieve the version of an object header</b> The following wrappers have been added to class <code><a class="el" href="class_h5_1_1_common_f_g.html" title="CommonFG is an abstract base class of H5Group.">H5::CommonFG</a></code> to retrieve the object header version of an object in a file or group, given the object's name. </p><ul>
<li><code>unsigned childObjVersion(const char* objname) const;</code> </li>
<li><code>unsigned childObjVersion(const H5std_string&amp; objname) const;</code></li>
</ul>
<p>A new DataType constructor A new DataType constructor takes a PredType object and invokes <a class="el" href="group___h5_t.html#gaec07efbab84f4e5b4ed22f010786be8e" title="Copies an existing datatype.">H5Tcopy</a> to generate another datatype identifier from a predefined datatype.</p>
<p>The following features have been changed: Combined <code>H5File::getObjCount</code> overloaded methods The following methods: </p><ul>
<li><code>ssize_t getObjCount(unsigned types) const;</code> </li>
<li><code>ssize_t getObjCount() const;</code></li>
</ul>
<p>have been combined into the following: </p><ul>
<li><code>ssize_t getObjCount(unsigned types = H5F_OBJ_ALL) const;</code></li>
</ul>
<p>Deprecated constructors The following two constructors of the classes AbstractDs, IdComponent, H5Location, and H5Object are no longer appropriate after the data member id was moved from IdComponent to the sub-classes in previous releases: </p><ul>
<li><code>&lt;Classname&gt;(const <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> h5_id);</code> </li>
<li><code>&lt;Classname&gt;(const &lt;Classname&gt;&amp; original);</code></li>
</ul>
<p>The copy constructors have been no-ops and are removed in this HDF5 Release 1.8.15. The other constructors will be removed in HDF5 Release 1.10 and are expected to be removed from HDF5 Release 1.8.17 if their removal causes no problems.</p>
<h4>In the Fortran Interface</h4>
<p>The following Fortran 2003 API has been added: </p><ul>
<li><a class="el" href="group___f_h5_t.html#gad8faaab2e4d701bd3da8d8b57f7790d8" title="Inserts a new enumeration datatype member.">h5t.h5tenum_insert_f</a></li>
</ul>
<p>Operation of the new Fortran 2003 version of this API is more consistent with the operation of the C API than was the Fortran 90 version.</p>
<p>Users are strongly encouraged to use the Fortran 2003 API.</p>
<p>Several global variables have been added in the Fortran API. These global variables are equivalent in definition to the comparable C definitions: </p><ul>
<li>H5G_UDLINK_F </li>
<li>H5G_SAME_LOC_F </li>
<li>H5O_TYPE_UNKNOWN_F </li>
<li>H5O_TYPE_GROUP_F </li>
<li>H5O_TYPE_DATASET_F </li>
<li>H5O_NAMED_DATATYPE_F </li>
<li>H5O_TYPE_NTYPES_F</li>
</ul>
<p><b>For parallel applications</b> A fix for issues encountered upon calling MPI_Finalize without having closed everything in an HDF5 file</p>
<p>An attribute destroy callback has been attached to MPI_COMM_SELF that shuts down the HDF5 Library when MPI_COMM_SELF is destroyed, that is, on MPI_Finalize. This should fix several issues that users see when they forget to close HDF5 objects before calling MPI_Finalize().</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_15_compat"></a>
Compatibility Report and Comments</h3>
<h4>Compatibility report for Release 1.8.15 versus Release 1.8.14</h4>
<p>API compatibility report for the HDF5 Library between 1.8.14 and 1.8.15 versions on x86</p>
<p>Changed shared library interface version number (soname)</p>
<p>In the C++ interface, two overloaded methods have been combined into a single method and one constructor has been deprecated.</p>
<p>Due to these changes, the shared library interface version number (soname) has been increased. For a full list of the changed symbols, see the interface compatibility report linked immediately above.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_14"></a>
Release 1.8.14 of November 2014 versus Release 1.8.13</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.13 to Release 1.8.14.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_14_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the main library C Interface</h4>
<ul>
<li>No new C functions have been added.</li>
</ul>
<p>The behavior of the following C function has been changed: </p><ul>
<li><a class="el" href="group___f_a_p_l.html#gada5811359151b195aa5e1172becd0250" title="Sets write tracking information for core driver, H5FD_CORE.">H5Pset_core_write_tracking</a>, The function <a class="el" href="group___f_a_p_l.html#gada5811359151b195aa5e1172becd0250" title="Sets write tracking information for core driver, H5FD_CORE.">H5Pset_core_write_tracking</a> has been modified to enforce the limitation that the value of the page_size parameter cannot equal 0 (zero):</li>
</ul>
<p><b>The following performance optimization has been implemented in the Parallel HDF5 library</b>: The algorithm for writing chunk fill values for new datasets has been optimized to write out all chunk fill values collectively in a single MPI-IO call. This was previously done independently by rank 0 (zero) one block at a time. This optimization should produce a significant performance improvement when creating chunked datasets in parallel, most notably when chunk dimensions are relatively small. This optimization will be evident in use of the following function: </p><ul>
<li><a class="el" href="group___h5_d.html#ga0647ba4bbd26d5230cc07f3a5685b2cf">H5Dcreate</a></li>
</ul>
<h4>In the high-level library C Interface</h4>
<ul>
<li>High-level HDF5 interfaces now ensure that strings are null-terminated and will not overflow a buffer. </li>
<li>In several high-level functions, the type from the file was previously reused as the memory type and no check is made to ensure that a string was actually null-terminated. </li>
<li>All high-level functions now check for NULL pointers; verify that a received a string is null-terminated; and verify that the string will not overflow the buffer. The minimum length of the buffers is now used in strncmp to avoid overflow.</li>
</ul>
<h4>In the main library C++ Interface</h4>
<p>No new C++ methods have been added.</p>
<p>The following changes have been made in the C++ interface:<br />
<b>Changed defaults</b> </p><ul>
<li>Default value of class member id:<br />
The data member id in several classes that represent HDF5 objects are now initialized to H5I_INVALID_ID. </li>
<li>Default value of a PropList member id:<br />
The data member id in class PropList is now initialized to H5P_DEFAULT.</li>
</ul>
<p>In HDF5 Release 1.8.13 and earlier, the above were initialized to 0 (zero).</p>
<p><b>Changed file access flags</b> </p><ul>
<li>The flag H5F_ACC_CREAT has been removed from the C++ interface.\</li>
</ul>
<h4>In the main library Fortran Interface</h4>
<ul>
<li>No new Fortran subroutines have been added.</li>
</ul>
<p><b>Changed Fortran INTEGER parameter types</b>:<br />
Types of the following Fortran parameter constants have been changed from INTEGER to INTEGER(HID_T): </p><ul>
<li>H5FD_CORE </li>
<li>H5FD_MULTI </li>
<li>H5FD_FAMILY </li>
<li>H5FD_SEC2 </li>
<li>H5FD_LOG </li>
<li>H5FD_STDIO </li>
<li>H5FD_MPIO</li>
</ul>
<p>Other internal int types have been changed to <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a>, but this change is expected to be transparent to the user.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_14_compat"></a>
Compatibility Report and Comments</h3>
<h4>Compatibility report for Release 1.8.14 versus Release 1.8.13</h4>
<p>API compatibility report for the HDF5 Library between 1.8.13 and 1.8.14 versions on x86</p>
<p><b>Changed shared library interface version number (soname)</b> </p><ul>
<li>To increase the maintainability of HDF5, an architectural change has been made that required renaming several public symbols in <a class="el" href="_h5_ppublic_8h.html">H5Ppublic.h</a>. </li>
<li>Due to these changes, the shared library interface version number (soname) has been increased. For a full list of the changed symbols, see the interface compatibility report linked immediately above.</li>
</ul>
<h2><a class="anchor" id="subsec_rel_spec_18_change_13"></a>
Release 1.8.13 of May 2014 versus Release 1.8.12</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.12 to Release 1.8.13.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_13_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<p><b>The following new C functions have been added</b>:<br />
To free memory allocated by HDF5 function calls: </p><ul>
<li><a class="el" href="group___h5.html#ga71872bf6445cba956da86d4762b662cf" title="Frees memory allocated by the HDF5 library.">H5free_memory</a> - This function should be used to free memory that has been allocated by HDF5 API calls such as H5Tget_member_name and H5Pget_class_name. The primary value for this call is on Windows systems, where it is common for application code and the HDF5 Library to be using different C run-time libraries (CRT). Using this new call ensures that the same CRT handles both the allocation and free.<br />
This function can also be useful in any case where the library uses a different memory manager than the application, such as when a debug memory manager is in use or when the HDF5 Library is wrapped for use in a managed language like Python or Java.</li>
</ul>
<p><b>New configuration property for the CORE driver</b>: </p><ul>
<li><a class="el" href="group___f_a_p_l.html#gada5811359151b195aa5e1172becd0250" title="Sets write tracking information for core driver, H5FD_CORE.">H5Pset_core_write_tracking</a> - This function sets a property in the file access property list to track the dirty regions in the file and write out only the changed regions on flush or close operations. This function is used with the CORE driver, <a class="el" href="group___f_a_p_l.html#gac9f8c916dbe7b5e4ef23e9a7b15f370f" title="Modifies the file access property list to use the H5FD_CORE driver.">H5Pset_fapl_core</a>.<br />
Additionally, a page aggregation size can be set that will aggregate small writes into larger writes. For example, setting a 1 mebibyte (1 MiB) page aggregation size will logically partition the the in-memory file into 1 MiB pages that will be written out in their entirety if even a single byte is dirtied. </li>
<li><a class="el" href="group___f_a_p_l.html#ga767be5f6f42a14bb1550c47ac08ad469" title="Gets information about the write tracking feature used by the core VFD.">H5Pget_core_write_tracking</a> - This function retrieves the property set by <a class="el" href="group___f_a_p_l.html#gada5811359151b195aa5e1172becd0250" title="Sets write tracking information for core driver, H5FD_CORE.">H5Pset_core_write_tracking</a>.</li>
</ul>
<p><b>The following C functions have been modified</b>: </p><ul>
<li><a class="el" href="group___h5_r.html#ga4c112c388f697324270fd085100dccaa" title="Retrieves a name for a referenced object.">H5Rget_name</a> - The function signature has been changed to return the size of the buffer required to read the name (not including the NULL terminator) if the name parameter is passed as NULL. The size parameter is ignored in this case. </li>
<li><a class="el" href="group___h5_z.html#ga3594e10d70739ccda55ebb55b17b50ee" title="Determines whether a filter is available.">H5Zfilter_avail</a> - This function has been updated to correctly identify dynamically loaded filters. If a filter is not found among registered filters, the function now checks for dynamically loaded filters.</li>
</ul>
<h4>In the C++ Interface</h4>
<p><b>The following new features have been added</b>:<br />
Wrappers to the class H5Object to get an object's name: </p><ul>
<li><code>ssize_t getObjName(char *obj_name, size_t buf_size = 0)</code> </li>
<li><code>ssize_t getObjName(H5std_string&amp; obj_name, size_t len = 0)</code> </li>
<li><code>H5std_string getObjName()</code></li>
</ul>
<p>Wrappers to the class H5CommonFG to get a child object's type from a group or file: </p><ul>
<li><code><a class="el" href="_h5_opublic_8h.html#a929ff459574495f461657f6be804cdec">H5O_type_t</a> childObjType(const H5std_string&amp; objname)</code> </li>
<li><code><a class="el" href="_h5_opublic_8h.html#a929ff459574495f461657f6be804cdec">H5O_type_t</a> childObjType(const char* objname)</code> </li>
<li><code><a class="el" href="_h5_opublic_8h.html#a929ff459574495f461657f6be804cdec">H5O_type_t</a> childObjType(<a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> index, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> index_type = H5_INDEX_NAME, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order = H5_ITER_INC, const char* objname = ".")</code></li>
</ul>
<p>Wrappers to the class DSetMemXferPropList for setting or getting a transform property list: </p><ul>
<li><code>void DSetMemXferPropList(const char* expression)</code> </li>
<li><code>void setDataTransform(const char* expression)</code> </li>
<li><code>ssize_t getDataTransform(char* exp, size_t buf_size = 0)</code> </li>
<li><code>H5std_string getDataTransform()</code></li>
</ul>
<p>Wrapper to CompType for setting the size of a compound datatype: </p><ul>
<li><code>void setSize(size_t size)</code></li>
</ul>
<p>Overloaded functions to provide prototypes that declare constant arguments const: </p><ul>
<li><code>DataSet::fillMemBuf</code> </li>
<li><code>DataSet::getVlenBufSize</code> </li>
<li><code>DataSpace::extentCopy</code> </li>
<li><code>DataType::commit</code> </li>
<li><code>FileAccPropList::setSplit</code> </li>
<li><code>H5File::getVFDHandle</code></li>
</ul>
<p>Additional overload to the class H5Location to get a comment as a char*: </p><ul>
<li><code>ssize_t getComment(const char* name, size_t buf_size, char* comment)</code></li>
</ul>
<p>Additional overloads to the class Attribute to get an attribute's name for convenience: </p><ul>
<li><code>ssize_t getName(char* attr_name, size_t buf_size=0)</code> </li>
<li><code>ssize_t getName(H5std_string&amp; attr_name, size_t buf_size=0)</code></li>
</ul>
<h4>In the Fortran Interface</h4>
<p>The following new Fortran subroutines have been added:</p>
<p>Fortran2003 subroutines: </p><ul>
<li><a class="el" href="group___f_h5_p.html#ga21153b9ab3b18807cd3bb69f97de5928" title="Sets an initial file image in a memory buffer.">h5p.h5pset_file_image_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga5169ab36349c85105bced2a378c36355" title="Retrieves a copy of the file image designated as the initial content and structure of a file.">h5p.h5pget_file_image_f</a> </li>
<li><a class="el" href="group___f_h5_f.html#gaadcc5da2bf8778217f32c8afc39c811e" title="Retrieves a copy of the image of an existing, open file.">h5f.h5fget_file_image_f</a> (Added in Release 1.8.11, but not documented at that time.)</li>
</ul>
<p>The following Fortran subroutine has been changed: </p><ul>
<li><a class="el" href="group___f_h5_p.html#gaeb686e07c8239a6dc5dbc4722f563a85" title="Set the number of objects in the meta data cache and the maximum number of chunks and bytes in the ra...">h5p.h5pset_chunk_cache_f</a> - The values of the constants H5D_CHUNK_CACHE_NSLOTS_DFLT_F and H5D_CHUNK_CACHE_NBYTES_DFLT_F have been changed to INTEGER(KIND=size_t).</li>
</ul>
<h4>Other New Features</h4>
<p>Parallel I/O support: </p><ul>
<li>Parallel I/O support has been enhanced to allow collective I/O on point selections.</li>
</ul>
<h4>Thread safety (Windows only)</h4>
<ul>
<li>The thread-safe HDF5 library no longer leaks thread-local storage resources on Windows with Win32 threads. This cleanup can only be performed when the library is built as a shared library, so a thread-safe HDF5 static library with Win32 threads is no longer supported.<br />
This change affects only Windows environments.</li>
</ul>
<p>Also see <a class="el" href="#subsubsec_rel_spec_18_change_13_build">Build and Configuration</a> below.</p>
<h4>Command-line Tools with Changed Behavior</h4>
<p><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a></p>
<p><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> has been updated to correctly handle dynamically loaded filters.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_13_build"></a>
Build and Configuration</h3>
<h4>Thread safety</h4>
<p>When configuring a thread-safe HDF5 Library with <code>&ndash;enable-threadsafe</code>, it is no longer necessary to specify <code>&ndash;with-pthreads</code> if the Pthreads library is in a standard location.</p>
<h4>Removed Functions and Wrappers</h4>
<p>The MPI-POSIX driver has been removed. The following C functions and the corresponding Fortran subroutines and C++ wrappers therefore are no longer included in the HDF5 distribution: </p><ul>
<li>H5Pset_fapl_mpiposix </li>
<li>H5Pget_fapl_mpiposix</li>
</ul>
<p>Applications performing parallel I/O should use the MPI-IO driver, <a class="el" href="group___f_a_p_l.html#ga7519d659a83ef5717d7a5d95baf0e9b1" title="Stores MPI IO communicator information to the file access property list.">H5Pset_fapl_mpio</a>.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_12"></a>
Release 1.8.12 of November 2013 versus Release 1.8.11</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.11 to Release 1.8.12.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_12_new"></a>
New and Changed Functions, Classes, Subroutines, Wrappers, and Macros</h3>
<h4>In the C Interface (main library)</h4>
<p>The following C functions have been modified: </p><ul>
<li><a class="el" href="group___h5_z.html#ga6b8bcdde70c9256c50c7c62ba66380f8" title="Unregisters a filter.">H5Zunregister</a> now checks for open objects using a filter before allowing the filter to be unregistered. </li>
<li><a class="el" href="group___h5_d.html#ga3525b15235ba1fd415f988899e48dc5c" title="Scatters data into a selection within a memory buffer.">H5Dscatter</a> and <a class="el" href="group___h5_d.html#ga1f6a428a8234d7c2ccba7da4742d79be" title="Gathers data from a selection within a memory buffer raw data chunk in a dataset.">H5Dgather</a> signatures have changed slightly. The src_buff parameter type is now <code>const void *</code> (previously: <code>void *</code>).</li>
</ul>
<h4>In the C++ Interface</h4>
<p>The following new C++ class has been added: </p><ul>
<li><code><a class="el" href="class_h5_1_1_h5_location.html" title="H5Location is an abstract base class, added in version 1.8.12.">H5::H5Location</a></code> The class <a class="el" href="class_h5_1_1_h5_location.html" title="H5Location is an abstract base class, added in version 1.8.12.">H5::H5Location</a> has been added as a base class of H5File and H5Object. It represents the location concept in the C library, where an identifier of an HDF5 object or an HDF5 file being passed in as a loc_id parameter.</li>
</ul>
<p>The following member functions and their overloaded versions have been moved from various subclasses into the base class H5Location: </p><ul>
<li>createAttribute() </li>
<li>openAttribute() </li>
<li>attrExists() </li>
<li>renameAttr() </li>
<li>removeAttr() </li>
<li>flush() </li>
<li>getFileName() </li>
<li>getNumAttrs() </li>
<li>getObjType() </li>
<li>iterateAttrs() </li>
<li>setComment() </li>
<li>getComment() </li>
<li>removeComment() </li>
<li>reference() </li>
<li>dereference() </li>
<li>getRegion()</li>
</ul>
<p>The following wrappers for C functions have been added: </p><ul>
<li><code>H5Location::getRefObjType</code> - Retrieves the type of the object that an object reference points to.<br />
Corresponding C function: H5Rget_obj_type2 </li>
<li><code>H5Location::attrExists</code> - Determines whether an attribute with a given name exists.<br />
Corresponding C function: H5Aexists </li>
<li><code>H5Location::setComment</code> - Attaches a comment to an object.<br />
Corresponding C function: H5Oset_comment<br />
Two overloaded versions of H5Location::setComment have been added to take "." in place of the name of the object.</li>
</ul>
<p>In the classes DataSet, DataType, and Group, the following constructors have changed as follows:<br />
These constructors </p><ul>
<li><code>DataSet(H5Object&amp; obj, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> </li>
<li><code>DataSet(H5File&amp; h5file, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> </li>
<li><code>DataSet(Attribute&amp; attr, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> have changed to </li>
<li><code>DataSet(const H5Location&amp; loc, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> </li>
<li><code>DataSet(const Attribute&amp; attr, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code></li>
</ul>
<p>These constructors </p><ul>
<li><code>DataType(H5Object&amp; obj, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> </li>
<li><code>DataType(H5File&amp; h5file, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> </li>
<li><code>DataType(Attribute&amp; attr, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> have changed to </li>
<li><code>DataType(const H5Location&amp; loc, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> </li>
<li><code>DataType(const Attribute&amp; attr, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code></li>
</ul>
<p>These constructors </p><ul>
<li><code>Group(H5Object&amp; obj, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> </li>
<li><code>Group(H5File&amp; h5file, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> </li>
<li><code>Group(Attribute&amp; attr, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> have changed to </li>
<li><code>Group(const H5Location&amp; loc, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code> </li>
<li><code>Group(const Attribute&amp; attr, const void* ref, <a class="el" href="_h5_rpublic_8h.html#a7d148ddc165e65b01efabfd738ac056e">H5R_type_t</a> ref_type = H5R_OBJECT);</code></li>
</ul>
<h4>New Command-line Tool <a class="el" href="struct_options.html">Options</a> and Option Parameters</h4>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a></p>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> has a new option for identifying objects by a full or partial path: </p><ul>
<li><code>-NP</code> </li>
<li><code>&ndash;any-path=P</code></li>
</ul>
<p>The <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> attributes-only option, <code>-A or &ndash;only-attr</code>, now accepts an optional parameter value of 0 (zero): </p><ul>
<li><code>-A 0</code> </li>
<li><code>&ndash;only-attr=0</code> Specifying this value has the effect of reversing the role of the option to display everything except attributes.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a></p>
<p>The <a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> option <code>-f, &ndash;filter</code> has a new parameter, UD, to enable the use of user-defined filters: </p><ul>
<li><code>-f UD=&lt;filter_parameters&gt;</code> </li>
<li><code>&ndash;filter=UD=&lt;filter_parameters&gt;</code></li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__s_t__u_g.html#sec_cltools_h5stat">h5stat</a></p>
<p><a class="el" href="_h5_t_o_o_l__s_t__u_g.html#sec_cltools_h5stat">h5stat</a> has three new options for setting print thresholds: For attributes: </p><ul>
<li><code>-aN</code> </li>
<li><code>&ndash;attribute=N</code></li>
</ul>
<p>For links in a group: </p><ul>
<li><code>-lN</code> </li>
<li><code>&ndash;links=N</code></li>
</ul>
<p>For dimension sizes: </p><ul>
<li><code>-mN</code> </li>
<li><code>&ndash;dims=N</code></li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_12_build"></a>
Build and Configuration</h3>
<h4>CMake and Autotools configuration</h4>
<p>A new configuration option can be used to change the default plugin path: </p><ul>
<li>Autotools configure option <code>&ndash;with-default-plugindir=location</code> </li>
<li>CMake option -DH5_DEFAULT_PLUGINDIR:PATH=location</li>
</ul>
<p>CMake configuration </p><ul>
<li>CMake builds of HDF5 now create *.so.{lt_version} files with the same version as configure.</li>
</ul>
<p>Autotools configure flag </p><ul>
<li>The configure flag FFLAGS has been renamed to FCFLAGS.</li>
</ul>
<p>Compile Scripts with Changed Behavior </p><ul>
<li>h5cc and h5pcc </li>
<li>h5c++ </li>
<li>h5fc and h5pfc</li>
</ul>
<p>These compile scripts have been modified to change the default behavior to link to shared libraries in environments where HDF5 has been configured with <code>&ndash;disable-static</code>.</p>
<p>Command-line Tools with Changed Behavior <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a></p>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> output now displays USER_DEFINED_FILTER where it previously displayed UNKNOWN_FILTER.</p>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> now correctly exports subsetted data to a file using the <code>-o, &ndash;output</code> option.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_11"></a>
Release 1.8.11 of May 2013 versus Release 1.8.10</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.10 to Release 1.8.11.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_11_new"></a>
New and Changed Functions and Subroutines</h3>
<h4>The following new high-level C function has been added</h4>
<ul>
<li><a class="el" href="group___h5_d_o.html#ga873b08130d88e81487f24bc3c1ce0d29" title="Writes a raw data chunk from a buffer directly to a dataset in a file.">H5DOwrite_chunk</a> - This function writes a data chunk directly into a file, bypassing hyperslab selection, data conversion, and the filter pipeline. The user must be careful with the function and clearly understand the I/O process of the library. See <a class="el" href="_h5_d_o__u_g.html#sec_hldo_direct_chunk">Direct Chunk Write Function</a> for additional information. <a class="el" href="group___h5_d_o.html#ga873b08130d88e81487f24bc3c1ce0d29" title="Writes a raw data chunk from a buffer directly to a dataset in a file.">H5DOwrite_chunk</a> is the first function in <a class="el" href="_h5_d_o__u_g.html">HDF5 High Level Optimizations</a> library.</li>
</ul>
<h4>The following new C functions have been added</h4>
<ul>
<li><a class="el" href="group___h5_d.html#ga3525b15235ba1fd415f988899e48dc5c" title="Scatters data into a selection within a memory buffer.">H5Dscatter</a> and <a class="el" href="group___h5_d.html#ga1f6a428a8234d7c2ccba7da4742d79be" title="Gathers data from a selection within a memory buffer raw data chunk in a dataset.">H5Dgather</a> - These functions scatter data to and gather data from a selection within a memory buffer.</li>
</ul>
<h4>The following new Fortran subroutines have been added</h4>
<p><b>Fortran90 subroutines</b>: </p><ul>
<li><a class="el" href="group___f_h5_o.html#ga19ac557c685ef7a2ed3fb0fba4c54074" title="Decrements an object reference count.">h5o.h5odecr_refcount_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#ga75a45f3cf17086fb2e6a339f7914fda7" title="Determines whether a link resolves to an actual object.">h5o.h5oexists_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#ga59fc5980136553b57e47e4cacd7999eb" title="Retrieves comment for specified object.">h5o.h5oget_comment_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#gac237ff94bcc03f6e8e311a866b20310b" title="Retrieves comment for specified object.">h5o.h5oget_comment_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#gae82a5a69f8bfbe50ced183032e93c8e8" title="Increments an object reference count.">h5o.h5oincr_refcount_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#ga0c59c0717072db4444fe6164cc970957" title="Open the nth object in a group.">h5o.h5oopen_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#ga3fbcbefb1e2dc1436852114bd81cb33d" title="Sets comment for specified object.">h5o.h5oset_comment_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#gaada5df77b659e32eae1c9ed5cf864c1f" title="Sets comment for specified object.">h5o.h5oset_comment_by_name_f</a></li>
</ul>
<p>h5oclose_f was introduced in HDF5 Release 1.8.8 but remained undocumented until this release.</p>
<p>Fortran2003 subroutines: </p><ul>
<li><a class="el" href="group___f_h5_o.html#gabdbe70d333edbc46cffd791495e3edea" title="Retrieves the metadata for an object specified by an identifier.">h5o.h5oget_info_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#ga6666adcfef409c0828390b75730f9987" title="Retrieves the metadata for an object, identifying the object by an index position.">h5o.h5oget_info_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#gaed6f1ee04db6973cbffca2cf0c33348f" title="Recursively visits all objects starting from a specified object.">h5o.h5ovisit_by_name_f</a></li>
</ul>
<h4>New Feature: Dynamically Loaded Filters</h4>
<p>HDF5 now detects and dynamically loads external filters, reducing the need for an application to register custom filters or for a developer building on HDF5 to compile a custom filter into a customized HDF5 distribution.</p>
<p>See HDF5 <a class="el" href="_h5_d__u_g.html#subsubsec_dataset_transfer_dyn_filter">Data Pipeline Dynamically Loaded Filters</a> for further information.</p>
<h4>New Command-line Tool Option</h4>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> and <a class="el" href="_h5_t_o_o_l__i_m__u_g.html#sec_cltools_h5import">h5import</a></p>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> has a new option to output the DDL structure of a file or object: </p><ul>
<li><code>-O&lt;filename&gt;</code> </li>
<li><code>&ndash;ddl=&lt;file_name&gt;</code> [-O above is dash-uppercase-o.]</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__i_m__u_g.html#sec_cltools_h5import">h5import</a> can now take the output of <code>h5dump -O&lt;ddl_filename&gt; -o&lt;data_filename&gt;</code> directly as input files. See <a class="el" href="_view_tools_convert.html#secViewToolsConvertExport">Export from h5dump and Import into HDF5</a>.</p>
<h4>New Configuration and Build Tool</h4>
<ul>
<li>cmakehdf5 - This new build command script is similar to buildhdf5 and is available in\ the bin/ directory of the distributed source code. </li>
<li>For HDF5, the CMake minimum is now 2.8.10.</li>
</ul>
<h4>Function, Subroutines, and Feature with Changed Syntax or Behavior</h4>
<p>The return value of the following high-level C function has changed: </p><ul>
<li>H5DSget_scale_name - This function has been changed to not include the NULL terminator in the returned size of of the dimension scale name (bug fix).</li>
</ul>
<h4>In the Fortran subroutines</h4>
<ul>
<li><a class="el" href="group___f_h5_p.html#ga00ebfa0049995feca79a60353ccdaede" title="Adds an external file to the list of external files.">h5p.h5pset_external_f</a> and <a class="el" href="group___f_h5_p.html#ga126f1cef1ac023caf94d4db8f502b4e9" title="Returns information about an external file.">h5p.h5pget_external_f</a> - the type of the offset parameter has changed to INTEGER(KIND=OFF_T) to support 8-byte integers, matching the C type definition of off_t. </li>
<li>The HDF5 Library now supports data conversion from enumeration to integer and floating-point numeric datatypes.</li>
</ul>
<h4>Command-line Tools with Changed Behavior</h4>
<p><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> - When comparing two files or objects, <a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> now recognizes a unique extra attribute attached to an object as a difference and returns with an exit code of 1. Previously, <a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> did not recognize the extra attribute as a difference.</p>
<p><a class="el" href="_h5_t_o_o_l__l_s__u_g.html#sec_cltools_h5ls">h5ls</a> - The content of the <code>h5ls &ndash;help</code> output has been revised.</p>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> - has been updated to display the compression ratio for user-defined filters. In <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> output, UNKNOWN_FILTER has been changed to USER_DEFINED_FILTER.</p>
<h4>Removed Functions and Wrappers</h4>
<p>The following C functions and the corresponding C++ wrappers have been removed: </p><ul>
<li><code>H5Pset_dxpl_multi</code> </li>
<li><code>H5Pget_dxpl_multi</code> </li>
<li><code><a class="el" href="class_h5_1_1_d_set_mem_xfer_prop_list.html" title="Class DSetCreatPropList inherits from PropList and provides wrappers for the HDF5 dataset memory and ...">H5::DSetMemXferPropList</a>:setMulti</code> </li>
<li><code><a class="el" href="class_h5_1_1_d_set_mem_xfer_prop_list.html" title="Class DSetCreatPropList inherits from PropList and provides wrappers for the HDF5 dataset memory and ...">H5::DSetMemXferPropList</a>:getMulti</code></li>
</ul>
<h2><a class="anchor" id="subsec_rel_spec_18_change_10"></a>
Release 1.8.10 of November 2012 versus Release 1.8.9</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.9 to Release 1.8.10.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_10_new"></a>
New and Changed Functions and Subroutines</h3>
<h4>The following new C function has been added</h4>
<ul>
<li>H5Pget_mpio_no_collective_cause</li>
</ul>
<p><b>The following new Fortran subroutine has been added</b>: </p><ul>
<li><a class="el" href="group___f_h5_p.html#gaafd8d84fc5b061be3dc0fb3d6278ce19" title="Retrieves the type of I/O that HDF5 actually performed on the last parallel I/O call....">h5p.h5pget_mpio_actual_io_mode_f</a></li>
</ul>
<p>The syntax of the following high-level C function has changed: </p><ul>
<li>H5TBAget_fill - This function's return type has been changed to h5tri_t. A return value of 1 indicates that a fill value is present, 0 indicates that no fill value is present, and a negative value indicates an error. (The former return type was <a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a>.) Note that H5TBAget_fill and a companion function H5TBAget_title, both in the HDF5 Table (H5TB) high-level API, are undocumented. These functions will be added to the <a class="el" href="_r_m.html">HDF5 Reference Manual</a> shortly after HDF5 Release 1.8.10.</li>
</ul>
<p>Changed Command-line Tool <a class="el" href="_h5_t_o_o_l__i_m__u_g.html#sec_cltools_h5import">h5import</a> has been updated to accept an input file created by <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a>.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_9"></a>
Release 1.8.9 of May 2012 versus Release 1.8.8</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.8 to Release 1.8.9.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_9_new"></a>
New and Changed Functions</h3>
<p>A new high level C function and Fortran subroutine were added to HDF5 Lite (H5LT) to determine whether an HDF5 path is correct and resolves to a valid HDF5 object: </p><ul>
<li>h5LTpath_valid </li>
<li><a class="el" href="group___f_h5_l_t.html#gaaec8047e22dda2e0e56a23bfd684e053" title="Determines whether an HDF5 path is valid and, optionally, whether the path resolves to an HDF5 object...">h5lt.h5ltpath_valid_f</a></li>
</ul>
<p>The new file image operations feature consists of the following functions and their associated callbacks, struct, and ENUM. This feature enables an application to load a file into memory (as a file image) and to operate on that file image without the overhead of disk I/O. This feature provides the following functions: </p><ul>
<li><a class="el" href="group___h5_l_t.html#gae2834cca05d6c4787f51933cc521f8fb" title="Opens an HDF5 file image in memory.">H5LTopen_file_image</a> </li>
<li><a class="el" href="group___h5_f.html#gadc53f4e76b1199cb5d2a8cb7fbb114ad" title="Retrieves a copy of the image of an existing, open file.">H5Fget_file_image</a> </li>
<li><a class="el" href="group___f_a_p_l.html#ga31d0299f6ad287e013b2a02a8ccc1fa2" title="Sets an initial file image in a memory buffer.">H5Pset_file_image</a> </li>
<li><a class="el" href="group___f_a_p_l.html#ga337626cc516d5d1e3303ea6bc350e56b" title="Retrieves a copy of the file image designated as the initial content and structure of a file.">H5Pget_file_image</a> </li>
<li><a class="el" href="group___f_a_p_l.html#ga14ea3598215afd078b964b672b40d63c" title="Sets the callbacks for working with file images.">H5Pset_file_image_callbacks</a> </li>
<li><a class="el" href="group___f_a_p_l.html#gae17e38082dfdbadd75c897f1e6a9096e" title="Retrieves callback routines for working with file images.">H5Pget_file_image_callbacks</a></li>
</ul>
<p>For the callbacks, struct, and ENUM, see <a class="el" href="group___f_a_p_l.html#ga14ea3598215afd078b964b672b40d63c" title="Sets the callbacks for working with file images.">H5Pset_file_image_callbacks</a>. Use of this feature is described in <a class="el" href="_h5_f_i_m__u_g.html#sec_file_image">HDF5 File Image</a>.</p>
<p>The following functions were modified or added to the HDF5 Library to allow an application to control the operation of copying committed datatypes with H5Ocopy:</p>
<h4>Function with changed interface</h4>
<ul>
<li><a class="el" href="group___o_c_p_y_p_l.html#ga8819261e0b4663827212892e10dfc8a6" title="Sets properties to be used when an object is copied.">H5Pset_copy_object</a> - New flag for use with <a class="el" href="group___o_c_p_y_p_l.html#ga8819261e0b4663827212892e10dfc8a6" title="Sets properties to be used when an object is copied.">H5Pset_copy_object</a>:<br />
<a class="el" href="_h5_opublic_8h.html#a11355b69cd246ae15e7d4c53cd210bd8">H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG</a></li>
</ul>
<p><b>Function with changed behavior</b>: </p><ul>
<li><a class="el" href="group___h5_o.html#gaa94449be6f67f499be5ddd3fc44f4225" title="Copies an object in an HDF5 file.">H5Ocopy</a> - This function's behavior is changed, but only with the use of the new flag, <a class="el" href="_h5_opublic_8h.html#a11355b69cd246ae15e7d4c53cd210bd8">H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG</a>.</li>
</ul>
<p><b>New functions and callback function</b>: </p><ul>
<li><a class="el" href="group___o_c_p_y_p_l.html#ga9e0448885990a1b9ebd4493b7604f0c1" title="Sets the callback function that H5Ocopy() will invoke before searching the entire destination file fo...">H5Pset_mcdt_search_cb</a> </li>
<li><a class="el" href="group___o_c_p_y_p_l.html#ga5d7b82394d37bda28769a0435300d396" title="Retrieves the callback function from the specified object copy property list.">H5Pget_mcdt_search_cb</a> </li>
<li><a class="el" href="_h5_opublic_8h.html#aa35611ba3daa73768194274c0e2a20eb">H5O_mcdt_search_cb_t</a> </li>
<li><a class="el" href="group___o_c_p_y_p_l.html#gab89c9debe50afca848151ff046afc82f" title="Adds a path to the list of paths that will be searched in the destination file for a matching committ...">H5Padd_merge_committed_dtype_path</a> </li>
<li><a class="el" href="group___o_c_p_y_p_l.html#ga4b8d6496ac56b167dba16729a8bd7adf" title="Clears the list of paths stored in the object copy property list.">H5Pfree_merge_committed_dtype_paths</a> Use of this capability is described in <a class="el" href="copying_committed.html">Copying Committed Datatypes with H5Ocopy</a>.</li>
</ul>
<p>The following C functions and Fortran subroutines were added to provide a mechanism to ensure sequential consistency in parallel environments using MPI I/O: </p><ul>
<li><a class="el" href="group___p_h5_f.html#gaaefabc54e36a2d13325e9a853400f359" title="Sets the MPI atomicity mode.">H5Fset_mpi_atomicity</a> </li>
<li><a class="el" href="group___p_h5_f.html#ga5356a1bee667b2a7dd1b657c820755fd" title="Retrieves the atomicity mode in use.">H5Fget_mpi_atomicity</a> </li>
<li>h5fset_mpi_atomicity_f </li>
<li>h5fget_mpi_atomicity_f</li>
</ul>
<p>The following function was added at Release 1.8.5 but was not documented at that time. It is mentioned here for those who may have missed its introduction: </p><ul>
<li><a class="el" href="group___h5_o.html#gab0fef18d97844c4f83d412c5a22def7b" title="Determines whether a link resolves to an actual object.">H5Oexists_by_name</a></li>
</ul>
<h4>New Fortran Subroutines</h4>
<p>The following Fortran subroutines have been added in this release: </p><ul>
<li><a class="el" href="group___f_h5_l_t.html#gaaec8047e22dda2e0e56a23bfd684e053" title="Determines whether an HDF5 path is valid and, optionally, whether the path resolves to an HDF5 object...">h5lt.h5ltpath_valid_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#gaa207f2836dfd29d04c38f58607d5b575" title="Copies an object in an HDF5 file.">h5o.h5ocopy_f</a> </li>
<li>h5fset_mpi_atomicity_f </li>
<li>h5fget_mpi_atomicity_f</li>
</ul>
<p>Where a subroutine is part of a new HDF5 feature, that feature is described above.</p>
<h4>Fortran Subroutine with Changed Behavior</h4>
<p>The content of the buffer returned by the following Fortran subroutine has changed as noted: </p><ul>
<li><a class="el" href="group___f_h5_l_t.html#ga6422c7066a9e5f2e96a0f64bc024628d" title="Reads an attribute from disk.">h5lt.h5ltget_attribute_string_f</a> - If the returned buffer requires padding, <a class="el" href="group___f_h5_l_t.html#ga6422c7066a9e5f2e96a0f64bc024628d" title="Reads an attribute from disk.">h5lt.h5ltget_attribute_string_f</a> now employs space padding; this buffer was previously returned with a C NULL terminator.</li>
</ul>
<h4>Command-line Utilities with New <a class="el" href="struct_options.html">Options</a> and/or Changed Behavior</h4>
<p><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> has one new option and improved performance under certain circumstances: </p><ul>
<li><code>-Mn, &ndash;metadata_block_size=n</code> Sets the metadata block size in the output file. Performance is improved when repacking large chunked datasets (for example, when dataset size exceeds 128 MB).</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__s_t__u_g.html#sec_cltools_h5stat">h5stat</a> has one new option: </p><ul>
<li><code>-S, &ndash;summary</code> Displays a summary of file space usage for a file.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> has one new option, a new capability, and updated output: </p><ul>
<li><code>&ndash;no-compact-subset</code> Disables compact subsetting to allow the left-hand square bracket character ( <code>[</code> ) in a dataset name. </li>
<li>The files parameter now accommodates wildcards. With this change, <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> command-line options can be applied across multiple files without listing the files individually.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> output has been updated for this release to improve compliance with the HDF5 <a class="el" href="_s_p_e_c.html#sec_spec_ddl">DDL</a> specification and to improve readablilty. This output is now fully compliant with the HDF5 <a class="el" href="_s_p_e_c.html#sec_spec_ddl">DDL</a> specification, but these changes may affect some user scripts: </p><ul>
<li>Whitespace has been modified. </li>
<li>Display errors, such as misplaced brackets, have been fixed. </li>
<li>When printing superblock content, user block content is now properly displayed within the superblock.</li>
</ul>
<h2><a class="anchor" id="subsec_rel_spec_18_change_8"></a>
Release 1.8.8 of November 2011 versus Release 1.8.7</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.7 to Release 1.8.8.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_8_new"></a>
New C Functions</h3>
<p>Two new parallel I/O functions enable an application to query whether or how a collective I/O operation actually completed: </p><ul>
<li><a class="el" href="group___d_x_p_l.html#ga37ec8c3b3f1880ed6e1b300bc4ee9ed5" title="Retrieves the type of chunk optimization that HDF5 actually performed on the last parallel I/O call (...">H5Pget_mpio_actual_chunk_opt_mode</a> </li>
<li><a class="el" href="group___d_x_p_l.html#ga20efee54f7e69f5ececa0d3c752d3344" title="Retrieves the type of I/O that HDF5 actually performed on the last parallel I/O call (not necessarily...">H5Pget_mpio_actual_io_mode</a></li>
</ul>
<h4>Updated Fortran Interface, including Fortran 2003 Features</h4>
<p>The HDF5 Fortran interface has been extended and upgraded to Fortran 2003 for this release.</p>
<p>See <a class="el" href="#subsubsec_rel_spec_18_change_8_conf">Configure and Build Changes</a> below for the configure options to use when building HDF5 with Fortran 2003 enabled.</p>
<p>Features enabled in this upgrade are described in New Features in the HDF5 Fortran Library: </p><ul>
<li>Adding Support for the Fortran 2003 Standard (PDF only). In general, the links below are to technical descriptions (reference manual entries, for example) of specific interfaces.</li>
</ul>
<p>Terminology: </p><ul>
<li>If the Fortran compiler in use is Fortran 2003 compliant and the installed HDF5 Library was configured using both the <code>&ndash;enable-fortran</code> and <code>&ndash;enable-fortran2003</code> flags, the resulting HDF5 Fortran Library is referred to below as a Fortran 2003 environment. Without either of the Fortran 2003 compliant compiler or the <code>&ndash;enable-fortran2003</code> flag, the resulting HDF5 Fortran Library is referred to below as a Fortran 90 environment.</li>
</ul>
<h4>New Fortran 2003-only subroutines</h4>
<p>New subroutines available only in Fortran 2003 environments: </p><ul>
<li><a class="el" href="group___f_h5_d.html#gad0d33b3355bf0337ae261d207cde9aa5" title="Reclaims VL datatype memory buffers.">h5d.h5dvlen_reclaim_f</a> </li>
<li><a class="el" href="group___f_h5_e.html#gae085627dd12406d957a1a200aed188e6" title="Returns settings for automatic error stack traversal function and its data.">h5e.h5eset_auto_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gaefb80ce5f9684adc388db149145a56a9" title="Iterates through links in a group.">h5l.h5literate_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gad003be2bb372d942d6da17786d6f3780" title="$ SUBROUTINE h5lget_val_by_idx_f(loc_id, group_name, index_field, order, n, &amp; $ f_corder_valid,...">h5l.h5literate_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#ga1aa4f84b78f029f048593b1ec0757a63" title="Recursively visits all objects starting from a specified object.">h5o.h5ovisit_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#ga40081a5f47dc7900a795c0df62791ff7" title="Retrieves the metadata for an object, identifying the object by location and relative name.">h5o.h5oget_info_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_t.html#ga26953ceb53421180eaceaedcb9909bbf" title="Converts data from between specified datatypes.">h5t.h5tconvert_f</a></li>
</ul>
<h4>Subroutines with Fortran 90 versions and extended features in Fortran 2003 environments</h4>
<p>Subroutines in this section have extended support in Fortran 2003 environments, but are new or unchanged in Fortran 90 environments.</p>
<p>All existing Fortran 90 subroutines, including those not mentioned below, are available in both Fortran 90 and Fortran 2003 environments.</p>
<p>Subroutines with support for the derived type C_PTR in Fortran 2003 environments: </p><ul>
<li><a class="el" href="group___f_h5_p.html#ga39ade37224835f58e7e1673241357ab6" title="Queries the value of a property.">h5p.h5pget_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gafcbc6758d443c504f67b8e84a42fae49" title="Gets fill value for a dataset creation property list.">h5p.h5pget_fill_value_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gaa3ffcdaea90a048f2e4616f111102063" title="Registers a temporary property with a property list class.">h5p.h5pinsert_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga4c50326f6043256ec5736e669c9fe141" title="Registers a permanent property with a property list class.">h5p.h5pregister_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gae21a330f2222f0141dea5bf1ebb9f56b" title="Sets a property list value.">h5p.h5pset_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gaf8ca56e61c98f8beb7d3346f8f8b8b77" title="Sets fill value for a dataset creation property list.">h5p.h5pset_fill_value_f</a> </li>
<li><a class="el" href="group___f_h5_r.html#gab353c178fef510803be41898fb1cc4fc" title="Creates a reference.">h5r.h5rcreate_f</a> </li>
<li>h5rdereference_f </li>
<li><a class="el" href="group___f_h5_r.html#gaa74e6c3a73a025cd4872990bbeba2871" title="Retrieves a name of a referenced object.">h5r.h5rget_name_f</a> </li>
<li><a class="el" href="interfaceh5r_1_1h5rget__object__type__f.html">h5r.h5rget_object_type_f</a></li>
</ul>
<p>Subroutines with support for the derived type C_PTR and a changed signature in Fortran 2003 environments: </p><ul>
<li><a class="el" href="group___f_h5_a.html#gafa636328909031f7c90f483eb27f4740" title="Reads an attribute.">h5a.h5aread_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#ga9fb50a131f3a2852ccaf0d202429f40c" title="Writes data to an attribute.">h5a.h5awrite_f</a> </li>
<li><a class="el" href="group___f_h5_d.html#ga66251041236aa279bf30a1bb8070a837" title="Reads raw data from a dataset into a buffer (Passes Pointer).">h5d.h5dread_f</a> </li>
<li><a class="el" href="group___f_h5_d.html#ga4451bc359e514ad419b4c17b6fba0067" title="Writes raw data from a buffer to a dataset.">h5d.h5dwrite_f</a></li>
</ul>
<p>Subroutine with additional optional parameters in Fortran 2003 environments: </p><ul>
<li><a class="el" href="group___f_h5_p.html#ga66caa74772fb509f8c33e4b433465013" title="Create a new property list class.">h5p.h5pcreate_class_f</a></li>
</ul>
<h4>New and updated Fortran 90 subroutines</h4>
<p>New Fortran 90 subroutines: </p><ul>
<li><a class="el" href="group___f_h5_p.html#gae06eb2278fc69db42df2efb7626c084d" title="Sets up the use of the N-Bit filter.">h5p.h5pset_nbit_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga7682b83b8c9d6955a93eab8847986352" title="Sets up the use of the scale-offset filter.">h5p.h5pset_scaleoffset_f</a></li>
</ul>
<p>Updated Fortran 90 subroutines: </p><ul>
<li><a class="el" href="group___f_h5.html#ga3ca54ba860cf80a39bcaef71484f5baf" title="Initializes HDF5 Fortran interface.">h5lib.h5open_f</a> </li>
<li><a class="el" href="group___f_h5.html#gaaae21753ce0b3ef8eeb85720ac705d88" title="Closes HDF5 Fortran interface.">h5lib.h5close_f</a> - has been modified in this release to close only the HDF5 Fortran Library interface; it no longer closes the underlying HDF5 Library. </li>
<li><a class="el" href="group___f_h5.html#ga52f34ed77742a854b8ac701a580c2064" title="Verifies that library versions are consistent.">h5lib.h5check_version_f</a> </li>
<li><a class="el" href="group___f_h5.html#ga93f6117c7d768224ae63c0e380168c3b" title="Returns the HDF5 LIbrary release number.">h5lib.h5get_libversion_f</a> </li>
<li><a class="el" href="group___f_h5.html#ga317ffcf96e04bfdcdce23e7049c414bf" title="Garbage collects on all free-lists of all types.">h5lib.h5garbage_collect_f</a> </li>
<li><a class="el" href="group___f_h5.html#ga1c43bfc696f18af3c90eed2cdf65ec45" title="Instructs library not to install atexit cleanup routine.">h5lib.h5dont_atexit_f</a></li>
</ul>
<h4>New Fortran utility functions and derived types</h4>
<p>New Fortran utility functions: </p><ul>
<li><a class="el" href="group___f_h5.html#ga01e3a81f299b9c9cb4bc088bab795412" title="Computes the offset in memory.">h5lib.h5offsetof</a> Available only in Fortran 2003 environments. </li>
<li><a class="el" href="group___f_h5.html#gae0bc892d7536ce3994d3dfcd26ae0a33" title="Converts the KIND to the correct HDF type.">h5lib.h5kind_to_type</a> Available in either Fortran environment.</li>
</ul>
<p>New Fortran derived types in Fortran 2003 environments: </p><ul>
<li><a class="el" href="structhvl__t.html">hvl_t</a> Described in New Features. </li>
<li>h5o_info_t See h5ovisit_f.</li>
</ul>
<h4>New high level Fortran interface</h4>
<p>New Fortran subroutines in the HDF5 Dimension Scale high-level interface, H5DS: </p><ul>
<li><a class="el" href="group___f_h5_d_s.html#gaeb5d3e43c9934bb2fe7e3dbdec534417" title="Convert dataset dsid to a dimension scale, with optional name, dimname.">h5ds.h5dsset_scale_f</a> </li>
<li><a class="el" href="group___f_h5_d_s.html#ga50588af3875bff680ae903a55a3f0cdf" title="Attach dimension scale dsid to dimension idx of dataset did.">h5ds.h5dsattach_scale_f</a> </li>
<li><a class="el" href="group___f_h5_d_s.html#ga15843c184487bf78bd73eef0c4693c5e" title="Detach dimension scale dsid from the dimension idx of dataset did.">h5ds.h5dsdetach_scale_f</a> </li>
<li><a class="el" href="group___f_h5_d_s.html#ga19cad5f337c36e2ac26bd5f3809e6567" title="Report if dimension scale dsid is currently attached to dimension idx of dataset did.">h5ds.h5dsis_attached_f</a> </li>
<li><a class="el" href="group___f_h5_d_s.html#ga6640937911372482b872e03b80fbad88" title="Determines whether did is a Dimension Scale.">h5ds.h5dsis_scale_f</a> </li>
<li><a class="el" href="group___f_h5_d_s.html#ga7f9cb5b5f8f5eb1e1b3c069038a1674d" title="Set label for the dimension idx of did to the value label.">h5ds.h5dsset_label_f</a> </li>
<li><a class="el" href="group___f_h5_d_s.html#ga12ed0456a8ac947465dd2a427eff6917" title="Read the label for dimension idx of did into buffer label.">h5ds.h5dsget_label_f</a> </li>
<li><a class="el" href="group___f_h5_d_s.html#gaeb9f29853c60e6ee68846cfc22167c3b" title="Read the name of scale did into buffer name.">h5ds.h5dsget_scale_name_f</a> </li>
<li><a class="el" href="group___f_h5_d_s.html#ga229397f9f94eb63f1491863a3042cdc4" title="Determines how many Dimension Scales are attached to dimension idx of did.">h5ds.h5dsget_num_scales_f</a></li>
</ul>
<p>These subtroutines are available in both Fortran 90 and Fortran 2003 environments.</p>
<h4>C Functions with Changed Capability</h4>
<ul>
<li><a class="el" href="group___h5_t.html#gaa9afc38e1a7d35e4d0bec24c569b3c65" title="Creates a new datatype.">H5Tcreate</a> now supports fixed-length and variable-length string types.</li>
</ul>
<h4>Driver Changes on Windows Systems</h4>
<p>Changed behavior: </p><ul>
<li>HDF5's Windows driver has been modified in this release to be a wrapper of the POSIX-compliant SEC2 driver. This change should be transparent to all user applications.</li>
</ul>
<p>New default driver: </p><ul>
<li>As of this release, the default driver on Windows systems is changed to SEC2; it had previously been the Windows driver. If you wish to use the Windows driver in an application, it remains fully available. In such cases, the driver must be set explicitly with a <a class="el" href="group___f_a_p_l.html#gad25acfdce018e6f8459d890b3725062e" title="Sets the Windows I/O driver.">H5Pset_fapl_windows</a> call.</li>
</ul>
<h4>Command-line Utilities with Changed Behavior</h4>
<ul>
<li><a class="el" href="_h5_t_o_o_l__j_a_m__u_g.html#sec_cltools_h5jam">h5jam</a> now checks the file that is to be inserted into the user block and does not allow the insertion if it is an HDF5 file. This is necessary because an HDF5 file in the user block will make the original HDF5 portion of the file inaccessible. </li>
<li><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> with the <code>&ndash;delta</code> option reports two NaN values as equal regardless of the type of NaN (as described in the reference manual entry). </li>
<li><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a>, when comparing a file to itself, now reports no differences.</li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_8_conf"></a>
Configure and Build Changes</h3>
<p>configure now uses the same flags and symbols in its tests as are used to build the library.</p>
<p>To build HDF5 with the Fortran 2003 interfaces requires the use of two configure options: </p><ul>
<li><code>&ndash;enable-fortran</code> </li>
<li><code>&ndash;enable-fortran2003</code></li>
</ul>
<p>Note that building the Fortran 2003 interfaces requires a Fortran 2003-capable compiler and that <code>&ndash;enable-fortran2003</code> cannot be used alone.</p>
<p>The <code>&ndash;enable-h5dump-packed-bits</code> configure option has been removed. The code that this option enabled is now always compiled into <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a>.</p>
<p>When building on Linux systems, the HDF5 Library now links with the bsd_compat library.</p>
<h4>Parallel Library and Configuration Changes</h4>
<p>The parallel HDF5 library now always compiles code to take advantage of MPI functionalities that allow for the use of complex derived datatypes during IO and that allow for collective IO when one or more processes do not contribute to the operation.</p>
<p>This was previously conditionally compiled into the library and controlled by configure via the <code>hdf5_cv_mpi_special_collective_io_works</code> and <code>hdf5_cv_mpi_complex_derived_datatype_works</code> cache values. These values were preset in the <code>config/*</code> files based on the compiler and/or system or could be set on the configure line. Support for these cache values has been removed and they no longer have an effect on the compilation of the use of these MPI functionalities.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_7"></a>
Release 1.8.7 of May 2011 versus Release 1.8.6</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.6 to Release 1.8.7.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_7_new"></a>
New C Functions and Macros</h3>
<p>Three new functions enable the caching of files opened through external links. This cache can improve the performance of external links in heavy use cases: </p><ul>
<li><a class="el" href="group___f_a_p_l.html#gac21a815e9b133802df625c9f766ef325" title="Sets the number of files that can be held open in an external link open file cache.">H5Pset_elink_file_cache_size</a> </li>
<li><a class="el" href="group___f_a_p_l.html#ga4c9bcfff90f48bfefa2c25e551485923" title="Retrieves the size of the external link open file cache.">H5Pget_elink_file_cache_size</a> </li>
<li><a class="el" href="group___h5_f.html#gafcc153d8606829d4401e93305e5246d7" title="Clears the external link open file cache.">H5Fclear_elink_file_cache</a></li>
</ul>
<p>Two new macros enable compile-time inclusion or exclusion of code depending on the version of the HDF5 Library against which an application is to be linked: </p><ul>
<li><a class="el" href="_h5public_8h.html#aa80cec001d4154b554aa2b0b6223a7f3" title="Determines whether the version of the library being used is greater than or equal to the specified ve...">H5_VERSION_GE</a> </li>
<li><a class="el" href="_h5public_8h.html#acc311aa4fed2832a44c4bb93f2625043" title="Determines whether the version of the library being used is less than or equal to the specified versi...">H5_VERSION_LE</a></li>
</ul>
<h4>C Functions with Changed Capability</h4>
<ul>
<li><a class="el" href="group___h5_t.html#ga1c00afb6dc5534778370a92c33fa2625" title="Commits a transient datatype to a file, creating a newly named datatype.">H5Tcommit1</a> </li>
<li><a class="el" href="group___h5_t.html#ga10352b6fa9ac58a7fbd5299496f1df31" title="Commits a transient datatype, linking it into the file and creating a new committed datatype.">H5Tcommit2</a> </li>
<li><a class="el" href="group___h5_t.html#ga510d2e4ab51247ab1a915be701001581" title="Commits a transient datatype to a file, creating a newly named datatype, but does not link it into th...">H5Tcommit_anon</a> - HDF5 has long blocked creating a dataset or attribute with such a datatype.</li>
</ul>
<p>HDF5 now allows the size of any dataspace dimension to be 0 (zero). This was previously allowed only if the maximum size of the dimension was unlimited. Though their signatures have not changed, the range of valid parameter values is affected for the following functions: </p><ul>
<li><a class="el" href="group___h5_s.html#ga8e35eea5738b4805856eac7d595254ae" title="Creates a new simple dataspace and opens it for access.">H5Screate_simple</a> </li>
<li><a class="el" href="group___h5_s.html#gaf2526a41d2f4506e2c52098510517343" title="Sets or resets the size of an existing dataspace.">H5Sset_extent_simple</a> </li>
<li><a class="el" href="group___d_c_p_l.html#ga64bf68bda464eaaabfe24846533b1935" title="Adds an external file to the list of external files.">H5Pset_external</a></li>
</ul>
<p>Note that no data can be written to a dataset in which the size of any dimension is set to zero.</p>
<p>In the logging file driver, implementation of the following flags has been completed: </p><ul>
<li><a class="el" href="_h5_f_dlog_8h.html#ac253b663d693a3fa154a9f70de382e3e">H5FD_LOG_TIME_OPEN</a> </li>
<li><a class="el" href="_h5_f_dlog_8h.html#ae243e77f6140dd939c7def71c2d9e1e3">H5FD_LOG_TIME_READ</a> </li>
<li><a class="el" href="_h5_f_dlog_8h.html#a7e3f0ecd0d5065d9031e8da9446442d6">H5FD_LOG_TIME_WRITE</a> </li>
<li><a class="el" href="_h5_f_dlog_8h.html#a96b366d078d5b93cd5a3b5c25ff3811f">H5FD_LOG_TIME_SEEK</a></li>
</ul>
<p>Two new flags have been added: </p><ul>
<li><a class="el" href="_h5_f_dlog_8h.html#a4c5f66077075477d56ad8424b171cbd9">H5FD_LOG_NUM_TRUNCATE</a> </li>
<li><a class="el" href="_h5_f_dlog_8h.html#a47fd3387519a8fc710cd0797e76fcef9">H5FD_LOG_TIME_STAT</a></li>
</ul>
<ul>
<li><a class="el" href="group___f_a_p_l.html#gac62545cff97df64a3a4a7377e161ce8d" title="Sets up the logging virtual file driver (H5FD_LOG) for use.">H5Pset_fapl_log</a> - HDF5 now blocks committing a datatype that cannot hold any data. This currently includes compound datatypes with no fields and enumerated datatypes with no members.</li>
</ul>
<h4>Fortran Subroutines with Changed Capability</h4>
<p>Several <code>h5ltmake_dataset*_f</code> and <code>h5ltread_dataset*_f</code> subroutines have been modified to allow them to create or read arrays of up to seven dimensions. They had previously been limited to three dimensions. </p><ul>
<li><a class="el" href="interfaceh5lt_1_1h5ltmake__dataset__f.html">h5lt.h5ltmake_dataset_f</a> </li>
<li>.h5ltmake_dataset_int_f </li>
<li>.h5ltmake_dataset_float_f </li>
<li>h5ltmake_dataset_double_f </li>
<li><a class="el" href="interfaceh5lt_1_1h5ltread__dataset__f.html">h5lt.h5ltread_dataset_f</a> </li>
<li>h5ltread_dataset_int_f </li>
<li>h5ltread_dataset_float_f </li>
<li>h5ltread_dataset_double_f </li>
<li><a class="el" href="group___f_h5_t_b.html#ga4f66143082feb48482071385d9e69cd2" title="Gets information about a table.">h5tb.h5tbget_field_info_f</a> has a new maxlen_out parameter. This parameter is optional.</li>
</ul>
<h4>Command-line Utilities with New <a class="el" href="struct_options.html">Options</a></h4>
<p><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> has a new verbose with levels option to display additional attribute information: </p><ul>
<li><code>-vn, &ndash;verbose=n</code></li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> has one new option to enable reporting of the HDF5 Library's error stack: </p><ul>
<li><code>&ndash;enable-error-stack</code></li>
</ul>
<h4>Command-line Utility with Changed Option Name</h4>
<p><a class="el" href="_h5_t_o_o_l__l_s__u_g.html#sec_cltools_h5ls">h5ls</a> has one changed option name: </p><ul>
<li><code>&ndash;enable-error-stack replaces &ndash;error.</code>. The &ndash;error option is deprecated but remains available.</li>
</ul>
<h4>Command-line Utilities with Changed Behavior</h4>
<p>Attribute comparison with <a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> has been corrected to compare all attributes with common names when comparing objects. Previously, <a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> compared attributes correctly only when two objects had the same number of attributes and all attribute names were identical; if there was either a value or name difference between two attributes, subsequent attributes were not compared.</p>
<p><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> <code>&ndash;use-system-epsilon</code> now employs the formula <code>'|a - b|'</code> instead of <code>'|a - b| / b'</code>.</p>
<p><a class="el" href="_h5_t_o_o_l__c_p__u_g.html#sec_cltools_h5copy">h5copy</a> now accepts the same file as the source and target file; this enables object copying within a file.</p>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> now displays reference types as described in <a class="el" href="_s_p_e_c.html#sec_spec_ddl">DDL</a> in BNF for HDF5: </p><ul>
<li><code>H5T_REFERENCE {H5T_STD_REF_OBJ}</code> - Object reference </li>
<li><code>H5T_REFERENCE {H5T_STD_REF_DSETREG}</code> - Dataset region reference</li>
</ul>
<h4>Configure and Build Changes</h4>
<p>Configure now generates Makefiles that build in silent make mode by default. In this mode, compile and link lines are significantly simplified for clarity. You can opt out of this default with either of the following approaches: </p><ul>
<li>Use the <code>&ndash;disable-silent-rules flag</code> at configure time to override the default and view actual compile and link lines during the build. </li>
<li>Use the make command with the <code>V=1</code> option to run a verbose make.</li>
</ul>
<p>The new configure option <code>&ndash;enable-unsupported</code> can be used to stop configure from preventing the use of unsupported configure option combinations. For example, use of this option enables building HDF5 with the unsupported and untested configurations of C++ in a parallel environment or Fortran with a threadsafe library. <code>WARNING: Use &ndash;enable-unsupported at your own risk! This option may result in a library that does not compile or does not run as expected.</code></p>
<h4>Parallel HDF5</h4>
<p>mpicc and mpif90 are now the default C and Fortran compilers on Linux systems when <code>&ndash;enable-parallel</code> is specified but no $CC or $FC is defined.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_6"></a>
Release 1.8.6 versus Release 1.8.5, February 2011</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.5 to Release 1.8.6.</p>
<h4>C Functions with Additional Capability</h4>
<p><a class="el" href="group___a_t_o_m.html#gab1aab76b1214a819281f2156c6d45d71" title="Sets the byte order of a datatype.">H5Tset_order</a> and <a class="el" href="group___a_t_o_m.html#gaeb5bd7ec46787a4b6d33947dc73c2a5f" title="Returns the byte order of an atomic datatype.">H5Tget_order</a> can now be used with all datatypes. See the related note regarding <a class="el" href="_h5_tpublic_8h.html#a2a6a8eb856a0829fecaac60f803c9fd0a40929cbd19d8cd5422d17a2bc1bc289f">H5T_ORDER_MIXED</a> immediately below.</p>
<p>ENUM with New Member <a class="el" href="_h5_tpublic_8h.html#a2a6a8eb856a0829fecaac60f803c9fd0">H5T_order_t</a>, an ENUM used to set or indicate datatype endianness, includes a new member: </p><ul>
<li>H5T_ORDER_MIXED</li>
</ul>
<p>The function <a class="el" href="group___a_t_o_m.html#gaeb5bd7ec46787a4b6d33947dc73c2a5f" title="Returns the byte order of an atomic datatype.">H5Tget_order</a> returns this value when called on a compound datatype whose members are not all of the same endianness.</p>
<h4>Command-line Utilities with New <a class="el" href="struct_options.html">Options</a></h4>
<p><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> has one new option: </p><ul>
<li><code>&ndash;exclude-path</code></li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__l_s__u_g.html#sec_cltools_h5ls">h5ls</a> and <a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> have two new options: </p><ul>
<li><code>&ndash;follow-symlinks</code> </li>
<li><code>&ndash;no-dangling-links</code></li>
</ul>
<h4>Command-line Utilities with Changed Behavior</h4>
<ul>
<li><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> now compares member objects and groups recursively when two files or groups are specified to be compared. </li>
<li><a class="el" href="_h5_t_o_o_l__l_s__u_g.html#sec_cltools_h5ls">h5ls</a> now displays object and attribute names exactly as stored in the file rather than interpreting them for output. For example, if an attribute is named <code>\ttemp</code> in the file, h5ls will output that name as <code>\ttemp</code> rather than converting the leading <code>\t</code> to a tab. </li>
<li><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> can now convert a dataset to compact layout.</li>
</ul>
<h4>Compiler Script Arguments and Environment Variables</h4>
<p>h5cc, h5fc, h5c++, h5pcc, and h5pfc arguments have been expanded to enable the user to add compiler and linker flags that will take precedence over the flags from the HDF5 build.</p>
<p>The arguments CPPFLAGS, CFLAGS, LDFLAGS, and LIBS have been duplicated with the prefix H5BLD_ to put the flags and paths from the HDF5 build in the correct places and to allow the script user to add entries in CPPFLAGS, CFLAGS, LDFLAGS, and LIBS that will take precedence over those from the HDF5 build. Changes to these entries can be made persistent by editing CFLAGSBASE, CPPFLAGSBASE, LDFLAGSBASE, and LIBSBASE near the top of the script. If the change is to be temporary, the user can set HDF5_CFLAGS, HDF5_CPPFLAGS, HDF5_LDFLAGS, or HDF5_LIBS in the environment.</p>
<p>The new order of arguments for these scripts is as follows: </p><ul>
<li><code>$CLINKER</code> </li>
<li><code>$H5BLD_CPPFLAGS</code> </li>
<li><code>$CPPFLAGS</code> </li>
<li><code>$H5BLD_CFLAGS</code> </li>
<li><code>$CFLAGS</code> </li>
<li><code>$LDFLAGS</code> </li>
<li><code>$clibpath</code> </li>
<li><code>$link_objs</code> </li>
<li><code>$LIBS</code> </li>
<li><code>$link_args</code> </li>
<li><code>$shared_link</code></li>
</ul>
<h4>Thread Safety on Windows</h4>
<p>This release adds support for thread safety on Windows using the Windows threads library. See the file RELEASE.txt in the distributed HDF5 source code (hdf5/release_docs/RELEASE.txt) for details.</p>
<h4>Parallel HDF5</h4>
<p>The Parallel HDF5 build process has changed to use mpiexec instead of mpirun.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_5"></a>
Release 1.8.5 versus Release 1.8.4, June 2010</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.4 to Release 1.8.5.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_5_new"></a>
New C Function</h3>
<p>The following function was added to the HDF5 Library at this release, but was not documented at that time: </p><ul>
<li><a class="el" href="group___h5_o.html#gab0fef18d97844c4f83d412c5a22def7b" title="Determines whether a link resolves to an actual object.">H5Oexists_by_name</a> (This note added in November 2011, shortly following Release 1.8.8.)</li>
</ul>
<h4>C Functions with Additional Capability</h4>
<p>The following functions have been modified to accommodate filters set on a group creation property list: </p><ul>
<li><a class="el" href="group___d_c_p_l.html#ga70f5346250698afc950532e9593c3988" title="Verifies that all required filters are available.">H5Pall_filters_avail</a> </li>
<li><a class="el" href="group___d_c_p_l.html#gacbd4f93aa7cd270668385440fb5873a1" title="Returns information about a filter in a pipeline (DEPRECATED)">H5Pget_filter1</a> </li>
<li><a class="el" href="group___o_c_p_l.html#ga024d200a6a07e12f008a62c4e62d0bcc" title="Returns information about a filter in a pipeline.">H5Pget_filter2</a> </li>
<li><a class="el" href="group___d_c_p_l.html#ga351bb4dc44dae41344f18aab177f4cf1" title="Returns information about the specified filter.">H5Pget_filter_by_id1</a> </li>
<li><a class="el" href="group___o_c_p_l.html#ga2d5e9df5f0e93abae11ee5edd82fcec3" title="Returns information about the specified filter.">H5Pget_filter_by_id2</a> </li>
<li><a class="el" href="group___o_c_p_l.html#gacbad1ca36a61246b439a25f28e7575fb" title="Returns the number of filters in the pipeline.">H5Pget_nfilters</a> </li>
<li><a class="el" href="group___o_c_p_l.html#ga12a358b3725a889c1768bbd2b5f541d8" title="Modifies a filter in the filter pipeline.">H5Pmodify_filter</a> </li>
<li><a class="el" href="group___o_c_p_l.html#gabffbf6d013c090fa052ac4bafce8e532" title="Delete one or more filters in the filter pipeline.">H5Premove_filter</a> </li>
<li><a class="el" href="group___d_c_p_l.html#gaf1f569bfc54552bdb9317d2b63318a0d" title="Sets deflate (GNU gzip) compression method and compression level.">H5Pset_deflate</a> </li>
<li><a class="el" href="group___o_c_p_l.html#gae7ac4c110e9ec3fcf38966928b96cda3" title="Adds a filter to the filter pipeline.">H5Pset_filter</a> </li>
<li><a class="el" href="group___o_c_p_l.html#ga8bc81abfbd0393b0a46e121f817a3f81" title="Sets up use of the Fletcher32 checksum filter.">H5Pset_fletcher32</a></li>
</ul>
<p>Related to <a class="el" href="group___h5_z.html#ga93145acc38c2c60d832b7a9b0123706b" title="Registers a new filter with the HDF5 library.">H5Zregister</a>, the calling protocol for the <code>can_apply</code> and <code>set_local callback</code> functions has been extended to accommodate the use of filters on group creation property lists.</p>
<h4>New C++ Member Function and Overloaded Member Functions</h4>
<p>The following C++ member function is new in this release: </p><ul>
<li><code>size_t DataSet::getInMemDataSize</code> - To simplify getting a dataset's data size in memory.</li>
</ul>
<p>The overloaded forms of the following C++ member functions are new in this release: </p><ul>
<li><code>CommonFG::getObjnameByIdx</code> - Overloaded to take <code>char*</code> for name. </li>
<li><code>CommonFG::getObjTypeByIdx</code> - Overloaded to return type name as <code>char*</code>.</li>
</ul>
<h4>Command-line Utility with New <a class="el" href="struct_options.html">Options</a></h4>
<p><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> has two new options: </p><ul>
<li><code>&ndash;follow-links</code> </li>
<li><code>&ndash;no-dangling-links</code></li>
</ul>
<h4>Fortran Subroutines with Changed Interface</h4>
<p>The link type parameter values associated with the following Fortran subroutines have changed in this release: </p><ul>
<li><a class="el" href="group___f_h5_l.html#gaeac9913b7460534637eb563bb24eeb3e" title="Returns information about a link.">h5l.h5lget_info_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gaf01b68f47bbe14f84531b70b479b9ed3" title="Retrieves metadata for a link in a group, according to the order within a field or index.">h5l.h5lget_info_by_idx_f</a></li>
</ul>
<p>Valid values for the parameter link_type have changed to the following: </p><ul>
<li>H5L_TYPE_HARD_F </li>
<li>H5L_TYPE_SOFT_F </li>
<li>H5L_TYPE_EXTERNAL_F </li>
<li>H5L_TYPE_ERROR_F</li>
</ul>
<p>These values previously began with the string <code>H5L_LINK_</code>.</p>
<h4>CMake</h4>
<p>This release includes an adaptation enabling HDF5 builds with CMake. This early-stage adaptation is distributed to provide an opportunity for early access and experimentation; the CMake-related files should not be viewed as final and may change before the next release.</p>
<p>While the initial development effort has been focused on Microsoft Windows platforms, the HDF5 Library has been successfully built with CMake on Linux and Mac OS X.</p>
<p>See the file CMake.txt in the distributed HDF5 source code (hdf5/release_docs/CMake.txt) for details.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_4"></a>
Release 1.8.4 versus Release 1.8.3, November 2009</h2>
<p>This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.3 to Release 1.8.4.</p>
<h4>Embedded HDF5 Library Settings Information</h4>
<p>Library settings are now embedded in an HDF5 executable so that an "orphaned" executable can be queried (via the Unix strings command, for example) to display the library settings used to build it. The embedded settings information is the same as that normally found in the libhdf5.settings file.</p>
<p>This capability may be disabled with the use of the <code>&ndash;disable-embedded-libinfo</code> flag during configure.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_4_new"></a>
New and Changed Functions</h3>
<h4>New Fortran Subroutine and Constant</h4>
<p>The following Fortran subroutine is new in this release: </p><ul>
<li>h5oopen_by_addr_f - The following Fortran constant, corresponding to the C constant <a class="el" href="_h5_tpublic_8h.html#a2a6a8eb856a0829fecaac60f803c9fd0a179aeb861afc806d2b739233972279f6">H5T_ORDER_NONE</a>, has been added in this release: H5T_ORDER_NONE_F</li>
</ul>
<h4>New C++ Member Functions</h4>
<p>New C++ member functions are provided to determine a dataset's or attribute's data size in memory: </p><ul>
<li><code>size_t DataSet::getInMemDataSize() const</code> </li>
<li><code>size_t Attribute::getInMemDataSize() const</code></li>
</ul>
<p>The size in each case is in bytes.</p>
<h4>Function with Changed Interface or Behavior</h4>
<ul>
<li><a class="el" href="group___h5.html#ga93525482e1168344f4c92470f99d88be" title="Verifies that HDF5 library versions are consistent.">H5check_version</a> now displays embedded library information (see above) if a version mismatch is detected.</li>
</ul>
<p>The function has also been changed to suppress the warning message entirely if <code>$HDF5_DISABLE_VERSION_CHECK</code> is set to 2 or higher.</p>
<h4>Fortran Subroutines with Changed Syntax</h4>
<p>The following Fortran subroutines have changed syntax in this release: </p><ul>
<li><a class="el" href="group___f_h5_l.html#gaeac9913b7460534637eb563bb24eeb3e" title="Returns information about a link.">h5l.h5lget_info_f</a> - The type of the parameter address has changed from INTEGER to INTEGER(HADDR_T). (This note added on 13 January 2010.) </li>
<li><a class="el" href="group___f_h5_l.html#gaf01b68f47bbe14f84531b70b479b9ed3" title="Retrieves metadata for a link in a group, according to the order within a field or index.">h5l.h5lget_info_by_idx_f</a> - <code>h5lget_info_by_idx_f (loc_id, group_name, index_field, order, n, &amp;link_type, f_corder_valid, corder, cset, address, val_size, &amp;hdferr, lapl_id)</code> - The parameters link_type, address, and val_size have been added; the parameter data_size has been removed.</li>
</ul>
<h4>Tools with Changed Interface or Behavior</h4>
<p><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> has one new option: </p><ul>
<li><code>&ndash;use-system-epsilon</code> - With this option, <a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> returns a difference if and only if the difference between two data values exceeds the system value for epsilon (that is, if <code>|a-b| &gt; epsilon</code>).<br />
The tool's default behavior has also changed; without this option, the tool now checks for strict equality. Prior default behavior was to use an epsilon internally defined in HDF5.<br />
This option has no short form.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> has one new option and the behavior of another set of options has changed:<br />
</p><ul>
<li><code>-R or &ndash;region</code> - With this option, <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> prints the data pointed to by a region reference. Without this option, <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> prints only the reference.</li>
</ul>
<p>Usage of the subsetting parameters has changed. All of <code>START</code>, <code>STRIDE</code>, <code>COUNT</code>, and <code>BLOCK</code> now have default values. If those defaults are satisfactory, <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> no longer requires that all four be specified when subsetting a dataset.</p>
<h4>Changed Library Configuration</h4>
<p>The following configuration flag is new with this release: </p><ul>
<li><code>&ndash;disable-embedded-libinfo</code> - This flag disables the embedding of HDF5 Library settings in an HDF5 executable.</li>
</ul>
<h2><a class="anchor" id="subsec_rel_spec_18_change_3"></a>
Release 1.8.3 versus Release 1.8.2, May 2009</h2>
<p>This section lists API-level changes and changes in behavior in the transition from HDF5 Release 1.8.2 to Release 1.8.3.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_3_new"></a>
New Functions</h3>
<h4>C functions</h4>
<p>The following C functions are new for this release and are documented in the HDF5 Reference Manual. </p><ul>
<li><a class="el" href="group___l_a_p_l.html#ga8850042eed51777866d7bd0d050cfdc2" title="Sets the external link traversal callback function in a link access property list.">H5Pset_elink_cb</a> - Sets the user-defined function for traversing external links. </li>
<li><a class="el" href="group___l_a_p_l.html#gacbf576bd8f7e63f3a91134b12d6b2d12" title="Retrieves the external link traversal callback function from the specified link access property list.">H5Pget_elink_cb</a> - Retrieves the user-defined function for traversing external links. </li>
<li><a class="el" href="group___l_a_p_l.html#ga020f7eb2eae01043286af50db0a76d82" title="Sets the external link traversal file access flag in a link access property list.">H5Pset_elink_acc_flags</a> - Sets the flags for accessing external links. </li>
<li><a class="el" href="group___l_a_p_l.html#gaf1357eb0940f171efecae06a9ed6155b" title="Retrieves the external link traversal file access flag from the specified link access property list.">H5Pget_elink_acc_flags</a> - Retrieves the flags for accessing external links. </li>
<li><a class="el" href="group___d_a_p_l.html#ga104d00442c31714ee073dee518f661f1" title="Sets the raw data chunk cache parameters.">H5Pset_chunk_cache</a> - Sets the chunk cache parameters. </li>
<li><a class="el" href="group___d_a_p_l.html#gaeda015dfee4167cc60baab1d1f0560fe" title="Retrieves the raw data chunk cache parameters.">H5Pget_chunk_cache</a> - Retrieves the chunk cache parameters. </li>
<li><a class="el" href="group___h5_d.html#ga252c0ddac7a7817bd757190e7398353b" title="Returns the dataset access property list associated with a dataset.">H5Dget_access_plist</a> - Returns a copy of the dataset access property list. </li>
<li><a class="el" href="group___h5_i.html#ga20eb10c559d9ed5ba6f77b31d6a3ba9a" title="Determines whether an identifier is valid.">H5Iis_valid</a> - Determines whether an identifier is valid.</li>
</ul>
<h4>Fortran Subroutines</h4>
<p>The following subroutines are new in this release: </p><ul>
<li><a class="el" href="group___f_h5_d.html#ga9d4a246f7458d218f797da2b18e40b51" title="Returns a copy of the dataset creation property list.">h5d.h5dget_access_plist_f</a> </li>
<li><a class="el" href="group___f_h5_i.html#ga78cf3465aa41ed52bdbb9d80fa54d70c" title="Check if an ID is valid without producing an error message.">h5i.h5iis_valid_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gaeb686e07c8239a6dc5dbc4722f563a85" title="Set the number of objects in the meta data cache and the maximum number of chunks and bytes in the ra...">h5p.h5pset_chunk_cache_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga1829cd90f140fb049bb2ea2625adb88c" title="Retrieves the raw data chunk cache parameters.">h5p.h5pget_chunk_cache_f</a></li>
</ul>
<h4>Function with Changed Behavior</h4>
<ul>
<li>H5set_free_list_limits</li>
</ul>
<p>The HDF5 Library now dynamically creates separate factory free lists to manage blocks of a fixed size; these blocks were previously managed within the blockfree lists. Factory free lists use the same settings as specified in H5set_free_list_limits for block free lists.</p>
<p>While the API has not changed, users may see both a performance boost and increased memory usage.</p>
<h4>Tools with Changed Interface or Behavior</h4>
<p><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> default behavior is now to detect and compare NaNs. Use the <code>-N</code> or <code>&ndash;nan</code> option (below) to turn this behavior off and avoid the performance penalty that NaN detection and comparison entalis. (NaN detection and comparison became the default in in HDF5 Release 1.6.8.)</p>
<p>This tool has two new options: </p><ul>
<li><code>-c, &ndash;compare</code> Lists objects that are not comparable. </li>
<li><code>-N, &ndash;nan</code> Avoids NaNs detection.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> now correctly specifies an XML DTD or a schema URL.</p>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> binary output now defaults to NATIVE. </p><ul>
<li>The new <code>-b, &ndash;binary</code> option can be used to specify alternate binary formats.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> - When a user does not specify a chunk size, <a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> now defines the default chunk size to be the same same as the size of the hyperslab used to read the chunks.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_2"></a>
Release 1.8.2 versus Release 1.8.1, November 2008</h2>
<p>This section lists API-level changes and changes in behavior in the transition from HDF5 Release 1.8.1 to Release 1.8.2.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_2_new"></a>
New Functions</h3>
<h4>C functions</h4>
<p>The following C functions are new for this release and are documented in the <a class="el" href="_r_m.html">HDF5 Reference Manual</a>. </p><ul>
<li><a class="el" href="group___l_a_p_l.html#ga3895e8e60ce8f0b6f32ab7a22c715d1a" title="Sets a file access property list for use in accessing a file pointed to by an external link.">H5Pset_elink_fapl</a> - Sets the file access property list for external link traversal. </li>
<li><a class="el" href="group___l_a_p_l.html#ga2c2fe0a0396b9a0a02b28402e4ee108a" title="Retrieves the file access property list identifier associated with the link access property list.">H5Pget_elink_fapl</a> - Retrieves the file access property list identifier for the external link access property list.</li>
</ul>
<h4>Fortran Subroutine</h4>
<p>The following subroutine is new in this release: </p><ul>
<li><a class="el" href="group___f_h5_t.html#ga3e1a8171836aa1b9fd77b5e79c2c5587" title="Returns the native datatype of a specified datatype.">h5t.h5tget_native_type_f</a></li>
</ul>
<h4>New C++ Wrappers</h4>
<p>A number of C++ wrappers were added/removed. See RELEASE.txt for details.</p>
<h4>Functions with Changed Syntax</h4>
<p>The following function syntaxes have changed; the affected return values and parameter are noted as underscored red text.</p>
<h4>C functions</h4>
<ul>
<li><a class="el" href="group___h5_f.html#gadcdae0aca7c88064db0d32de7f1e31f2" title="Returns the number of open object identifiers for an open file.">H5Fget_obj_count</a> - Returns ssize_t </li>
<li><a class="el" href="group___h5_f.html#ga35e72579bd07433162b80ddc0bd0c5b1" title="Returns a list of open object identifiers.">H5Fget_obj_ids</a> - Returns ssize_t</li>
</ul>
<h4>Changed Fortran Subroutines</h4>
<p>The optional parameter mounted has been added to the following subroutines: </p><ul>
<li><a class="el" href="group___f_h5_g.html#ga342819ce799f2124195507d73f359e81" title="Retrieves information about a group.">h5g.h5gget_info_f</a> </li>
<li><a class="el" href="group___f_h5_g.html#ga11c96cfd376734b5c32b021b2321cf65" title="Retrieves information about a group, according to the group&#39;s position within an index.">h5g.h5gget_info_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_g.html#ga2f07d9a9eea89d2a9b4be58bb4bb5bea" title="Retrieves information about a group by its name.">h5g.h5gget_info_by_name_f</a></li>
</ul>
<p><b>Changed Data Structure</b> </p><ul>
<li><a class="el" href="struct_h5_g__info__t.html">H5G_info_t</a> - A mounted filed has been added to the <a class="el" href="struct_h5_g__info__t.html">H5G_info_t</a> struct.</li>
</ul>
<h4>Tools with Changed Interface or Behavior</h4>
<ul>
<li><a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> now returns 1 if the files differ in structure, i.e., if the file graphs differ by any object.<br />
The tool's error return code has been changed to 2.</li>
</ul>
<ul>
<li><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> and <a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a><br />
The standard command-line syntax of both tools has been changed to parallel that of <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a>. The new syntax of each is as follows:<br />
<code>h5repack [OPTIONS] file1 file2</code><br />
<code>h5diff [OPTIONS] file1 file2 [object1 [object2]]</code></li>
</ul>
<p>In each case, the old syntax remains available (though undocumented) to avoid breaking existing scripts.</p>
<p><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> - The following new options control the addition of user block data to an existing HDF5 file: </p><ul>
<li><code>-u U, &ndash;ublock=U</code> - Specifies the name of the file containing the user block data to be added. </li>
<li><code>-b B, &ndash;block=B</code> - Specifies the size of the block to be added.</li>
</ul>
<p>The following new options set parameters governing the tool's use of H5Pset_alignment: </p><ul>
<li><code>-t T, &ndash;threshold=T</code> - Specifies the threshold value for H5Pset_alignment. </li>
<li><code>-a A, &ndash;alignment=A</code> - Specifies the alignment value for H5Pset_alignment.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> </p><ul>
<li>now supports multiple instances of the <code>'-f'</code> or <code>'&ndash;filter'</code> option, allowing the use of multiple I/O filters with an object. </li>
<li>With no change in the command-line syntax, <a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> now retains an existing userblock when repacking an HDF5 file.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__i_m__u_g.html#sec_cltools_h5import">h5import</a> </p><ul>
<li>The floating point format flag TEXTFPE, for scientific notation, has been deprecated. The flag TEXTFP, which accepts scientific notation, should be used instead.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__i_m__u_g.html#sec_cltools_h5import">h5import</a> </p><ul>
<li>now imports string data with the STR keyword in the INPUT-CLASS configuration field.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> and <a class="el" href="_h5_t_o_o_l__l_s__u_g.html#sec_cltools_h5ls">h5ls</a> </p><ul>
<li>These tools now traverse external links when performing recursive traversals.</li>
</ul>
<p><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> </p><ul>
<li>Binary output now defaults to NATIVE with the <code>'-b'</code> option, optionally accepting NATIVE, FILE, BE, and LE. </li>
<li>The new <code>'-m T'</code> or <code>'&ndash;format T'</code> option enables a user-defined formatting string for printing floating-point numbers.</li>
</ul>
<p>With no change in the command-line syntax, <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> now prints a compression ratio when compression filters are in use.</p>
<h4>Deprecated Functions</h4>
<p>The following functions are deprecated as of this release: </p><ul>
<li><a class="el" href="group___d_x_p_l.html#ga55445d27d058dadcd34fdba93344855e" title="Sets the dataset transfer property list status.">H5Pset_preserve</a> and <a class="el" href="group___d_x_p_l.html#gacca1a094d70c3b2277175145142fda10" title="Checks status of the dataset transfer property list (DEPRECATED)">H5Pget_preserve</a> - The original role of these functions is now part of the core HDF5 Library functionality.</li>
</ul>
<h4>Changed File Installation</h4>
<p>The file libhdf5_fortran.settings is no longer installed with the HDF5 Library; the original content of that file is now included in libhdf5.settings.</p>
<h4>Changed Library Configuration</h4>
<p>It is no longer necessary to manually set an SZIP library path in LD_LIBRARY_PATH when building HDF5 with shared SZIP libraries; configure will determine the correct path from the <code>&ndash;with-szlib</code> flag, prepending it to and exporting LD_LIBRARY_PATH.</p>
<p>Note that if an SZIP library path is set in a user-supplied LD_LIBRARY_PATH, in an existing script, for example, that does not necessarily need to be changed; configure will prepend the SZIP library path extracted from <code>&ndash;with-szlib</code> to the user-supplied LD_LIBRARY_PATH.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_1"></a>
Release 1.8.1 versus Release 1.8.0</h2>
<p>HDF5 Release 1.8.1 is a minor release with several bugfixes and optimizations and limited new features.</p>
<p>The most significant new feature is an expanded set of Fortran90 APIs, enabling essentially all new C library features of Release 1.8.0.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_1_new"></a>
New Functions and Tools</h3>
<h4>C functions</h4>
<p>There are no new C functions for Release 1.8.1.</p>
<h4>Fortran subroutines</h4>
<p>The following Fortran subroutines are new for Release 1.8.1 and are documented in the HDF5 Reference Manual. <b>H5A</b> </p><ul>
<li><a class="el" href="group___f_h5_a.html#gac0c12363a621529d8933f6d828a6bc35" title="Creates a dataset as an attribute of a group, dataset, or named datatype.">h5a.h5acreate_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#ga265e4038024d38eee97803f4df05e3a8" title="Creates an attribute attached to a specified object.">h5a.h5acreate_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#ga02751272e96370944f347d4f86ba182c" title="Deletes an attribute from an object according to index order.">h5a.h5adelete_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#gabf7d68203abbd453cd491abb118ca87c" title="Removes an attribute from a specified location.">h5a.h5adelete_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#gafa106072a38e8fa36f4e93a45bec4fb8" title="Determines whether an attribute with a given name exists on an object.">h5a.h5aexists_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#gabe492efdf3c22fb50600f9028ec25b35" title="Determines whether an attribute with a given name exists on an object.">h5a.h5aexists_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#gacbfa8d76d901157b87f918f50ee9c301" title="Gets an attribute creation property list identifier.">h5a.h5aget_create_plist_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#ga0884c27021d591f086a718619192801b" title="Retrieves attribute information, by attribute identifier.">h5a.h5aget_info_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#ga421b7973e5fd200a375c7c1d7a03ab84" title="Retrieves attribute information by attribute index position.">h5a.h5aget_info_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#gaccce4ff6dcc0dee559fad1e3fb86e995" title="Retrieves attribute information, by attribute name.">h5a.h5aget_info_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#gab0064f6051c4fe5977d0a6a234c10b14" title="Gets an attribute name, by attribute index position.">h5a.h5aget_name_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#ga862bbe19801777c48a07637380a4f125" title="Returns the amount of storage required for an attribute.">h5a.h5aget_storage_size_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#gad4c72cade00515878981f64efc4d779b" title="Opens an attribute for an object specified by object identifier and attribute name.">h5a.h5aopen_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#ga1124c0954bc9a5193a4b47900a85b757" title="Opens an existing attribute that is attached to an object specified by location and name.">h5a.h5aopen_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#gad24e550d0fd5140a60874780f0bc5d85" title="Opens an attribute for an object by object name and attribute name.">h5a.h5aopen_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#gaa126fda0883a23bc08019d3c25794b6c" title="Renames an attribute.">h5a.h5arename_f</a> </li>
<li><a class="el" href="group___f_h5_a.html#ga658def0a8d88a0d7660b28ac5d663cde" title="Renames an attribute.">h5a.h5arename_by_name_f</a></li>
</ul>
<p><b>H5D</b> </p><ul>
<li><a class="el" href="group___f_h5_d.html#ga6c572709fa07bd0b8d2fb7d07ecd6073" title="Creates a dataset in a file without linking it into the file structure.">h5d.h5dcreate_anon_f</a> </li>
<li><a class="el" href="group___f_h5_d.html#ga5422721017b75f11b6b018a09fa24797" title="Creates a dataset at the specified location.">h5d.h5dcreate_f</a> </li>
<li><a class="el" href="group___f_h5_d.html#ga56db335650709fe67bbfbc5a46ff4abf" title="Opens an existing dataset.">h5d.h5dopen_f</a> </li>
<li><a class="el" href="group___f_h5_d.html#ga88da228859a8e29deed4d77cf88df5f2" title="Extends a dataset with unlimited dimension.">h5d.h5dset_extent_f</a></li>
</ul>
<p><b>H5G</b> </p><ul>
<li><a class="el" href="group___f_h5_g.html#gad6f5a657141854976db7d3626e46d65f" title="Creates a new empty group without linking it into the file structure.">h5g.h5gcreate_anon_f</a> </li>
<li><a class="el" href="group___f_h5_g.html#ga46671f95224d65f76bd160172d780b5f" title="Creates a new group.">h5g.h5gcreate_f</a> </li>
<li><a class="el" href="group___f_h5_g.html#gacba3215c2be6f7613f18bd5a3238628c" title="Gets a group creation property list identifier.">h5g.h5gget_create_plist_f</a> </li>
<li><a class="el" href="group___f_h5_g.html#ga342819ce799f2124195507d73f359e81" title="Retrieves information about a group.">h5g.h5gget_info_f</a> </li>
<li><a class="el" href="group___f_h5_g.html#ga11c96cfd376734b5c32b021b2321cf65" title="Retrieves information about a group, according to the group&#39;s position within an index.">h5g.h5gget_info_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_g.html#ga2f07d9a9eea89d2a9b4be58bb4bb5bea" title="Retrieves information about a group by its name.">h5g.h5gget_info_by_name_f</a> </li>
<li><a class="el" href="group___f_h5_g.html#ga1ef9a46fd72dd543eeabf9fc33a5fe63" title="Opens an existing group.">h5g.h5gopen_f</a></li>
</ul>
<p><b>H5L</b> </p><ul>
<li><a class="el" href="group___f_h5_l.html#gab5d4f60309eb04d7cd9686b6f0f8c057" title="Copies a link from one location to another.">h5l.h5lcopy_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gad796ff7a29948254e29b8618d27b7bef" title="Creates a soft link to an object in a different file.">h5l.h5lcreate_external_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gadf5051568e480d2e29dbbed2cfc35f8e" title="Creates a hard link to an object.">h5l.h5lcreate_hard_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#ga28f158a99ae9b37f26ec0c828e063a72" title="Creates a soft link to an object.">h5l.h5lcreate_soft_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gae0e714ac5b2938b80356217e1803d7d4" title="Removes a link from a group.">h5l.h5ldelete_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gaae71b9285517b3ec5afb9ec8db490c3b" title="Removes the nth link in a group.">h5l.h5ldelete_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#ga17d8d5151bd64ea2ea18a792a40efaeb" title="Check if a link with a particular name exists in a group.">h5l.h5lexists_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gaeac9913b7460534637eb563bb24eeb3e" title="Returns information about a link.">h5l.h5lget_info_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gaf01b68f47bbe14f84531b70b479b9ed3" title="Retrieves metadata for a link in a group, according to the order within a field or index.">h5l.h5lget_info_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gae241b07a53f952fd6f3e74c255b8ca2a" title="Retrieves name of the nth link in a group, according to the order within a specified field or index.">h5l.h5lget_name_by_idx_f</a> </li>
<li><a class="el" href="group___f_h5_l.html#gadfda005cb049ccfff51e109a5e7b899a" title="Renames a link within an HDF5 file.">h5l.h5lmove_f</a></li>
</ul>
<p><b>H5O</b> </p><ul>
<li><a class="el" href="group___f_h5_o.html#gab3c4d50db730be81530db28c45180734" title="Creates a hard link to an object in an HDF5 file.">h5o.h5olink_f</a> </li>
<li><a class="el" href="group___f_h5_o.html#ga47bfa4e336afe83960d397cd82882f6b" title="Opens an object in an HDF5 file by location identifier and path name.">h5o.h5oopen_f</a></li>
</ul>
<p><b>H5P</b> </p><ul>
<li><a class="el" href="group___f_h5_p.html#gaab6384bae4be67418f83eed124565a6e" title="Retrieves tracking and indexing settings for attribute creation order.">h5p.h5pget_attr_creation_order_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga898360cf5dac85558cf089b554413c1b" title="Retrieves attribute storage phase change thresholds.">h5p.h5pget_attr_phase_change_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga08e0eee48eda994d767ff5abb38513f2" title="Retrieves the character encoding used to create a string.">h5p.h5pget_char_encoding_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gae3d1540a7b89533d3f1157d0a04462f6" title="Retrieves the properties to be used when an object is copied.">h5p.h5pget_copy_object_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga14b4e707d341e5e3d12e7ae6690d89ba" title="Determines whether property is set to enable creating missing intermediate groups.">h5p.h5pget_create_inter_group_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga66078098350a2f9aa3b3251b7199c0c4" title="Retrieves a data transform expression.">h5p.h5pget_data_transform_f</a> </li>
<li>h5pget_elink_prefix_f </li>
<li><a class="el" href="group___f_h5_p.html#gac1c28ede7450679e5a324fbcacfe09d4" title="Queries data required to estimate required local heap or object header size.">h5p.h5pget_est_link_info_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga4be90e73f9f4ef2e8c6a76d9c5d57f37" title="Gets up use of the direct I/O driver.">h5p.h5pget_fapl_direct_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga537e7878891216492ad27c3d12c249ba" title="Queries whether link creation order is tracked and/or indexed in a group.">h5p.h5pget_link_creation_order_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga778c5fda4b49f698cc8085d212aab777" title="Queries the settings for conversion between compact and dense groups.">h5p.h5pget_link_phase_change_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga9b982ccecb08050b823475d274fc0e12" title="Queries the local heap size hint for original-style groups.">h5p.h5pget_local_heap_size_hint_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga96f461f4dd26ceea31a83da6c15b2e82" title="Gets maximum number of soft or user-defined link traversals.">h5p.h5pget_nlinks_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga719f25df011c708219a6e5c60ed29104" title="Returns whether times are tracked for an object.">h5p.h5pget_obj_track_times_f</a> </li>
<li>h5pget_shared_mesg_index_f </li>
<li>h5pget_shared_mesg_nindexes_f </li>
<li><a class="el" href="group___f_h5_p.html#ga58a3d79ad10224cc019588c84c8a03a8" title="Sets tracking and indexing of attribute creation order.">h5p.h5pset_attr_creation_order_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga6127da2607e623c9352f82c939a85f48" title="Sets attribute storage phase change thresholds.">h5p.h5pset_attr_phase_change_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga653399f7da55bcf4a507950ac0ad57cf" title="Sets the character encoding used to encode a string.">h5p.h5pset_char_encoding_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga93a7d5dc1ae304c81e0e2dee4471bc26" title="Sets properties to be used when an object is copied.">h5p.h5pset_copy_object_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga7f239d19167ca33a90b594bb3ab8cb0d" title="Specifies in property list whether to create missing intermediate groups.">h5p.h5pset_create_inter_group_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga618599a62bed0e04df35b7035f6b1fcc" title="Sets a data transform expression.">h5p.h5pset_data_transform_f</a> </li>
<li>h5pset_elink_prefix_f </li>
<li><a class="el" href="group___f_h5_p.html#gac5d116ed87b026b6c18ace741a6fbb47" title="Sets estimated number of links and length of link names in a group.">h5p.h5pset_est_link_info_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga695a2c8c2466b386b3b5c1c54070f1ea" title="Sets up use of the direct I/O driver.">h5p.h5pset_fapl_direct_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gaf6d7d6a0d54eb6a0abf298596c8649aa" title="Sets bounds on library versions, and indirectly format versions, to be used when creating objects.">h5p.h5pset_libver_bounds_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga2a4d5601a4010ad5cf81cda9ab53294e" title="Sets creation order tracking and indexing for links in a group.">h5p.h5pset_link_creation_order_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga85c7236cabc3bfe84e5899d6a65aa8a1" title="Sets the parameters for conversion between compact and dense groups.">h5p.h5pset_link_phase_change_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga49b408f5ae0c71a4672f513d8dcbb912" title="Sets the local heap size hint for original-style groups.">h5p.h5pset_local_heap_size_hint_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga62bf4aa9a883f7ee9e0eee5100447933" title="Set whether the birth, access, modification &amp; change times for an object are stored.">h5p.h5pset_obj_track_times_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gae06eb2278fc69db42df2efb7626c084d" title="Sets up the use of the N-Bit filter.">h5p.h5pset_nbit_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gac61734ce0997691df0c808ad5f107029" title="Sets maximum number of soft or user-defined link traversals.">h5p.h5pset_nlinks_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga7682b83b8c9d6955a93eab8847986352" title="Sets up the use of the scale-offset filter.">h5p.h5pset_scaleoffset_f</a></li>
</ul>
<p><b>H5R</b> </p><ul>
<li><a class="el" href="group___f_h5_r.html#gaa74e6c3a73a025cd4872990bbeba2871" title="Retrieves a name of a referenced object.">h5r.h5rget_name_f</a></li>
</ul>
<p><b>H5S</b> </p><ul>
<li><a class="el" href="group___f_h5_s.html#ga518e04a1fac336142703cf73c0ba8f37" title="Decode a binary object description of data space and return a new object handle.">h5s.h5sdecode_f</a> </li>
<li><a class="el" href="group___f_h5_s.html#ga44ed6832edd798d9a0f2bc1e58c4cfb0" title="Encode a data space object description into a binary buffer.">h5s.h5sencode_f</a> </li>
<li><a class="el" href="group___f_h5_s.html#gaa16eb229a4a02aca05eb256878ff3140" title="Determines whether two dataspace extents are equal.">h5s.h5sextent_equal_f</a></li>
</ul>
<p><b>H5T</b> </p><ul>
<li><a class="el" href="group___f_h5_t.html#ga00d99ba34eae60086c3ed55e5c3eae77" title="Commits a transient datatype to a file, creating a new named datatype, but does not link it into the ...">h5t.h5tcommit_anon_f</a> </li>
<li><a class="el" href="group___f_h5_t.html#gaad143bb7a4d20aa782afc295f48ec3d1" title="Commits a transient datatype to a file, creating a new named datatype.">h5t.h5tcommit_f</a> </li>
<li><a class="el" href="group___f_h5_t.html#gaa2653e1487b16e799f103180c6ab6a53" title="Determines whether a datatype is a named type or a transient type.">h5t.h5tcommitted_f</a> </li>
<li><a class="el" href="group___f_h5_t.html#ga358da31d4edb18f227d623cd7fa607ac" title="Check whether the library&#39;s default conversion is hard conversion.">h5t.h5tcompiler_conv_f</a> </li>
<li><a class="el" href="group___f_h5_t.html#ga997e80f6500db70dbd3a930c6b0000e0" title="Decode a binary object description of data type and return a new object handle.">h5t.h5tdecode_f</a> </li>
<li><a class="el" href="group___f_h5_t.html#gab845d70c03fd4227117df247a80fbd15" title="Encode a data type object description into a binary buffer.">h5t.h5tencode_f</a> </li>
<li><a class="el" href="group___f_h5_t.html#ga5729c7c237c47f100aa44d79a9d2c8b3" title="Returns a copy of a datatype creation property list.">h5t.h5tget_create_plist_f</a> </li>
<li><a class="el" href="group___f_h5_t.html#ga20396ed9718ad2fab8c51c3570ef033c" title="Opens named datatype.">h5t.h5topen_f</a></li>
</ul>
<h4>C++ wrappers</h4>
<p>There are no new C++ wrappers for Release 1.8.1.</p>
<h4>Functions and Tools with Changed Syntax</h4>
<p><b>C functions with changed syntax</b>:</p>
<p>There are no C functions with changed syntax in Release 1.8.1.</p>
<p><b>Fortran subroutines with changed syntax</b>:</p>
<p>In the following Fortran subroutines, spos is a new parameter indicating the position of the sign bit: </p><ul>
<li><code>h5tset_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)</code> </li>
<li><code>h5tget_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)</code></li>
</ul>
<p><b>Changed C++ wrappers</b>: </p><ul>
<li>The class AbstractDS was moved out of H5Object. </li>
<li>The class Attribute now multiply inherits from IdComponent and AbstractDs. </li>
<li>The class DataSet now multiply inherits from H5Object and AbstractDs.</li>
</ul>
<p>In addition, data member <code>IdComponent::id</code> was moved into subclasses: </p><ul>
<li>Attribute </li>
<li>DataSet </li>
<li>DataSpace </li>
<li>DataType </li>
<li>H5File </li>
<li>Group </li>
<li>PropList</li>
</ul>
<p><code>IdComponent::dereference</code> was incorrect;<br />
it was changed from: </p><ul>
<li><code>void IdComponent::dereference(IdComponent&amp; obj, void* ref)</code></li>
</ul>
<p>to: </p><ul>
<li><code>void H5Object::dereference(H5File&amp; h5file, void* ref)</code> </li>
<li><code>void H5Object::dereference(H5Object&amp; obj, void* ref)</code></li>
</ul>
<p><b>Tools with changed syntax</b>: </p><ul>
<li>The command-line syntax of <a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> was changed in Release 1.8.0 to the following:<br />
<code>h5repack [OPTIONS] in_file out_file</code> </li>
<li>Since this would be incompatible with existing user scripts, the original syntax has be re-enabled in this release:<br />
<code>h5repack -i in_file -o out_file [OPTIONS]</code> </li>
<li><a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> now understands either syntax.</li>
</ul>
<p>An <a class="el" href="_h5_t_o_o_l__r_p__u_g.html#sec_cltools_h5repack">h5repack</a> option to set the minimum number of links in indexed format was introduced in Release 1.8.0 as: </p><ul>
<li><code>-d min_indexed_links</code> </li>
<li><code>&ndash;indexed=min_indexed_links</code>.</li>
</ul>
<p>In Release 1.8.1, the <code>-i</code> form has been changed to <code>-d</code> as follows: </p><ul>
<li><code>-d min_indexed_links</code> </li>
<li><code>&ndash;indexed=min_indexed_links</code></li>
</ul>
<p>The command-line syntax of <a class="el" href="_h5_t_o_o_l__d_f__u_g.html#sec_cltools_h5diff">h5diff</a> was changed in Release 1.8.0 to the following: </p><ul>
<li><code>h5diff [OPTIONS] file1 file2 [object1 [object2 ] ]</code></li>
</ul>
<p><b>Tools with new options</b> <a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> </p><ul>
<li><code>-m T</code> or <code>&ndash;format T</code> - Sets format of floating point output</li>
</ul>
<h4>Changed Behavior or Output</h4>
<p>Changed library behavior: </p><ul>
<li>A 4GB limit on the size of dataset chunks is now properly enforced when a dataset is created. </li>
<li>The HDF5 Library now works more effectively with external links. Some valid external links that previously failed will now be properly recognized. See <a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external</a>.</li>
</ul>
<p><b>C functions with changed behavior</b>: </p><ul>
<li>The behavior of <a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external</a> has changed as described immediately above.</li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_1_tools"></a>
Tools with changed output:</h3>
<p>Tools with changed behavior and changed output: </p><ul>
<li>The <code>h5dump -p</code> option now prints the compression ratio if a compression filter is associated with a dataset. </li>
<li><a class="el" href="_h5_t_o_o_l__d_p__u_g.html#sec_cltools_h5dump">h5dump</a> now supports external links, displaying the target objects (datasets, groups, and named datatypes).</li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_1_config"></a>
Changed Library Configuration</h3>
<p>The following configuration flag is new with this release: </p><ul>
<li><code>&ndash;disable-sharedlib-rpath</code></li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_1_patch"></a>
Removed Patch Requirement</h3>
<p>The patch that was required for Cygwin with HDF5 Release 1.8.0 has been rolled into this release and no longer needs to be applied by the user.</p>
<h2><a class="anchor" id="subsec_rel_spec_18_change_0"></a>
Release 1.8.0 versus Release 1.6.x</h2>
<p>HDF5 Release 1.8.0 is a major release with several new features and a variety of bugfixes, optimizations, and portability enhancements.</p>
<p>See the document "What's New in HDF5 1.8.0" for a high-level overview of the new functionality in this release. The following pages assume a familiarity with that overview.</p>
<p>This section provides details of the API-level changes that have been made in the transition to HDF5 Release 1.8.0 from the Release 1.6.x series.</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_0_compat"></a>
API Compatibility Macros with Associated Renamed and New Functions</h3>
<p>Release 1.8.0 introduces API compatibility macros designed to facilitate application migration. These macros are intended to facilitate developer management of a clean, step-by-step migration from an older HDF5 Library to the new release; they can also be used to enable older applications to use the new library without requiring that the application be rewritten. See <a class="el" href="api-compat-macros.html">API Compatibility Macros</a> for a full description.</p>
<p>Macros are identified in reference manual function indexes by an italic typeface.</p>
<p>The new macros and the old and new functions to which they may be mapped are as follows: </p><table class="doxtable">
<tr>
<th>Macro</th><th>Old Function</th><th>New Function </th></tr>
<tr>
<td><a class="el" href="group___h5_a.html#ga4a76e4e5ab6eb0fd2aa7990d38d55f24">H5Acreate</a></td><td><a class="el" href="group___h5_a.html#gaa30f5f6c277d6c46f8aa31e89cdba085" title="Creates an attribute attached to a specified object.">H5Acreate1</a></td><td><a class="el" href="group___h5_a.html#ga4f4e5248c09f689633079ed8afc0b308" title="Creates an attribute attached to a specified object.">H5Acreate2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_a.html#gab9dcfc543cd4282f32b8ea19e08ffa6c">H5Aiterate</a></td><td><a class="el" href="group___h5_a.html#gabdb2cf7368eec0ad998cbe6a3f61aa41" title="Calls a user&#39;s function for each attribute on an object.">H5Aiterate1</a></td><td><a class="el" href="group___h5_a.html#ga9315a22b60468b6e996559b1b8a77251" title="Calls a user-defined function for each attribute on an object.">H5Aiterate2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_d.html#ga0647ba4bbd26d5230cc07f3a5685b2cf">H5Dcreate</a></td><td><a class="el" href="group___h5_d.html#ga6b86f2683ae6a78d48d33c45257744a2" title="Creates a dataset at the specified location.">H5Dcreate1</a></td><td><a class="el" href="group___h5_d.html#gabf62045119f4e9c512d87d77f2f992df" title="Creates a new dataset and links it into the file.">H5Dcreate2</a> </td></tr>
<tr>
<td><a class="el" href="_h5version_8h.html#a7dba2e5b2045f31c0932123ffb54f7a3">H5Dopen</a></td><td><a class="el" href="group___h5_d.html#gabaf03a683e1da2c8dad6ba1010d55b81" title="Opens an existing dataset.">H5Dopen1</a></td><td><a class="el" href="group___h5_d.html#ga04198c4cf0b849ed3a8921f6c7169ee2" title="Opens an existing dataset.">H5Dopen2</a> </td></tr>
<tr>
<td><a class="el" href="_h5version_8h.html#ac4c79bee16d0ffe8a6017bfdb66c9916">H5Eclear</a></td><td><a class="el" href="group___h5_e.html#ga0f2ee26cbe35c5dde49d615fc31ea2f6" title="Clears the error stack for the current thread.">H5Eclear1</a></td><td><a class="el" href="group___h5_e.html#gac9d90679c7879f3c4ebce858aaa9dfb2" title="Clears the specified error stack or the error stack for the current thread.">H5Eclear2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_e.html#gaa088620ef0b6c4ac2abcf57d61c8cdb8">H5Eget_auto</a></td><td><a class="el" href="group___h5_e.html#ga0ca4dd7ed560882a7da176a0e2325707" title="Returns the current settings for the automatic error stack traversal function and its data.">H5Eget_auto1</a></td><td><a class="el" href="group___h5_e.html#ga2eda33cbadd9be5bfddbaa91e863c936" title="Returns the settings for the automatic error stack traversal function and its data.">H5Eget_auto2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_e.html#gaa7e93cb96b399e5853721258872435a8">H5Eprint</a></td><td><a class="el" href="group___h5_e.html#ga9c71eb8e5b7261668e2e8926f1822365" title="Prints the current error stack in a default manner.">H5Eprint1</a></td><td><a class="el" href="group___h5_e.html#gae86ab32e85028412c731cf0f2b8d1f56" title="Prints the specified error stack in a default manner.">H5Eprint2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_e.html#ga4a7d9ca6b4f7bf521d29c85bbc5b7941">H5Epush</a></td><td><a class="el" href="group___h5_e.html#ga7e2d223ad3bf68fe35f343b97edf0e92" title="Pushes a new error record onto the error stack.">H5Epush1</a></td><td><a class="el" href="group___h5_e.html#ga17c2790837a1c1ea7e56b65d3c00a920" title="Pushes a new error record onto an error stack.">H5Epush2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_e.html#ga245383d63fba5c4282ce8e9ef8488702">H5Eset_auto</a></td><td><a class="el" href="group___h5_e.html#gab7e1c2db4a0811b70227833b5462eea8" title="Turns automatic error printing on or off.">H5Eset_auto1</a></td><td><a class="el" href="group___h5_e.html#gaf0d6b18cd5160517fe5165b9a8443c69" title="Turns automatic error printing on or off.">H5Eset_auto2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_e.html#ga565cd6c7b7a197f8954d821419aba0d0">H5Ewalk</a></td><td><a class="el" href="group___h5_e.html#ga8d54a0f62f9ea625bdeab8e5e0c894c4" title="Walks the current error stack, calling the specified function.">H5Ewalk1</a></td><td><a class="el" href="group___h5_e.html#ga4ecc0f6a1ea5bb821373a5a7b8070655" title="Walks the specified error stack, calling the specified function.">H5Ewalk2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_g.html#ga187cee27a9fc4f1a311eb19b0522c7b8">H5Gcreate</a></td><td><a class="el" href="group___h5_g.html#ga7397440085510728a2e2d22199e81980" title="Creates a new group and links it into the file.">H5Gcreate1</a></td><td><a class="el" href="group___h5_g.html#ga86d93295965f750ef25dea2505a711d9" title="Creates a new group and links it into the file.">H5Gcreate2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_g.html#ga3eca6807deff4f9e51fc5fe0befc2245">H5Gopen</a></td><td><a class="el" href="group___h5_g.html#ga163ca3eb7893d34973ee900b2da886be" title="Opens an existing group for modification and returns a group identifier for that group.">H5Gopen1</a></td><td><a class="el" href="group___h5_g.html#gadab91e2dd7a7e253dcc0e4fe04b81403" title="Opens an existing group in a file.">H5Gopen2</a> </td></tr>
<tr>
<td><a class="el" href="_h5version_8h.html#a7e070dfec9cb3a3aaf9c188a987e6a15">H5Pget_filter</a></td><td><a class="el" href="group___d_c_p_l.html#gacbd4f93aa7cd270668385440fb5873a1" title="Returns information about a filter in a pipeline (DEPRECATED)">H5Pget_filter1</a></td><td><a class="el" href="group___o_c_p_l.html#ga024d200a6a07e12f008a62c4e62d0bcc" title="Returns information about a filter in a pipeline.">H5Pget_filter2</a> </td></tr>
<tr>
<td><a class="el" href="_h5version_8h.html#ac7aa336e7b1b9033cea2448ba623951f">H5Pget_filter_by_id</a></td><td><a class="el" href="group___d_c_p_l.html#ga351bb4dc44dae41344f18aab177f4cf1" title="Returns information about the specified filter.">H5Pget_filter_by_id1</a></td><td><a class="el" href="group___o_c_p_l.html#ga2d5e9df5f0e93abae11ee5edd82fcec3" title="Returns information about the specified filter.">H5Pget_filter_by_id2</a> </td></tr>
<tr>
<td><a class="el" href="_h5version_8h.html#a9ccdea50538c7cfde87a9fa63ea68555">H5Pinsert</a></td><td><a class="el" href="group___p_l_c_r_a.html#ga6ba9694c03ae97c9f514470366a909f9" title="Registers a temporary property with a property list.">H5Pinsert1</a></td><td><a class="el" href="group___p_l_c_r_a.html#ga930e15d5f994e223bea80621ef3065d4" title="Registers a temporary property with a property list.">H5Pinsert2</a> </td></tr>
<tr>
<td><a class="el" href="_h5version_8h.html#a334ff323dfa6653ce21d0988ae7c73ba">H5Pregister</a></td><td><a class="el" href="group___p_l_c_r_a.html#ga91799f6cda78911e9ecc2cfaaea3a3b5" title="Registers a permanent property with a property list class.">H5Pregister1</a></td><td><a class="el" href="group___p_l_c_r_a.html#gaac3f957a5d3cbb4adc8b7ba2aa5f1719" title="Registers a permanent property with a property list class.">H5Pregister2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_r.html#gafe413df448be0d230de922357fd7bc3b">H5Rget_obj_type</a></td><td><a class="el" href="group___h5_r.html#gaf3736b2880a58471882b079b9f03defe" title="Retrieves the type of object that an object reference points to.">H5Rget_obj_type1</a></td><td><a class="el" href="group___h5_r.html#ga766e39a76bcdd68dc514425353eff807" title="Retrieves the type of object that an object reference points to.">H5Rget_obj_type2</a> </td></tr>
<tr>
<td><a class="el" href="group___a_r_r_a_y.html#ga39d41fdef06b3d7972ec2eab16ab5e96">H5Tarray_create</a></td><td><a class="el" href="group___a_r_r_a_y.html#gaa0dc45417b2d45cc6810a1831f117e80" title="Creates an array datatype object.">H5Tarray_create1</a></td><td><a class="el" href="group___a_r_r_a_y.html#ga9d9aea590106fdab7a2c07c04346f618" title="Creates an array datatype object.">H5Tarray_create2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_t.html#ga9a224eb59f0ba807789e3f8ba3a840cd">H5Tcommit</a></td><td><a class="el" href="group___h5_t.html#ga1c00afb6dc5534778370a92c33fa2625" title="Commits a transient datatype to a file, creating a newly named datatype.">H5Tcommit1</a></td><td><a class="el" href="group___h5_t.html#ga10352b6fa9ac58a7fbd5299496f1df31" title="Commits a transient datatype, linking it into the file and creating a new committed datatype.">H5Tcommit2</a> </td></tr>
<tr>
<td><a class="el" href="group___a_r_r_a_y.html#ga2b4fecf95c9c16e4431d8aba60995473">H5Tget_array_dims</a></td><td><a class="el" href="group___a_r_r_a_y.html#ga40dca4c9bdc5e6781a07830570a476ca" title="Retrieves sizes of array dimensions.">H5Tget_array_dims1</a></td><td><a class="el" href="group___a_r_r_a_y.html#ga3ea18a56f03d3b9c8f3ff4091c784769" title="Retrieves sizes of array dimensions.">H5Tget_array_dims2</a> </td></tr>
<tr>
<td><a class="el" href="group___h5_t.html#ga1d14b407603fdcedfbed1f723784c209">H5Topen</a></td><td><a class="el" href="group___h5_t.html#ga9f76fa0dc34bc7b310e100e5bfed66fb" title="Opens a named datatype.">H5Topen1</a></td><td><a class="el" href="group___h5_t.html#ga7e65e77634f1fb4ba38cbcdab9a59bc2" title="Opens a committed (named) datatype.">H5Topen2</a> </td></tr>
</table>
<p>(<a class="el" href="group___h5_d.html#ga0647ba4bbd26d5230cc07f3a5685b2cf">H5Dcreate</a> and <a class="el" href="_h5version_8h.html#a7dba2e5b2045f31c0932123ffb54f7a3">H5Dopen</a> added to the above list in November 2010, prior to Release 1.8.6.)</p>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_0_new"></a>
New Functions and Tools</h3>
<p><b>C functions</b> The following C functions are new for Release 1.8.0 and, unless otherwise noted, are documented in the HDF5 Reference Manual.</p>
<p>Recursive iteration </p><ul>
<li><a class="el" href="group___t_r_a_v.html#gac0558936502924d9e898d8b6e041ed69">H5Lvisit</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___t_r_a_v.html#gac0558936502924d9e898d8b6e041ed69">H5Lvisit(hid_t group_id, H5_index_t index_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data)</a></code> </li>
<li><a class="el" href="group___t_r_a_v.html#ga138405315e233673741893e4e250f055">H5Lvisit_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___t_r_a_v.html#ga138405315e233673741893e4e250f055">H5Lvisit_by_name(hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga5ce86255fcc34ceaf84a62551cd24233">H5Ovisit</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga5ce86255fcc34ceaf84a62551cd24233">H5Ovisit(hid_t group_id, H5_index_t index_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gab02a69e88b11404e7fd61f55344b186c">H5Ovisit_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#gab02a69e88b11404e7fd61f55344b186c">H5Ovisit_by_name(hid_t loc_id, const char *object_name, H5_index_t index_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id)</a></code></li>
</ul>
<p>"Format bounds" property Release-to-release format compatibility </p><ul>
<li><a class="el" href="group___f_a_p_l.html#gacbe1724e7f70cd17ed687417a1d2a910" title="Controls the range of library release versions used when creating objects in a file.">H5Pset_libver_bounds</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_a_p_l.html#gacbe1724e7f70cd17ed687417a1d2a910" title="Controls the range of library release versions used when creating objects in a file.">H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t low, H5F_libver_t high)</a></code> </li>
<li><a class="el" href="group___f_a_p_l.html#gad5d7e671c3a06bcee64bc25841aaf607" title="Retrieves library version bounds settings that indirectly control the format versions used when creat...">H5Pget_libver_bounds</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_a_p_l.html#gad5d7e671c3a06bcee64bc25841aaf607" title="Retrieves library version bounds settings that indirectly control the format versions used when creat...">H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *low, H5F_libver_t *high)</a></code></li>
</ul>
<p>Configurable compact-or-indexed groups (compact and large groups) </p><ul>
<li><a class="el" href="group___g_c_p_l.html#gab463ac9355728469eddfd973b4a5964f" title="Sets the parameters for conversion between compact and dense groups.">H5Pset_link_phase_change</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___g_c_p_l.html#gab463ac9355728469eddfd973b4a5964f" title="Sets the parameters for conversion between compact and dense groups.">H5Pset_link_phase_change(hid_t gcpl_id, unsigned max_compact, unsigned min_dense)</a></code> </li>
<li><a class="el" href="group___g_c_p_l.html#gacab66461dca6c2beafd624c2e4d9f94d" title="Queries the settings for conversion between compact and dense groups.">H5Pget_link_phase_change</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___g_c_p_l.html#gacab66461dca6c2beafd624c2e4d9f94d" title="Queries the settings for conversion between compact and dense groups.">H5Pget_link_phase_change(hid_t gcpl_id, unsigned *max_compact, unsigned *min_dense)</a></code> </li>
<li><a class="el" href="group___g_c_p_l.html#gaa8571642d45e73ab5a9ae71cf00501f9" title="Sets estimated number of links and length of link names in a group.">H5Pset_est_link_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___g_c_p_l.html#gaa8571642d45e73ab5a9ae71cf00501f9" title="Sets estimated number of links and length of link names in a group.">H5Pset_est_link_info(hid_t gcpl_id, unsigned est_num_entries, unsigned est_name_len)</a></code> </li>
<li><a class="el" href="group___g_c_p_l.html#ga701867215546a345dea7b8e9cf7a1b61" title="Returns the estimated link count and average link name length in a group.">H5Pget_est_link_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___g_c_p_l.html#ga701867215546a345dea7b8e9cf7a1b61" title="Returns the estimated link count and average link name length in a group.">H5Pget_est_link_info(hid_t gcpl_id, unsigned *est_num_entries, unsigned *est_name_len)</a></code> </li>
<li><a class="el" href="group___l_a_p_l.html#gaa46c63c196a0cf5cd94dede039c030f4" title="Sets maximum number of soft or user-defined link traversals.">H5Pset_nlinks</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___l_a_p_l.html#gaa46c63c196a0cf5cd94dede039c030f4" title="Sets maximum number of soft or user-defined link traversals.">H5Pset_nlinks(hid_t lapl_id, size_t nlinks)</a></code> </li>
<li><a class="el" href="group___l_a_p_l.html#ga6bfa33fa9a77011cbdc06d0fbc907177" title="Retrieves the maximum number of link traversals.">H5Pget_nlinks</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___l_a_p_l.html#ga6bfa33fa9a77011cbdc06d0fbc907177" title="Retrieves the maximum number of link traversals.">H5Pget_nlinks(hid_t lapl_id, size_t *nlinks)</a></code></li>
</ul>
<p>User-defined links </p><ul>
<li><a class="el" href="group___h5_l.html#gadaf9732947c45cd4d2442e7f58873fc2" title="Creates a link of a user-defined type.">H5Lcreate_ud</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lcreate_ud(hid_t link_loc_id, const char *link_name, H5L_type_t link_type, const char *udata, size_t udata_size, hid_t lcpl_id, hid_t lapl_id)</code> </li>
<li><a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister(const H5L_class_t *link_class)</a></code> </li>
<li><a class="el" href="group___h5_l_a.html#ga01ddc889d27306a96a7cd27b6084a5ec" title="Unregisters a class of user-defined links.">H5Lunregister</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l_a.html#ga01ddc889d27306a96a7cd27b6084a5ec" title="Unregisters a class of user-defined links.">H5Lunregister(H5L_type_t link_cls_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga2086bad6c3cd2a711c306a48c093ff55" title="Increments an object reference count.">H5Oincr_refcount</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga2086bad6c3cd2a711c306a48c093ff55" title="Increments an object reference count.">H5Oincr_refcount(hid_t object_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga60c20da5e244c28a653d4fa23d316b44" title="Decrements an object reference count.">H5Odecr_refcount</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga60c20da5e244c28a653d4fa23d316b44" title="Decrements an object reference count.">H5Odecr_refcount(hid_t object_id)</a></code></li>
</ul>
<p>External links </p><ul>
<li><a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external(const char *file_name, const char *object_name, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#gade0c3b274c185d148f000172fbdc3220" title="Decodes external link information.">H5Lunpack_elink_val</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lunpack_elink_val(char *ext_linkval, size_t link_size, const char **filename, const char **obj_path)</code> </li>
<li><a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix(hid_t lapl_id, const char *prefix)</a></code> </li>
<li><a class="el" href="group___l_a_p_l.html#ga7960f746797bcf35f70746cd644f8b5a" title="Retrieves prefix applied to external link paths.">H5Pget_elink_prefix</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Pget_elink_prefix(hid_t lapl_id, const char **prefix)</code></li>
</ul>
<p>Link creation order tracking and indexing </p><ul>
<li><a class="el" href="group___g_c_p_l.html#ga24817b5c9553df3872de57c20bf11512" title="Sets creation order tracking and indexing for links in a group.">H5Pset_link_creation_order</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___g_c_p_l.html#ga24817b5c9553df3872de57c20bf11512" title="Sets creation order tracking and indexing for links in a group.">H5Pset_link_creation_order(hid_t ocpl_id, unsigned crt_order_flags)</a></code> </li>
<li><a class="el" href="group___g_c_p_l.html#gaa2c2f433c7e65f694e0444e7f0ed2d33" title="Queries whether link creation order is tracked and/or indexed in a group.">H5Pget_link_creation_order</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___g_c_p_l.html#gaa2c2f433c7e65f694e0444e7f0ed2d33" title="Queries whether link creation order is tracked and/or indexed in a group.">H5Pget_link_creation_order(hid_t ocpl_id, unsigned *crt_order_flags)</a></code> </li>
<li><a class="el" href="group___h5_g.html#ga0b959a53cbffa48f5d68ce33b43b7ed8" title="Gets a group creation property list identifier.">H5Gget_create_plist</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_g.html#ga0b959a53cbffa48f5d68ce33b43b7ed8" title="Gets a group creation property list identifier.">H5Gget_create_plist(hid_t group_id)</a></code> </li>
<li><a class="el" href="group___h5_g.html#ga985f27ad1a164d99fa1f58c6de60ab00" title="Retrieves information about a group, according to the group&#39;s position within an index.">H5Gget_info_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_g.html#ga985f27ad1a164d99fa1f58c6de60ab00" title="Retrieves information about a group, according to the group&#39;s position within an index.">H5Gget_info_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, hsize_t n, H5G_info_t *group_info, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_t.html#ga6802c22c6e90216aa839a4a83909a54c" title="Returns a copy of a datatype&#39;s creation property list.">H5Tget_create_plist</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_t.html#ga6802c22c6e90216aa839a4a83909a54c" title="Returns a copy of a datatype&#39;s creation property list.">H5Tget_create_plist(hid_t dtype_id)</a></code></li>
</ul>
<p>Link API (H5L), an all-new interface (includes user-defined and external links) </p><ul>
<li><a class="el" href="group___h5_l.html#gafd4624f1c040d5f1df36cb1e6986aac6" title="Creates an identical copy of a link with the same creation time and target. The new link can have a d...">H5Lcopy</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#gafd4624f1c040d5f1df36cb1e6986aac6" title="Creates an identical copy of a link with the same creation time and target. The new link can have a d...">H5Lcopy(hid_t src_loc_id, const char *src_name, hid_t dest_loc_id, const char *dest_name, hid_t lcpl_id, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external(const char *file_name, const char *object_name, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2" title="Creates a hard link to an object.">H5Lcreate_hard</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2" title="Creates a hard link to an object.">H5Lcreate_hard(hid_t obj_loc_id, const char *obj_name, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78" title="Creates a soft link.">H5Lcreate_soft</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78" title="Creates a soft link.">H5Lcreate_soft(const char *target_path, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#gadaf9732947c45cd4d2442e7f58873fc2" title="Creates a link of a user-defined type.">H5Lcreate_ud</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lcreate_ud(hid_t link_loc_id, const char *link_name, H5L_type_t link_type, const char *udata, size_t udata_size, hid_t lcpl_id, hid_t lapl_id)</code> </li>
<li><a class="el" href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf" title="Removes a link from a group.">H5Ldelete</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf" title="Removes a link from a group.">H5Ldelete(hid_t loc_id, const char *name, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#gaaf5f820856afdd34f9070a797a246805" title="Removes the n-th link in a group.">H5Ldelete_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#gaaf5f820856afdd34f9070a797a246805" title="Removes the n-th link in a group.">H5Ldelete_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists</a> <code><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a> <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists(hid_t loc_id, const char *name, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info(hid_t link_loc_id, const char *link_name, H5L_info_t *link_buff, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga4db00b8b944eae68233438165c784b67">H5Lget_info_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga4db00b8b944eae68233438165c784b67">H5Lget_info_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, H5L_info_t *link_val, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga453ea40c3bb85ec8120dd17deed2bd90" title="Retrieves name of the n-th link in a group, according to the order within a specified field or index.">H5Lget_name_by_idx</a> <code>ssize_t <a class="el" href="group___h5_l.html#ga453ea40c3bb85ec8120dd17deed2bd90" title="Retrieves name of the n-th link in a group, according to the order within a specified field or index.">H5Lget_name_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga8eaacc372afc314e44521dfc1f66dcf4" title="Returns the value of a link.">H5Lget_val</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga8eaacc372afc314e44521dfc1f66dcf4" title="Returns the value of a link.">H5Lget_val(hid_t link_loc_id, const char *link_name, void *linkval_buff, size_t size, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#gaf7be56de947e09a8d084e9d13a90bf3c" title="Retrieves value of the n-th link in a group, according to the order within an index.">H5Lget_val_by_idx</a> <code>ssize_t H5Lget_val_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, char *value_buf, size_t size, hid_t lapl_id)</code> </li>
<li><a class="el" href="group___h5_l_a.html#ga02c1cf38efea97d18e5e2f65df3f08a2" title="Determines whether a class of user-defined links is registered.">H5Lis_registered</a> <code><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a> <a class="el" href="group___h5_l_a.html#ga02c1cf38efea97d18e5e2f65df3f08a2" title="Determines whether a class of user-defined links is registered.">H5Lis_registered(H5L_type_t link_cls_id)</a></code> </li>
<li><a class="el" href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate(hid_t loc_id, H5_index_t index_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data)</a></code> </li>
<li><a class="el" href="group___t_r_a_v.html#ga655b002428e0176c2fa23a0315fbbcc2">H5Literate_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___t_r_a_v.html#ga655b002428e0176c2fa23a0315fbbcc2">H5Literate_by_name(hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t *lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb" title="Moves a link within an HDF5 file.">H5Lmove</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb" title="Moves a link within an HDF5 file.">H5Lmove(hid_t src_loc_id, const char *src_name, hid_t dest_loc_id, const char *dest_name, hid_t lcpl, hid_t lapl)</a></code> </li>
<li><a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister(const H5L_class_t *link_class)</a></code> </li>
<li><a class="el" href="group___h5_l.html#gade0c3b274c185d148f000172fbdc3220" title="Decodes external link information.">H5Lunpack_elink_val</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lunpack_elink_val(char *ext_linkval, size_t link_size, const char **filename, const char **obj_path)</code> </li>
<li><a class="el" href="group___h5_l_a.html#ga01ddc889d27306a96a7cd27b6084a5ec" title="Unregisters a class of user-defined links.">H5Lunregister</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l_a.html#ga01ddc889d27306a96a7cd27b6084a5ec" title="Unregisters a class of user-defined links.">H5Lunregister(H5L_type_t link_cls_id)</a></code> </li>
<li><a class="el" href="group___t_r_a_v.html#gac0558936502924d9e898d8b6e041ed69">H5Lvisit</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___t_r_a_v.html#gac0558936502924d9e898d8b6e041ed69">H5Lvisit(hid_t group_id, H5_index_t index_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data)</a></code> </li>
<li><a class="el" href="group___t_r_a_v.html#ga138405315e233673741893e4e250f055">H5Lvisit_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___t_r_a_v.html#ga138405315e233673741893e4e250f055">H5Lvisit_by_name(hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id)</a></code></li>
</ul>
<p>Enhanced attribute handling </p><ul>
<li><a class="el" href="group___h5_a.html#ga4f4e5248c09f689633079ed8afc0b308" title="Creates an attribute attached to a specified object.">H5Acreate2</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> 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, hid_t lapl_id)</code> </li>
<li><a class="el" href="group___h5_a.html#ga06711a4e77ff8ab49e427010fd38ac9e" title="Deletes an attribute from an object according to index order.">H5Adelete_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#ga06711a4e77ff8ab49e427010fd38ac9e" title="Deletes an attribute from an object according to index order.">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)</a></code> </li>
<li><a class="el" href="group___h5_a.html#gacbf689308f851428dd641b64f5f94feb" title="Removes an attribute from a specified location.">H5Adelete_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#gacbf689308f851428dd641b64f5f94feb" title="Removes an attribute from a specified location.">H5Adelete_by_name(hid_t loc_id, const char *obj_name, const char *attr_name, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_a.html#gae3f1b7b87240b461f7827a8783acc08a" title="Retrieves attribute information by attribute identifier.">H5Aget_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#gae3f1b7b87240b461f7827a8783acc08a" title="Retrieves attribute information by attribute identifier.">H5Aget_info(hid_t attr_id, H5A_info_t *ainfo)</a></code> </li>
<li><a class="el" href="group___h5_a.html#gad110910cb227c15fdca938a642714fe9" title="Retrieves attribute information by attribute index position.">H5Aget_info_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#gad110910cb227c15fdca938a642714fe9" title="Retrieves attribute information by attribute index position.">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, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_a.html#ga258f03e12b4f49ad33ba72d17a9e2faf" title="Retrieves attribute information by attribute name.">H5Aget_info_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#ga258f03e12b4f49ad33ba72d17a9e2faf" title="Retrieves attribute information by attribute name.">H5Aget_info_by_name(hid_t loc_id, const char *obj_name, const char *attr_name, H5A_info_t *ainfo, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_a.html#ga4c552b2db32371f8ea20d87475313fb6" title="Gets an attribute name by attribute index position.">H5Aget_name_by_idx</a> <code>ssize_t <a class="el" href="group___h5_a.html#ga4c552b2db32371f8ea20d87475313fb6" title="Gets an attribute name by attribute index position.">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, size_t size, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_a.html#gabd11c8e11db0adde706e41a24a832f06" title="Returns the amount of storage used to store an attribute.">H5Aget_storage_size</a> <code><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> <a class="el" href="group___h5_a.html#gabd11c8e11db0adde706e41a24a832f06" title="Returns the amount of storage used to store an attribute.">H5Aget_storage_size(hid_t attr_id)</a></code> </li>
<li><a class="el" href="group___h5_a.html#ga9315a22b60468b6e996559b1b8a77251" title="Calls a user-defined function for each attribute on an object.">H5Aiterate2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#ga9315a22b60468b6e996559b1b8a77251" title="Calls a user-defined function for each attribute on an object.">H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data)</a></code> </li>
<li><a class="el" href="group___h5_a.html#ga75db973d69b61f673f5cdf21ac624cef" title="Calls user-defined function for each attribute on an object.">H5Aiterate_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#ga75db973d69b61f673f5cdf21ac624cef" title="Calls user-defined function for each attribute on an object.">H5Aiterate_by_name(hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data, hid_t lapd_id)</a></code> </li>
<li><a class="el" href="group___h5_a.html#ga59863b205b6d93b2145f0fbca49656f7" title="Opens an attribute for an object specified by object identifier and attribute name.">H5Aopen</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Aopen(hid_t loc_id, const char *obj_name, const char *attr_name, hid_t aapl_id, hid_t lapl_id)</code> </li>
<li><a class="el" href="group___h5_a.html#gab1451cdff4f77dcf9feaee83c8179b2d" title="Opens the nth attribute attached to an object.">H5Aopen_by_idx</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_a.html#gab1451cdff4f77dcf9feaee83c8179b2d" title="Opens the nth attribute attached to an object.">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)</a></code> </li>
<li><a class="el" href="group___h5_a.html#ga21f8483c935d72187b98f5e7c2056140">H5Arename_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#ga21f8483c935d72187b98f5e7c2056140">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)</a></code></li>
</ul>
<p>Managing large numbers of attributes </p><ul>
<li><a class="el" href="group___o_c_p_l.html#ga0115b13dcbd8770cbdcef3db2ac12ea1" title="Sets attribute storage phase change thresholds.">H5Pset_attr_phase_change</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___o_c_p_l.html#ga0115b13dcbd8770cbdcef3db2ac12ea1" title="Sets attribute storage phase change thresholds.">H5Pset_attr_phase_change(hid_t ocpl_id, unsigned max_compact, unsigned min_dense)</a></code> </li>
<li><a class="el" href="group___o_c_p_l.html#gaf7c57a6e78a4123f82450559623ab534" title="Retrieves attribute storage phase change thresholds.">H5Pget_attr_phase_change</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___o_c_p_l.html#gaf7c57a6e78a4123f82450559623ab534" title="Retrieves attribute storage phase change thresholds.">H5Pget_attr_phase_change(hid_t ocpl_id, unsigned *max_compact, unsigned *min_dense)</a></code></li>
</ul>
<p>Attribute creation order tracking and indexing </p><ul>
<li><a class="el" href="group___o_c_p_l.html#gade132fded1df87300a4c7175c6bd766a" title="Sets tracking and indexing of attribute creation order.">H5Pset_attr_creation_order</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___o_c_p_l.html#gade132fded1df87300a4c7175c6bd766a" title="Sets tracking and indexing of attribute creation order.">H5Pset_attr_creation_order(hid_t ocpl_id, unsigned crt_order_flags)</a></code> </li>
<li><a class="el" href="group___o_c_p_l.html#ga2a54d1ff8d7a0d0e8d652f373c18bc37" title="Retrieves tracking and indexing settings for attribute creation order.">H5Pget_attr_creation_order</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___o_c_p_l.html#ga2a54d1ff8d7a0d0e8d652f373c18bc37" title="Retrieves tracking and indexing settings for attribute creation order.">H5Pget_attr_creation_order(hid_t ocpl_id, unsigned *crt_order_flags)</a></code> </li>
<li><a class="el" href="group___h5_a.html#ga0f6b545850bd21f128904eff51df226d" title="Gets an attribute creation property list identifier.">H5Aget_create_plist</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_a.html#ga0f6b545850bd21f128904eff51df226d" title="Gets an attribute creation property list identifier.">H5Aget_create_plist(hid_t attr_id)</a></code></li>
</ul>
<p>Shared object header messages (SOHM) </p><ul>
<li><a class="el" href="group___f_c_p_l.html#ga052aba0c1c5a3908a62335fc28e287ef" title="Configures the specified shared object header message index.">H5Pset_shared_mesg_index</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_c_p_l.html#ga052aba0c1c5a3908a62335fc28e287ef" title="Configures the specified shared object header message index.">H5Pset_shared_mesg_index(hid_t fcpl_id, unsigned index_num, unsigned mesg_type_flags, unsigned min_mesg_size)</a></code> </li>
<li><a class="el" href="group___f_c_p_l.html#ga5e5020b1e2579da4617ea115e3cc50f1" title="Sets number of shared object header message indexes.">H5Pset_shared_mesg_nindexes</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_c_p_l.html#ga5e5020b1e2579da4617ea115e3cc50f1" title="Sets number of shared object header message indexes.">H5Pset_shared_mesg_nindexes(hid_t plist_id, unsigned nindexes)</a></code> </li>
<li><a class="el" href="group___f_c_p_l.html#ga967f961f4002d63804dc67b3bcd8f354" title="Sets shared object header message storage phase change thresholds.">H5Pset_shared_mesg_phase_change</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_c_p_l.html#ga967f961f4002d63804dc67b3bcd8f354" title="Sets shared object header message storage phase change thresholds.">H5Pset_shared_mesg_phase_change(hid_t fcpl_id, unsigned max_list, unsigned min_btree)</a></code> </li>
<li><a class="el" href="group___f_c_p_l.html#gac6bac4446c45d348c953b3afdecede2c" title="Retrieves the configuration settings for a shared message index.">H5Pget_shared_mesg_index</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_c_p_l.html#gac6bac4446c45d348c953b3afdecede2c" title="Retrieves the configuration settings for a shared message index.">H5Pget_shared_mesg_index(hid_t fcpl_id, unsigned index_num, unsigned *mesg_type_flags, unsigned *min_mesg_size)</a></code> </li>
<li><a class="el" href="group___f_c_p_l.html#ga30980db1814a251e7b40362af1006652" title="Retrieves the number of shared object header message indexes in file creation property list.">H5Pget_shared_mesg_nindexes</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_c_p_l.html#ga30980db1814a251e7b40362af1006652" title="Retrieves the number of shared object header message indexes in file creation property list.">H5Pget_shared_mesg_nindexes(hid_t fcpl_id, unsigned *nindexes)</a></code> </li>
<li><a class="el" href="group___f_c_p_l.html#gab013e791706b44f545a97096d8e4c72e" title="Retrieves shared object header message phase change information.">H5Pget_shared_mesg_phase_change</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_c_p_l.html#gab013e791706b44f545a97096d8e4c72e" title="Retrieves shared object header message phase change information.">H5Pget_shared_mesg_phase_change(hid_t fcpl_id, unsigned *max_list, unsigned *min_btree)</a></code></li>
</ul>
<p>Enhanced local heap size management (group meta data) </p><ul>
<li><a class="el" href="group___g_c_p_l.html#ga870728af2bf3c0b16edafd762a1c44d6" title="Specifies the anticipated maximum size of a local heap.">H5Pset_local_heap_size_hint</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___g_c_p_l.html#ga870728af2bf3c0b16edafd762a1c44d6" title="Specifies the anticipated maximum size of a local heap.">H5Pset_local_heap_size_hint(hid_t gcpl_id, size_t size_hint)</a></code> </li>
<li><a class="el" href="group___g_c_p_l.html#ga49e14718767fa160248e3852c2abdd74" title="Retrieves the anticipated size of the local heap for original-style groups.">H5Pget_local_heap_size_hint</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Pget_local_heap_size_hint(hid_t gcpl_id, size_t size_hint)</code></li>
</ul>
<p>UNICODE support </p><ul>
<li><a class="el" href="group___a_c_p_l.html#gad4fa8e2d17236786f770cf17eef908cc" title="Sets the character encoding used to encode link and attribute names.">H5Pset_char_encoding</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___a_c_p_l.html#gad4fa8e2d17236786f770cf17eef908cc" title="Sets the character encoding used to encode link and attribute names.">H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding)</a></code> </li>
<li><a class="el" href="group___a_c_p_l.html#ga9b35ef9add6463997330e9b4b606603d" title="Retrieves the character encoding used to create a link or attribute name.">H5Pget_char_encoding</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Pget_char_encoding(hid_t plist_id, H5T_cset_t encoding)</code></li>
</ul>
<p>Object API (H5O), all new </p><ul>
<li><a class="el" href="group___h5_o.html#ga545ad7c54987013ebd50b40fe9e73c61" title="Closes an object in an HDF5 file.">H5Oclose</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga545ad7c54987013ebd50b40fe9e73c61" title="Closes an object in an HDF5 file.">H5Oclose(hid_t object_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gaa94449be6f67f499be5ddd3fc44f4225" title="Copies an object in an HDF5 file.">H5Ocopy</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#gaa94449be6f67f499be5ddd3fc44f4225" title="Copies an object in an HDF5 file.">H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, const char *dst_name, hid_t ocp_plist_id, hid_t lcpl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga60c20da5e244c28a653d4fa23d316b44" title="Decrements an object reference count.">H5Odecr_refcount</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga60c20da5e244c28a653d4fa23d316b44" title="Decrements an object reference count.">H5Odecr_refcount(hid_t object_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gaa1511ce5e2fe01ce7ea58f2f851d694b" title="Retrieves comment for specified object.">H5Oget_comment</a> <code>ssize_t <a class="el" href="group___h5_o.html#gaa1511ce5e2fe01ce7ea58f2f851d694b" title="Retrieves comment for specified object.">H5Oget_comment(hid_t object_id, char *comment, size_t bufsize)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gae6d92d597c5a292d342a1bda91e41171" title="Retrieves comment for specified object.">H5Oget_comment_by_name</a> <code>ssize_t <a class="el" href="group___h5_o.html#gae6d92d597c5a292d342a1bda91e41171" title="Retrieves comment for specified object.">H5Oget_comment_by_name(hid_t loc_id, const char *name, char *comment, size_t bufsize, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gaf4f302a33faba9e1c2b5f64c62ca4ed5">H5Oget_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#gaf4f302a33faba9e1c2b5f64c62ca4ed5">H5Oget_info(hid_t object_id, H5O_info_t *obj_info)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gafe764884e1530f86079288dd5895a7bd">H5Oget_info_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#gafe764884e1530f86079288dd5895a7bd">H5Oget_info_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, H5O_info_t *obj_info, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga16d8ac07f9244cfccb42b5f309ca6b3c">H5Oget_info_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga16d8ac07f9244cfccb42b5f309ca6b3c">H5Oget_info_by_name(hid_t loc_id, const char *object_name, H5O_info_t *object_info, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga2086bad6c3cd2a711c306a48c093ff55" title="Increments an object reference count.">H5Oincr_refcount</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga2086bad6c3cd2a711c306a48c093ff55" title="Increments an object reference count.">H5Oincr_refcount(hid_t object_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga2c97dd58e64b67d16325fceb7e02113f" title="Creates a hard link to an object in an HDF5 file.">H5Olink</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga2c97dd58e64b67d16325fceb7e02113f" title="Creates a hard link to an object in an HDF5 file.">H5Olink(hid_t obj_id, hid_t new_loc_id, const char *new_link_name, hid_t lcpl, hid_t lapl)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga9f635f58c7ddf17f87c253bfbca08bc1" title="Opens an object in an HDF5 file by location identifier and path name.">H5Oopen</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_o.html#ga9f635f58c7ddf17f87c253bfbca08bc1" title="Opens an object in an HDF5 file by location identifier and path name.">H5Oopen(hid_t loc_id, const char *name, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga137f3823adab4daaaf8fe87b40453fa2" title="Opens an object using its address within an HDF5 file.">H5Oopen_by_addr</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_o.html#ga137f3823adab4daaaf8fe87b40453fa2" title="Opens an object using its address within an HDF5 file.">H5Oopen_by_addr(hid_t loc_id, haddr_t addr)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gaeb66e5cbb3ca79890fc284a0b06762be" title="Opens the nth object in a group.">H5Oopen_by_idx</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_o.html#gaeb66e5cbb3ca79890fc284a0b06762be" title="Opens the nth object in a group.">H5Oopen_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga8b5cf8e916204e29616516046121f631" title="Sets comment for specified object.">H5Oset_comment</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga8b5cf8e916204e29616516046121f631" title="Sets comment for specified object.">H5Oset_comment(hid_t object_id, const char *comment)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gafeb5242de7f1080b5c19f4fe19784505" title="Sets comment for specified object.">H5Oset_comment_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#gafeb5242de7f1080b5c19f4fe19784505" title="Sets comment for specified object.">H5Oset_comment_by_name(hid_t loc_id, const char *name, const char *comment, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga5ce86255fcc34ceaf84a62551cd24233">H5Ovisit</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga5ce86255fcc34ceaf84a62551cd24233">H5Ovisit(hid_t group_id, H5_index_t index_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gab02a69e88b11404e7fd61f55344b186c">H5Ovisit_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#gab02a69e88b11404e7fd61f55344b186c">H5Ovisit_by_name(hid_t loc_id, const char *object_name, H5_index_t index_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id)</a></code></li>
</ul>
<p>Object creation or copying with "create intermediate groups" property </p><ul>
<li><a class="el" href="group___l_c_p_l.html#ga66c4c5d3f34e5cf65d00e47a5387383c" title="Specifies in property list whether to create missing intermediate groups.">H5Pset_create_intermediate_group</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___l_c_p_l.html#ga66c4c5d3f34e5cf65d00e47a5387383c" title="Specifies in property list whether to create missing intermediate groups.">H5Pset_create_intermediate_group(hid_t gcpl_id, unsigned crt_intermed_group)</a></code> </li>
<li><a class="el" href="group___l_c_p_l.html#gaf7db1b7ce19703f30f1827b7c899c3b0" title="Determines whether property is set to enable creating missing intermediate groups.">H5Pget_create_intermediate_group</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___l_c_p_l.html#gaf7db1b7ce19703f30f1827b7c899c3b0" title="Determines whether property is set to enable creating missing intermediate groups.">H5Pget_create_intermediate_group(hid_t gcpl_id, unsigned *crt_intermed_group)</a></code></li>
</ul>
<p>Object copy properties </p><ul>
<li><a class="el" href="group___h5_o.html#gaa94449be6f67f499be5ddd3fc44f4225" title="Copies an object in an HDF5 file.">H5Ocopy</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#gaa94449be6f67f499be5ddd3fc44f4225" title="Copies an object in an HDF5 file.">H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, const char *dst_name, hid_t ocp_plist_id, hid_t lcpl_id)</a></code> </li>
<li><a class="el" href="group___o_c_p_y_p_l.html#ga8819261e0b4663827212892e10dfc8a6" title="Sets properties to be used when an object is copied.">H5Pset_copy_object</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___o_c_p_y_p_l.html#ga8819261e0b4663827212892e10dfc8a6" title="Sets properties to be used when an object is copied.">H5Pset_copy_object(hid_t cplist_id, unsigned copy_options)</a></code> </li>
<li><a class="el" href="group___o_c_p_y_p_l.html#gad81b509481ba53a1ef1ba3c7083fc295" title="Retrieves the properties to be used when an object is copied.">H5Pget_copy_object</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___o_c_p_y_p_l.html#gad81b509481ba53a1ef1ba3c7083fc295" title="Retrieves the properties to be used when an object is copied.">H5Pget_copy_object(hid_t cplist_id, unsigned *copy_options)</a></code></li>
</ul>
<p>Improved object and file information retrieval </p><ul>
<li><a class="el" href="group___h5_a.html#gae3f1b7b87240b461f7827a8783acc08a" title="Retrieves attribute information by attribute identifier.">H5Aget_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#gae3f1b7b87240b461f7827a8783acc08a" title="Retrieves attribute information by attribute identifier.">H5Aget_info(hid_t attr_id, H5A_info_t *ainfo)</a></code> </li>
<li><a class="el" href="group___h5_a.html#ga258f03e12b4f49ad33ba72d17a9e2faf" title="Retrieves attribute information by attribute name.">H5Aget_info_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#ga258f03e12b4f49ad33ba72d17a9e2faf" title="Retrieves attribute information by attribute name.">H5Aget_info_by_name(hid_t loc_id, const char *obj_name, const char *attr_name, H5A_info_t *ainfo, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_a.html#gad110910cb227c15fdca938a642714fe9" title="Retrieves attribute information by attribute index position.">H5Aget_info_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_a.html#gad110910cb227c15fdca938a642714fe9" title="Retrieves attribute information by attribute index position.">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, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_f.html#gae17036b3e36a8777328204e8bf073144">H5Fget_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_f.html#gae17036b3e36a8777328204e8bf073144">H5Fget_info(hid_t obj_id, H5F_info_t *bh_info)</a></code> </li>
<li><a class="el" href="group___h5_g.html#gad4be126ab7bbf2001435e8e70089f3d3" title="Retrieves information about a group.">H5Gget_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Gget_info(hid_t group_id, H5G_info_t group_info)</code> </li>
<li><a class="el" href="group___h5_g.html#gadedd0c73c98f2ada69305f2992c3300e" title="Retrieves information about a group by its name.">H5Gget_info_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Gget_info_by_name(hid_t loc_id, const char *group_name, H5G_info_t group_info, hid_t lapl_id)</code> </li>
<li><a class="el" href="group___h5_g.html#ga985f27ad1a164d99fa1f58c6de60ab00" title="Retrieves information about a group, according to the group&#39;s position within an index.">H5Gget_info_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Gget_info_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, hsize_t n, H5G_info_t group_info, hid_t lapl_id)</code> </li>
<li><a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info(hid_t link_loc_id, const char *link_name, H5L_info_t *link_buff, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga4db00b8b944eae68233438165c784b67">H5Lget_info_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga4db00b8b944eae68233438165c784b67">H5Lget_info_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, H5L_info_t *link_val, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gaf4f302a33faba9e1c2b5f64c62ca4ed5">H5Oget_info</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#gaf4f302a33faba9e1c2b5f64c62ca4ed5">H5Oget_info(hid_t object_id, H5O_info_t *obj_info)</a></code> </li>
<li><a class="el" href="group___h5_o.html#ga16d8ac07f9244cfccb42b5f309ca6b3c">H5Oget_info_by_name</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#ga16d8ac07f9244cfccb42b5f309ca6b3c">H5Oget_info_by_name(hid_t loc_id, const char *object_name, H5O_info_t *object_info, hid_t lapl_id)</a></code> </li>
<li><a class="el" href="group___h5_o.html#gafe764884e1530f86079288dd5895a7bd">H5Oget_info_by_idx</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_o.html#gafe764884e1530f86079288dd5895a7bd">H5Oget_info_by_idx(hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, H5O_info_t *obj_info, hid_t lapl_id)</a></code></li>
</ul>
<p>Name of referenced object </p><ul>
<li><a class="el" href="group___h5_r.html#ga4c112c388f697324270fd085100dccaa" title="Retrieves a name for a referenced object.">H5Rget_name</a> <code>ssize_t H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size)</code></li>
</ul>
<p>Anonymous object creation </p><ul>
<li><a class="el" href="group___h5_d.html#ga15a77e82383d821fee8ecbf9ab8408cb" title="Creates a dataset in a file without linking it into the file structure.">H5Dcreate_anon</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_d.html#ga15a77e82383d821fee8ecbf9ab8408cb" title="Creates a dataset in a file without linking it into the file structure.">H5Dcreate_anon(hid_t loc_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id)</a></code> </li>
<li><a class="el" href="group___h5_g.html#gab52641f0736281faaaae4e3039bbb344" title="Creates a new empty group without linking it into the file structure.">H5Gcreate_anon</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Gcreate_anon(hid_t loc_id, const char *name, hid_t gcpl_id, hid_t gapl_id)</code> </li>
<li><a class="el" href="group___h5_t.html#ga510d2e4ab51247ab1a915be701001581" title="Commits a transient datatype to a file, creating a newly named datatype, but does not link it into th...">H5Tcommit_anon</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_t.html#ga510d2e4ab51247ab1a915be701001581" title="Commits a transient datatype to a file, creating a newly named datatype, but does not link it into th...">H5Tcommit_anon(hid_t loc_id, hid_t type_id, hid_t tcpl_id, hid_t tapl_id)</a></code> </li>
<li><a class="el" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2" title="Creates a hard link to an object.">H5Lcreate_hard</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2" title="Creates a hard link to an object.">H5Lcreate_hard(hid_t obj_loc_id, const char *obj_name, hid_t link_loc_id, const char *link_name, hid_t lcpl, hid_t lapl)</a></code></li>
</ul>
<p>New-style object creation and open functions (includes anonymous object creation) </p><ul>
<li><a class="el" href="group___h5_d.html#ga15a77e82383d821fee8ecbf9ab8408cb" title="Creates a dataset in a file without linking it into the file structure.">H5Dcreate_anon</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_d.html#ga15a77e82383d821fee8ecbf9ab8408cb" title="Creates a dataset in a file without linking it into the file structure.">H5Dcreate_anon(hid_t loc_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id)</a></code> </li>
<li><a class="el" href="group___h5_d.html#gabf62045119f4e9c512d87d77f2f992df" title="Creates a new dataset and links it into the file.">H5Dcreate2</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_d.html#gabf62045119f4e9c512d87d77f2f992df" title="Creates a new dataset and links it into the file.">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)</a></code> </li>
<li><a class="el" href="group___h5_d.html#ga04198c4cf0b849ed3a8921f6c7169ee2" title="Opens an existing dataset.">H5Dopen2</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_d.html#ga04198c4cf0b849ed3a8921f6c7169ee2" title="Opens an existing dataset.">H5Dopen2(hid_t loc_id, const char *name, hid_t dapl_id)</a></code> </li>
<li><a class="el" href="group___h5_g.html#gab52641f0736281faaaae4e3039bbb344" title="Creates a new empty group without linking it into the file structure.">H5Gcreate_anon</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Gcreate_anon(hid_t loc_id, const char *name, hid_t gcpl_id, hid_t gapl_id)</code> </li>
<li><a class="el" href="group___h5_g.html#ga86d93295965f750ef25dea2505a711d9" title="Creates a new group and links it into the file.">H5Gcreate2</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_g.html#ga86d93295965f750ef25dea2505a711d9" title="Creates a new group and links it into the file.">H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id)</a></code> </li>
<li><a class="el" href="group___h5_g.html#gadab91e2dd7a7e253dcc0e4fe04b81403" title="Opens an existing group in a file.">H5Gopen2</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_g.html#gadab91e2dd7a7e253dcc0e4fe04b81403" title="Opens an existing group in a file.">H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id)</a></code> </li>
<li><a class="el" href="group___h5_t.html#ga510d2e4ab51247ab1a915be701001581" title="Commits a transient datatype to a file, creating a newly named datatype, but does not link it into th...">H5Tcommit_anon</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_t.html#ga510d2e4ab51247ab1a915be701001581" title="Commits a transient datatype to a file, creating a newly named datatype, but does not link it into th...">H5Tcommit_anon(hid_t loc_id, hid_t type_id, hid_t tcpl_id, hid_t tapl_id)</a></code> </li>
<li><a class="el" href="group___h5_t.html#ga10352b6fa9ac58a7fbd5299496f1df31" title="Commits a transient datatype, linking it into the file and creating a new committed datatype.">H5Tcommit2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_t.html#ga10352b6fa9ac58a7fbd5299496f1df31" title="Commits a transient datatype, linking it into the file and creating a new committed datatype.">H5Tcommit2(hid_t loc_id, const char *name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id)</a></code> </li>
<li><a class="el" href="group___h5_t.html#ga7e65e77634f1fb4ba38cbcdab9a59bc2" title="Opens a committed (named) datatype.">H5Topen2</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_t.html#ga7e65e77634f1fb4ba38cbcdab9a59bc2" title="Opens a committed (named) datatype.">H5Topen2(hid_t loc_id, const char *name, hid_t tapl_id)</a></code></li>
</ul>
<p>User-defined identifiers </p><ul>
<li><a class="el" href="group___h5_i_u_d.html#gab90ab765fa23e8ffbafa228d3c8e82c5" title="Registers an object under a type and returns an ID for it.">H5Iregister</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Iregister(H5I_type_t type, void *object)</code> </li>
<li><a class="el" href="_h5version_8h.html#af51df104e1e3ff0b99b7a8ca368f14ab">H5Iregister_type</a> <code><a class="el" href="_h5_ipublic_8h.html#a13afe14178faf81b89fa2167e7ab832b">H5I_type_t</a> <a class="el" href="_h5version_8h.html#af51df104e1e3ff0b99b7a8ca368f14ab">H5Iregister_type(size_t hash_size, unsigned reserved, H5I_free_t free_func)</a></code> </li>
<li><a class="el" href="group___h5_i_u_d.html#gaabc75ed99fd6b206154b899fac64977e" title="Removes an identifier type and all identifiers within that type.">H5Idestroy_type</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_i_u_d.html#gaabc75ed99fd6b206154b899fac64977e" title="Removes an identifier type and all identifiers within that type.">H5Idestroy_type(H5I_type_t type)</a></code> </li>
<li><a class="el" href="group___h5_i_u_d.html#gae8302de9f2734882596a83f3117f2c9e" title="Increments the reference count on an ID type.">H5Iinc_type_ref</a> <code>int <a class="el" href="group___h5_i_u_d.html#gae8302de9f2734882596a83f3117f2c9e" title="Increments the reference count on an ID type.">H5Iinc_type_ref(H5I_type_t type)</a></code> </li>
<li><a class="el" href="group___h5_i_u_d.html#ga3d29394ea751712e8ef5f9548f611e57" title="Decrements the reference count on an identifier type.">H5Idec_type_ref</a> <code>int <a class="el" href="group___h5_i_u_d.html#ga3d29394ea751712e8ef5f9548f611e57" title="Decrements the reference count on an identifier type.">H5Idec_type_ref(H5I_type_t type)</a></code> </li>
<li><a class="el" href="group___h5_i_u_d.html#ga991d7305ffbd4fdd84432b58f704fd3b" title="Retrieves the reference count on an ID type.">H5Iget_type_ref</a> <code>int <a class="el" href="group___h5_i_u_d.html#ga991d7305ffbd4fdd84432b58f704fd3b" title="Retrieves the reference count on an ID type.">H5Iget_type_ref(H5I_type_t type)</a></code></li>
</ul>
<p>Other identifier API (H5I) enhancements </p><ul>
<li><a class="el" href="group___h5_i_u_d.html#gab019005507b8a02b16538b864dd094c7" title="Deletes all identifiers of the given type.">H5Iclear_type</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_i_u_d.html#gab019005507b8a02b16538b864dd094c7" title="Deletes all identifiers of the given type.">H5Iclear_type(H5I_type_t type, hbool_t force)</a></code> </li>
<li><a class="el" href="group___h5_i_u_d.html#ga839170c17fb8be7e14d16ee74a314a33" title="Returns the number of identifiers in a given identifier type.">H5Inmembers</a> <code>int <a class="el" href="group___h5_i_u_d.html#ga839170c17fb8be7e14d16ee74a314a33" title="Returns the number of identifiers in a given identifier type.">H5Inmembers(H5I_type_t type, hsize_t *num_members)</a></code> </li>
<li><a class="el" href="group___h5_i_u_d.html#ga82b68eac53ed4c55efd98ab4d0eb9035" title="Returns the object referenced by an ID.">H5Iobject_verify</a> <code>void * <a class="el" href="group___h5_i_u_d.html#ga82b68eac53ed4c55efd98ab4d0eb9035" title="Returns the object referenced by an ID.">H5Iobject_verify(hid_t id, H5I_type_t id_type)</a></code> </li>
<li><a class="el" href="group___h5_i_u_d.html#gaa297aca26ed0383a6e126b92454c619a" title="Removes an ID from its type.">H5Iremove_verify</a> <code>void * <a class="el" href="group___h5_i_u_d.html#gaa297aca26ed0383a6e126b92454c619a" title="Removes an ID from its type.">H5Iremove_verify(hid_t id, H5I_type_t id_type)</a></code> </li>
<li><a class="el" href="group___h5_i_u_d.html#ga1f59a0d6e594ce7d61d85e1c16a0a381" title="Finds the memory referred to by an ID within the given ID type such that some criterion is satisfied.">H5Isearch</a> <code>void * <a class="el" href="group___h5_i_u_d.html#ga1f59a0d6e594ce7d61d85e1c16a0a381" title="Finds the memory referred to by an ID within the given ID type such that some criterion is satisfied.">H5Isearch(H5I_type_t type, H5I_search_func_t func, void *key)</a></code> </li>
<li><a class="el" href="group___h5_i_u_d.html#gac137a599a2055909918e55955a69dfad" title="Determines whether an identifier type is registered.">H5Itype_exists</a> <code><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a> <a class="el" href="group___h5_i_u_d.html#gac137a599a2055909918e55955a69dfad" title="Determines whether an identifier type is registered.">H5Itype_exists(H5I_type_t type)</a></code></li>
</ul>
<p>Compression filters: N-bit and scale-offset </p><ul>
<li><a class="el" href="group___d_c_p_l.html#gad58a9c0e766ef71d4075b2c2a755e91c" title="Sets up the use of the N-Bit filter.">H5Pset_nbit</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___d_c_p_l.html#gad58a9c0e766ef71d4075b2c2a755e91c" title="Sets up the use of the N-Bit filter.">H5Pset_nbit(hid_t plist_id)</a></code> </li>
<li><a class="el" href="group___d_c_p_l.html#ga5c10165b670e0e984db431aee818cc7e" title="Sets up the use of the scale-offset filter.">H5Pset_scaleoffset</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___d_c_p_l.html#ga5c10165b670e0e984db431aee818cc7e" title="Sets up the use of the scale-offset filter.">H5Pset_scaleoffset(hid_t plist_id, H5Z_SO_scale_type_t scale_type, int scale_factor)</a></code></li>
</ul>
<p>User-defined datatype conversion callback functions </p><ul>
<li><a class="el" href="group___d_x_p_l.html#gae8c8557d303fa914b569da0182284e89" title="Gets user-defined datatype conversion callback function.">H5Pget_type_conv_cb</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___d_x_p_l.html#gae8c8557d303fa914b569da0182284e89" title="Gets user-defined datatype conversion callback function.">H5Pget_type_conv_cb(hid_t plist, H5T_conv_except_func_t *func, void **op_data)</a></code> </li>
<li><a class="el" href="group___d_x_p_l.html#ga10a80b29444d933da1aa2003f46cf003" title="Sets user-defined datatype conversion callback function.">H5Pset_type_conv_cb</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___d_x_p_l.html#ga10a80b29444d933da1aa2003f46cf003" title="Sets user-defined datatype conversion callback function.">H5Pset_type_conv_cb(hid_t plist, H5T_conv_except_func_t func, void *op_data)</a></code></li>
</ul>
<p>Datatype compiler conversion check </p><ul>
<li><a class="el" href="group___c_o_n_v.html#ga13fc42ad63ffd1e40e6672d30c8dd1cf" title="Check whether the library&#39;s default conversion is hard conversion.">H5Tcompiler_conv</a> <code><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a> <a class="el" href="group___c_o_n_v.html#ga13fc42ad63ffd1e40e6672d30c8dd1cf" title="Check whether the library&#39;s default conversion is hard conversion.">H5Tcompiler_conv(hid_t src_id, hid_t dst_id)</a></code></li>
</ul>
<p>Dataset array size reduction </p><ul>
<li><a class="el" href="group___h5_d.html#gad31e1e0129f4520c531ce524de2a056f" title="Changes the sizes of a dataset&#39;s dimensions.">H5Dset_extent</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Dset_extent(hid_t dset_id, const hsize_t *size)</code></li>
</ul>
<p>Dataspace equivalence </p><ul>
<li><a class="el" href="group___h5_s.html#gae58bca0c154ceaed9ad36c58c78e145c" title="Determines whether two dataspace extents are equal.">H5Sextent_equal</a> <code><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a> <a class="el" href="group___h5_s.html#gae58bca0c154ceaed9ad36c58c78e145c" title="Determines whether two dataspace extents are equal.">H5Sextent_equal(hid_t sid1, hid_t sid2)</a></code></li>
</ul>
<p>Direct I/O, bypassing system cache </p><ul>
<li><a class="el" href="group___f_a_p_l.html#ga4525295096d292c48459b44574ba858c" title="Sets up use of the direct I/O driver.">H5Pset_fapl_direct</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_a_p_l.html#ga4525295096d292c48459b44574ba858c" title="Sets up use of the direct I/O driver.">H5Pset_fapl_direct(hid_t fapl_id, size_t alignment, size_t block_size, size_t cbuf_size)</a></code> </li>
<li><a class="el" href="group___f_a_p_l.html#ga4d94952796e789d7922f039d9659d34d" title="Retrieves direct I/O driver settings.">H5Pget_fapl_direct</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_a_p_l.html#ga4d94952796e789d7922f039d9659d34d" title="Retrieves direct I/O driver settings.">H5Pget_fapl_direct(hid_t fapl_id, size_t *alignment, size_t *block_size, size_t *cbuf_size)</a></code></li>
</ul>
<p>Parallel I/O optimization (collective chunk I/O) </p><ul>
<li><a class="el" href="group___d_x_p_l.html#ga677259e85909add92495621fcad64e3a" title="Sets a flag specifying linked-chunk I/O or multi-chunk I/O.">H5Pset_dxpl_mpio_chunk_opt</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___d_x_p_l.html#ga677259e85909add92495621fcad64e3a" title="Sets a flag specifying linked-chunk I/O or multi-chunk I/O.">H5Pset_dxpl_mpio_chunk_opt(hid_t dxpl_id, H5FD_mpio_chunk_opt_t opt_mode)</a></code> </li>
<li><a class="el" href="group___d_x_p_l.html#ga498f3dba540bf54d1e6ab3d9f92231f1" title="Sets a numeric threshold for linked-chunk I/O.">H5Pset_dxpl_mpio_chunk_opt_num</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___d_x_p_l.html#ga498f3dba540bf54d1e6ab3d9f92231f1" title="Sets a numeric threshold for linked-chunk I/O.">H5Pset_dxpl_mpio_chunk_opt_num(hid_t dxpl_id, unsigned num_chunk_per_proc)</a></code> </li>
<li><a class="el" href="group___d_x_p_l.html#gafdcd34a6dc7a576f8a697318ad3d7b96" title="Sets a ratio threshold for collective I/O.">H5Pset_dxpl_mpio_chunk_opt_ratio</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___d_x_p_l.html#gafdcd34a6dc7a576f8a697318ad3d7b96" title="Sets a ratio threshold for collective I/O.">H5Pset_dxpl_mpio_chunk_opt_ratio(hid_t dxpl_id, unsigned percent_num_proc_per_chunk)</a></code> </li>
<li><a class="el" href="group___d_x_p_l.html#gadd80f197d0e03841c5e7f0f4f02d4103" title="Sets low-level data transfer mode.">H5Pset_dxpl_mpio_collective_opt</a></li>
</ul>
<p>Enhanced error handling (H5E) </p><ul>
<li><a class="el" href="group___h5_e.html#ga031740bbe952c10272f7e43b87565d2f" title="Determines the type of error stack.">H5Eauto_is_v2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#ga031740bbe952c10272f7e43b87565d2f" title="Determines the type of error stack.">H5Eauto_is_v2( hid_t estack_id, unsigned *is_stack )</a></code> </li>
<li><a class="el" href="group___h5_e.html#gac9d90679c7879f3c4ebce858aaa9dfb2" title="Clears the specified error stack or the error stack for the current thread.">H5Eclear2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#gac9d90679c7879f3c4ebce858aaa9dfb2" title="Clears the specified error stack or the error stack for the current thread.">H5Eclear2( hid_t estack_id )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga65b660eb16b25cc008585ba8990e8b15" title="Closes an error message.">H5Eclose_msg</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#ga65b660eb16b25cc008585ba8990e8b15" title="Closes an error message.">H5Eclose_msg( hid_t mesg_id )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga41c2ed13fd6aac6e413fe7383b9090fa" title="Closes an error stack handle.">H5Eclose_stack</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#ga41c2ed13fd6aac6e413fe7383b9090fa" title="Closes an error stack handle.">H5Eclose_stack( hid_t estack_id )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga99a705d98873dcdd1bb6f9d5eebc5afd" title="Adds a major or minor error message to an error class.">H5Ecreate_msg</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_e.html#ga99a705d98873dcdd1bb6f9d5eebc5afd" title="Adds a major or minor error message to an error class.">H5Ecreate_msg( hid_t class, H5E_type_t msg_type, const char* mesg )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga2eda33cbadd9be5bfddbaa91e863c936" title="Returns the settings for the automatic error stack traversal function and its data.">H5Eget_auto2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#ga2eda33cbadd9be5bfddbaa91e863c936" title="Returns the settings for the automatic error stack traversal function and its data.">H5Eget_auto2( hid_t estack_id, H5E_auto2_t *func, void **client_data )</a></code> </li>
<li><a class="el" href="group___h5_e.html#gaf360b8e61728b421ee78438e4f57a001" title="Retrieves error class name.">H5Eget_class_name</a> <code>ssize_t <a class="el" href="group___h5_e.html#gaf360b8e61728b421ee78438e4f57a001" title="Retrieves error class name.">H5Eget_class_name( hid_t class_id, char* name, size_t size )</a></code> </li>
<li><a class="el" href="group___h5_e.html#gac66c0955a6d821a472a3a408cdc95ae6" title="Returns a copy of the current error stack.">H5Eget_current_stack</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_e.html#gac66c0955a6d821a472a3a408cdc95ae6" title="Returns a copy of the current error stack.">H5Eget_current_stack( void )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga64714effca13c23c4f95529256621fa0" title="Retrieves an error message.">H5Eget_msg</a> <code>ssize_t H5Eget_msg( <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> mesg_id, <a class="el" href="_h5_epublic_8h.html#a415162f1ce9b31241977d0a5857caa3c">H5E_type_t</a> <em>mesg_type, char</em> mesg, size_t size )</code> </li>
<li><a class="el" href="group___h5_e.html#ga5c42673e2059c385a95ce3c597e0756d" title="Retrieves the number of error messages in an error stack.">H5Eget_num</a> <code>ssize_t <a class="el" href="group___h5_e.html#ga5c42673e2059c385a95ce3c597e0756d" title="Retrieves the number of error messages in an error stack.">H5Eget_num( hid_t estack_id )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga818569ac92695fb1a7836c2389faa2ba" title="Deletes specified number of error messages from the error stack.">H5Epop</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#ga818569ac92695fb1a7836c2389faa2ba" title="Deletes specified number of error messages from the error stack.">H5Epop( hid_t estack_id, size_t count )</a></code> </li>
<li><a class="el" href="group___h5_e.html#gae86ab32e85028412c731cf0f2b8d1f56" title="Prints the specified error stack in a default manner.">H5Eprint2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#gae86ab32e85028412c731cf0f2b8d1f56" title="Prints the specified error stack in a default manner.">H5Eprint2( hid_t estack_id, FILE * stream )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga17c2790837a1c1ea7e56b65d3c00a920" title="Pushes a new error record onto an error stack.">H5Epush2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#ga17c2790837a1c1ea7e56b65d3c00a920" title="Pushes a new error record onto an error stack.">H5Epush2( hid_t estack_id, const char *file, const char *func, unsigned line, hid_t class_id, hid_t major_id, hid_t minor_id, const char *msg, ...)</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga70ecfb35ab871ddb1cd2dfa0ac5f740c" title="Registers a client library or application program to the HDF5 error API.">H5Eregister_class</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_e.html#ga70ecfb35ab871ddb1cd2dfa0ac5f740c" title="Registers a client library or application program to the HDF5 error API.">H5Eregister_class( const char* cls_name, const char* lib_name, const char* version )</a></code> </li>
<li><a class="el" href="group___h5_e.html#gaf0d6b18cd5160517fe5165b9a8443c69" title="Turns automatic error printing on or off.">H5Eset_auto2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#gaf0d6b18cd5160517fe5165b9a8443c69" title="Turns automatic error printing on or off.">H5Eset_auto2( hid_t estack_id, H5E_auto2_t func, void *client_data )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga155715dd456c2b62a0b567e970af3473" title="Replaces the current error stack.">H5Eset_current_stack</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#ga155715dd456c2b62a0b567e970af3473" title="Replaces the current error stack.">H5Eset_current_stack( hid_t estack_id )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga0383710d3984d19d3d2006d1151b88a2" title="Removes an error class.">H5Eunregister_class</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#ga0383710d3984d19d3d2006d1151b88a2" title="Removes an error class.">H5Eunregister_class( hid_t class_id )</a></code> </li>
<li><a class="el" href="group___h5_e.html#ga4ecc0f6a1ea5bb821373a5a7b8070655" title="Walks the specified error stack, calling the specified function.">H5Ewalk2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_e.html#ga4ecc0f6a1ea5bb821373a5a7b8070655" title="Walks the specified error stack, calling the specified function.">H5Ewalk2( hid_t estack_id, H5E_direction_t direction, H5E_walk2_t func, void * client_data )</a></code></li>
</ul>
<p>Meta data cache management </p><ul>
<li><a class="el" href="group___m_d_c.html#gaa67f127242d4aaf244ae8ac4a1fe6a59" title="Obtains current metadata cache configuration for target file.">H5Fget_mdc_config</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___m_d_c.html#gaa67f127242d4aaf244ae8ac4a1fe6a59" title="Obtains current metadata cache configuration for target file.">H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr)</a></code> </li>
<li><a class="el" href="group___m_d_c.html#gabea066c3fd924d2cf868ecee66a7c41f" title="Obtains target file&#39;s metadata cache hit rate.">H5Fget_mdc_hit_rate</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___m_d_c.html#gabea066c3fd924d2cf868ecee66a7c41f" title="Obtains target file&#39;s metadata cache hit rate.">H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr)</a></code> </li>
<li><a class="el" href="group___m_d_c.html#gacda6cbd60d3c50b59f801eba4e5a335f" title="Obtains current metadata cache size data for specified file.">H5Fget_mdc_size</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___m_d_c.html#gacda6cbd60d3c50b59f801eba4e5a335f" title="Obtains current metadata cache size data for specified file.">H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr)</a></code> </li>
<li><a class="el" href="group___m_d_c.html#ga6708886c2bb8740327d9078d7840197f" title="Resets hit rate statistics counters for the target file.">H5Freset_mdc_hit_rate_stats</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___m_d_c.html#ga6708886c2bb8740327d9078d7840197f" title="Resets hit rate statistics counters for the target file.">H5Freset_mdc_hit_rate_stats(hid_t file_id)</a></code> </li>
<li><a class="el" href="group___m_d_c.html#ga81bc06be69131484eb04d01511b9c8f8" title="Attempts to configure metadata cache of target file.">H5Fset_mdc_config</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr)</code> </li>
<li><a class="el" href="group___f_a_p_l.html#ga3012f7f3310c7d25ada7617896bef1ee" title="Get the current initial metadata cache configuration from the provided file access property list.">H5Pget_mdc_config</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_a_p_l.html#ga3012f7f3310c7d25ada7617896bef1ee" title="Get the current initial metadata cache configuration from the provided file access property list.">H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr)</a></code> </li>
<li><a class="el" href="group___f_a_p_l.html#gaf234199ad4cf9c708f45893f7f9cd4d3" title="Set the initial metadata cache configuration in the indicated File Access Property List to the suppli...">H5Pset_mdc_config</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___f_a_p_l.html#gaf234199ad4cf9c708f45893f7f9cd4d3" title="Set the initial metadata cache configuration in the indicated File Access Property List to the suppli...">H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr)</a></code></li>
</ul>
<p>File read/write status </p><ul>
<li><a class="el" href="group___h5_f.html#ga466179d7783d256329c2e3110055a16c" title="Determines the read/write or read-only status of a file.">H5Fget_intent</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_f.html#ga466179d7783d256329c2e3110055a16c" title="Determines the read/write or read-only status of a file.">H5Fget_intent(hid_t file_id, unsigned *intent)</a></code></li>
</ul>
<p>Arithmetic data transform on I/O </p><ul>
<li><a class="el" href="group___d_x_p_l.html#ga865b05218e704578fe8db0c9dec07b25" title="Retrieves a data transform expression.">H5Pget_data_transform</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___d_x_p_l.html#ga865b05218e704578fe8db0c9dec07b25" title="Retrieves a data transform expression.">H5Pget_data_transform( hid_t plist_id, char* expression, size_t size)</a></code> </li>
<li><a class="el" href="group___d_x_p_l.html#gaa8c317b6164ae22a6ddae4131bbbcd22" title="Sets a data transform expression.">H5Pset_data_transform</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___d_x_p_l.html#gaa8c317b6164ae22a6ddae4131bbbcd22" title="Sets a data transform expression.">H5Pset_data_transform( hid_t plist, const char* expression )</a></code></li>
</ul>
<p>Dataspace and datatype serial conversion </p><ul>
<li><a class="el" href="group___h5_s.html#ga0ac0ebd5f292460354f574476be49fad" title="Decodes a binary object description of data space and returns a new object handle.">H5Sdecode</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_s.html#ga0ac0ebd5f292460354f574476be49fad" title="Decodes a binary object description of data space and returns a new object handle.">H5Sdecode( const void *buf )</a></code> </li>
<li><a class="el" href="group___h5_s.html#ga35e289baf490229e233296929fbf5208">H5Sencode</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_s.html#ga35e289baf490229e233296929fbf5208">H5Sencode( hid_t obj_id, void *buf, size_t *nalloc )</a></code> </li>
<li><a class="el" href="_h5version_8h.html#ac90f7722dacad861c0a22507d3adf0dd">H5Tdecode</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="_h5version_8h.html#ac90f7722dacad861c0a22507d3adf0dd">H5Tdecode( const void *buf )</a></code> </li>
<li><a class="el" href="group___h5_t.html#ga1ceda41ee462fab8dd70bdf67205ed1c" title="Encodes a datatype object description into a binary buffer.">H5Tencode</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_t.html#ga1ceda41ee462fab8dd70bdf67205ed1c" title="Encodes a datatype object description into a binary buffer.">H5Tencode( hid_t obj_id, void *buf, size_t *nalloc )</a></code></li>
</ul>
<p>Enhanced filter management </p><ul>
<li><a class="el" href="group___o_c_p_l.html#ga024d200a6a07e12f008a62c4e62d0bcc" title="Returns information about a filter in a pipeline.">H5Pget_filter2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___o_c_p_l.html#ga024d200a6a07e12f008a62c4e62d0bcc" title="Returns information about a filter in a pipeline.">H5Pget_filter2( hid_t plist_id, unsigned idx, unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[], size_t namelen, char name[], unsigned *filter_config)</a></code> </li>
<li><a class="el" href="group___o_c_p_l.html#ga2d5e9df5f0e93abae11ee5edd82fcec3" title="Returns information about the specified filter.">H5Pget_filter_by_id2</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Pget_filter_by_id2( hid_t plist_id, H5Z_filter_t filter_id, unsigned int *flags, size_t *cd_nelmts, unsigned int cd_values[], size_t namelen, char name[], unsigned int *filter_config)</code></li>
</ul>
<p>Comparison of properties </p><ul>
<li><a class="el" href="group___p_l_c_r_a.html#ga930e15d5f994e223bea80621ef3065d4" title="Registers a temporary property with a property list.">H5Pinsert2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___p_l_c_r_a.html#ga930e15d5f994e223bea80621ef3065d4" title="Registers a temporary property with a property list.">H5Pinsert2( hid_t plid, 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 delete, H5P_prp_copy_func_t copy, H5P_prp_compare_func_t compare, H5P_prp_close_func_t close)</a></code> </li>
<li><a class="el" href="group___p_l_c_r_a.html#gaac3f957a5d3cbb4adc8b7ba2aa5f1719" title="Registers a permanent property with a property list class.">H5Pregister2</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___p_l_c_r_a.html#gaac3f957a5d3cbb4adc8b7ba2aa5f1719" title="Registers a permanent property with a property list class.">H5Pregister2( hid_t class, const char * name, size_t size, void * default, H5P_prp_create_func_t create, H5P_prp_set_func_t set, H5P_prp_get_func_t get, H5P_prp_delete_func_t delete, H5P_prp_copy_func_t copy, H5P_prp_compare_func_t compare, H5P_prp_close_func_t close)</a></code></li>
</ul>
<p>Two-way conversion between datatype and text description of datatype </p><ul>
<li><a class="el" href="group___h5_l_t.html#gad330b1eba5005b582daad787a638660f" title="Creates an HDF5 datatype given a text description.">H5LTtext_to_dtype</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5LTtext_to_datatype( const char *text, H5LT_lang_t lang_type)</code> </li>
<li><a class="el" href="group___h5_l_t.html#ga155a5e59441ed05ca1b91e6404314862" title="Creates a text description of an HDF5 datatype.">H5LTdtype_to_text</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l_t.html#ga155a5e59441ed05ca1b91e6404314862" title="Creates a text description of an HDF5 datatype.">H5LTdtype_to_text( hid_t datatype, char *str, H5LT_lang_t lang_type, size_t *len)</a></code></li>
</ul>
<p><b>Fortran subroutines:</b> New Fortran subroutines in the main library are not yet included for Release 1.8.0-beta. See below for Fortran routines for High-Level HDF5 APIs.</p>
<p><b>C++ wrappers:</b> There no new C++ wrappers for Release 1.8.0-beta.</p>
<p><b>High Level C APIs:</b> H5LT: The following functions have been added to the HDF5 Lite (H5LT) API: </p><ul>
<li><a class="el" href="group___h5_l_t.html#gad330b1eba5005b582daad787a638660f" title="Creates an HDF5 datatype given a text description.">H5LTtext_to_dtype</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5LTtext_to_datatype( const char *text, H5LT_lang_t lang_type)</code> </li>
<li><a class="el" href="group___h5_l_t.html#ga155a5e59441ed05ca1b91e6404314862" title="Creates a text description of an HDF5 datatype.">H5LTdtype_to_text</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_l_t.html#ga155a5e59441ed05ca1b91e6404314862" title="Creates a text description of an HDF5 datatype.">H5LTdtype_to_text( hid_t datatype, char *str, H5LT_lang_t lang_type, size_t *len)</a></code> </li>
<li><a class="el" href="group___h5_l_t.html#ga02d64d54eee3a22b257c3cf8508b9ae3" title="Creates and writes an attribute.">H5LTset_attribute_long_long</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5LTset_attribute_long_long( hid_t loc_id, const char *obj_name, const char *attr_name, const long_long *data, size_t *size)</code> </li>
<li><a class="el" href="group___h5_l_t.html#ga9849ee57e1a62ea78edceeb9e7eb4280" title="Reads a long long attribute.">H5LTget_attribute_long_long</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5LTget_attribute_long_long( hid_t loc_id, const char *obj_name, const char *attr_name, long_long *data)</code></li>
</ul>
<p>Two high-level C APIs are distributed for the first time with this release: </p><ul>
<li>H5PT, the HDF5 Packet Table interface </li>
<li>H5DS, the HDF5 Dimension Scale interface Full documentation for these interfaces can be accessed directly from the High Level APIs overview page.</li>
</ul>
<p>The new functions included in the packet table (H5PT) high-level APIs are as follows: </p><ul>
<li><a class="el" href="group___h5_p_t.html#gabed39877667be44b8b6bf3e6a4e2e3ab" title="Creates a packet table to store fixed-length packets.">H5PTcreate_fl</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5PTcreate_fl( hid_t loc_id, const char * dset_name, hid_t dtype_id, hsize_t chunk_size )</code> </li>
<li>H5PTcreate_vl <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5PTcreate_vl( hid_t loc_id, const char *dset_name, hsize_t chunk_size )</code> </li>
<li><a class="el" href="group___h5_p_t.html#ga5053a36ebe72f78820138495a0e359fb" title="Opens an existing packet table.">H5PTopen</a> <code><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> <a class="el" href="group___h5_p_t.html#ga5053a36ebe72f78820138495a0e359fb" title="Opens an existing packet table.">H5PTopen( hid_t loc_id, const char *dset_name )</a></code> </li>
<li><a class="el" href="group___h5_p_t.html#ga972403e11e64729d8435c363b138ae94" title="Closes an open packet table.">H5PTclose</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_p_t.html#ga972403e11e64729d8435c363b138ae94" title="Closes an open packet table.">H5PTclose( hid_t table_id )</a></code> </li>
<li><a class="el" href="group___h5_p_t.html#gaf889c2198653bd9bba6d82ba5020cd79" title="Appends packets to the end of a packet table.">H5PTappend</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5PTappend( hid_t table_id, hsize_t nrecords, const void *data)</code> </li>
<li><a class="el" href="group___h5_p_t.html#ga430cc0ee1f3d03f84c7169cfdf38e966" title="Resets a packet table&#39;s index to the first packet.">H5PTcreate_index</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_p_t.html#ga430cc0ee1f3d03f84c7169cfdf38e966" title="Resets a packet table&#39;s index to the first packet.">H5PTcreate_index( hid_t table_id)</a></code> </li>
<li><a class="el" href="group___h5_p_t.html#gaa3f21cb7b44b0e8d9dea03ee2e344b8a" title="Sets a packet table&#39;s index.">H5PTset_index</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_p_t.html#gaa3f21cb7b44b0e8d9dea03ee2e344b8a" title="Sets a packet table&#39;s index.">H5PTset_index( hid_t table_id, hsize_t pt_index)</a></code> </li>
<li><a class="el" href="group___h5_p_t.html#ga9c230c5e08e26dde4d62057e568ebb52" title="Reads a number of packets from a packet table.">H5PTread_packets</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5PTread_packets( hid_t table_id, hsize_t start, hsize_t nrecords, void *data)</code> </li>
<li><a class="el" href="group___h5_p_t.html#ga23ce6f7e0a08f14b6e516db3dab71385" title="Reads packets from a packet table starting at the current index.">H5PTget_next</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5PTget_next( hid_t table_id, hsize_t nrecords, void *data)</code> </li>
<li><a class="el" href="group___h5_p_t.html#ga2ebf603409c2f4959d47261a4cf379d2" title="Returns the number of packets in a packet table.">H5PTget_num_packets</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_p_t.html#ga2ebf603409c2f4959d47261a4cf379d2" title="Returns the number of packets in a packet table.">H5PTget_num_packets( hid_t table_id, hsize_t * nrecords)</a></code> </li>
<li><a class="el" href="group___h5_p_t.html#gafec157fe9025d41b99b7f65c951bb159" title="Determines whether an identifier points to a packet table.">H5PTis_valid</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_p_t.html#gafec157fe9025d41b99b7f65c951bb159" title="Determines whether an identifier points to a packet table.">H5PTis_valid( hid_t table_id)</a></code> </li>
<li><a class="el" href="group___h5_p_t.html#ga4d4d6aa197f39e07c1094363355cce50" title="Determines whether a packet table contains variable-length or fixed-length packets.">H5PTis_varlen</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_p_t.html#ga4d4d6aa197f39e07c1094363355cce50" title="Determines whether a packet table contains variable-length or fixed-length packets.">H5PTis_varlen( hid_t table_id)</a></code> </li>
<li>H5PTfree_vlen_readbuff <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5PTfree_vlen_readbuff( hid_t table_id, hsize_t bufflen, void * buff)</code></li>
</ul>
<p>The new functions included in the dimension scale (H5DS) high-level APIs are as follows: </p><ul>
<li><a class="el" href="group___h5_d_s.html#gaca0f37c36c4e1288d161d26daa3a41d3" title="Convert dataset dsid to a dimension scale, with optional name, dimname.">H5DSset_scale</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5DSset_scale(hid_t did, const char *dimname, hid_t dimscale_id)</code> </li>
<li><a class="el" href="group___h5_d_s.html#ga0560840eeab7366cfe0c07cc6b57fe4b" title="Attach dimension scale dsid to dimension idx of dataset did.">H5DSattach_scale</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_d_s.html#ga0560840eeab7366cfe0c07cc6b57fe4b" title="Attach dimension scale dsid to dimension idx of dataset did.">H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx)</a></code> </li>
<li><a class="el" href="group___h5_d_s.html#gad4af4f5d5c880c5c93ca950cdf5a01fd" title="Detach dimension scale dsid from the dimension idx of dataset did.">H5DSdetach_scale</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_d_s.html#gad4af4f5d5c880c5c93ca950cdf5a01fd" title="Detach dimension scale dsid from the dimension idx of dataset did.">H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx)</a></code> </li>
<li><a class="el" href="group___h5_d_s.html#gad7bbd73a68b031f6ac4c305333b0c8b7" title="Report if dimension scale dsid is currently attached to dimension idx of dataset did.">H5DSis_attached</a> <code><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a> <a class="el" href="group___h5_d_s.html#gad7bbd73a68b031f6ac4c305333b0c8b7" title="Report if dimension scale dsid is currently attached to dimension idx of dataset did.">H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx)</a></code> </li>
<li><a class="el" href="group___h5_d_s.html#gaf6c043d90b502ecf96783e8f50cadcd5" title="Determines whether did is a Dimension Scale.">H5DSis_scale</a> <code><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a> <a class="el" href="group___h5_d_s.html#gaf6c043d90b502ecf96783e8f50cadcd5" title="Determines whether did is a Dimension Scale.">H5DSis_scale(hid_t did)</a></code> </li>
<li><a class="el" href="group___h5_d_s.html#ga7cb78620d05e7dcb81a9f53a8cc496f5" title="Iterates the operation visitor through the scales attached to dimension dim.">H5DSiterate_scales</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5DSiterate_scales(hid_t did, unsigned dim, int *idx, H5DS_iterate_t visitor, void *visitor_data)</code> </li>
<li><a class="el" href="group___h5_d_s.html#ga10e953a37cf817f491fe47acb1370d88" title="Set label for the dimension idx of did to the value label.">H5DSset_label</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_d_s.html#ga10e953a37cf817f491fe47acb1370d88" title="Set label for the dimension idx of did to the value label.">H5DSset_label(hid_t did, unsigned int idx, const char *label)</a></code> </li>
<li><a class="el" href="group___h5_d_s.html#ga265aa3dadb5d067c112620ffe01f96d7" title="Read the label for dimension idx of did into buffer label.">H5DSget_label</a> <code>ssize_t <a class="el" href="group___h5_d_s.html#ga265aa3dadb5d067c112620ffe01f96d7" title="Read the label for dimension idx of did into buffer label.">H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size)</a></code> </li>
<li><a class="el" href="group___h5_d_s.html#ga704bbb7eb2c9696f0f2c84e0267e4ffa" title="Retrieves name of scale did into buffer name.">H5DSget_scale_name</a> <code><a class="el" href="_h5public_8h.html#a7d9d4293176a8d7535ea6d4038235280">hssize_t</a> H5DSget_scale_name(hid_t did, char name, size_t *size)</code> </li>
<li><a class="el" href="group___h5_d_s.html#ga562b91296f739a1833a1e1cfc64c7726" title="Determines how many Dimension Scales are attached to dimension idx of did.">H5DSget_num_scales</a> <code>int <a class="el" href="group___h5_d_s.html#ga562b91296f739a1833a1e1cfc64c7726" title="Determines how many Dimension Scales are attached to dimension idx of did.">H5DSget_num_scales(hid_t did, unsigned int idx)</a></code></li>
</ul>
<p><b>High Level Fortan90 APIs:</b></p>
<p>Fortran90 subroutines are now available for the following high-level APIs: </p><ul>
<li>H5LT: HDF5 Lite </li>
<li>H5IM: HDF5 Image </li>
<li>H5TB: HDF5 Table</li>
</ul>
<p>Tools: </p><ul>
<li><a class="el" href="_h5_t_o_o_l__s_t__u_g.html#sec_cltools_h5stat">h5stat</a></li>
</ul>
<h4>Deprecated and Deleted Functions</h4>
<p>The following functions, subroutines and wrappers have been removed in this release:</p>
<p><b>C functions</b>: HDF5 no longer provides GASS support. </p><ul>
<li>H5Pset_fapl_gass </li>
<li>H5Pget_fapl_gass</li>
</ul>
<p>HDF5 no longer provides SRB support. SRB functionality is now supported through the mechanism described in SRB - The DICE Storage Resource Broker. </p><ul>
<li>H5Pset_fapl_srb </li>
<li>H5Pget_fapl_srb</li>
</ul>
<p>The stream virtual file driver (H5FD_STREAM) has been removed from the HDF5 distribution. The functionality was last available from <code>hdf5-addons.origo.ethz.ch/</code>. </p><ul>
<li>H5Pset_fapl_stream </li>
<li>H5Pget_fapl_stream</li>
</ul>
<p>These two functions are replaced by H5Pget_type_conv_cb and H5Pset_type_conv_cb. </p><ul>
<li>H5Tset_overflow </li>
<li>H5Tget_overflow</li>
</ul>
<p>Several functions, subroutines, and wrappers are deprecated in this HDF5 release and may eventually be removed from the HDF5 distribution and from the HDF5 Reference Manual. A Release 1.6.x compatibility mode is provided enabling these and other Release 1.6.x compatibility features, but is available only if the HDF5 Library is configured with the default settings or with the flag <code>&ndash;with-default-api-version=v16</code>. Release 1.8.0 also provides macros that can be mapped selectively to 1.6.x and 1.8.0 function versions according to the needs of a user application. The backward compatibility mode is enabled in the Release 1.8.0 binaries distributed by NCSA. See <a class="el" href="api-compat-macros.html">API Compatibility Macros</a> for full details.</p>
<p>Deprecated functions are marked in the function index at the beginning of each API section in the HDF5 Reference Manual.</p>
<p>Virtual File Driver Removed The stream virtual file driver (H5FD_STREAM) have been removed in this release. This affects the functions H5Pset_fapl_stream and H5Pget_fapl_stream and the constant H5FD_STREAM.</p>
<p>This virtual file driver will remain available at <code>hdf5-addons.origo.ethz.ch/</code>. Note that as of this writing, this transition is still in progress; the necessary integration tools may not be available when HDF5 Release 1.8.0 first comes out.</p>
<h4>Functions with New or Changed Symbols or Fixed Values</h4>
<p>Symbols and preset values associated with the following functions, subroutines or wrappers have changed as noted.</p>
<p><b>C functions</b>: </p><ul>
<li><a class="el" href="group___c_o_n_v.html#ga0a23a3cb9f24bd79fae7d2d8c412a25a" title="Registers a datatype conversion function.">H5Tregister</a> - Null is no longer a valid value for the parameter func. </li>
<li><a class="el" href="_h5version_8h.html#ac7aa336e7b1b9033cea2448ba623951f">H5Pget_filter_by_id</a> </li>
<li><a class="el" href="group___o_c_p_l.html#ga12a358b3725a889c1768bbd2b5f541d8" title="Modifies a filter in the filter pipeline.">H5Pmodify_filter</a> </li>
<li><a class="el" href="group___o_c_p_l.html#gabffbf6d013c090fa052ac4bafce8e532" title="Delete one or more filters in the filter pipeline.">H5Premove_filter</a> </li>
<li><a class="el" href="group___o_c_p_l.html#gae7ac4c110e9ec3fcf38966928b96cda3" title="Adds a filter to the filter pipeline.">H5Pset_filter</a> </li>
<li><a class="el" href="group___h5_z.html#ga3594e10d70739ccda55ebb55b17b50ee" title="Determines whether a filter is available.">H5Zfilter_avail</a> </li>
<li><a class="el" href="group___h5_z.html#ga9ef800ceec249c8819492545def9adba" title="Retrieves information about a filter.">H5Zget_filter_info</a> - Two new filter identifiers are available for the filter parameter:<ul>
<li>
<a class="el" href="_h5_zpublic_8h.html#a8cc463fa1979bd4bfa0dd9aa6a41e49d">H5Z_FILTER_NBIT</a> </li>
<li>
<a class="el" href="_h5_zpublic_8h.html#a745d2ccb4f7712ed78ef5e562e27d2ca">H5Z_FILTER_SCALEOFFSET</a></li>
</ul>
</li>
<li><a class="el" href="_h5version_8h.html#a7e070dfec9cb3a3aaf9c188a987e6a15">H5Pget_filter</a> - Two new filter identifiers are available as the return value:<ul>
<li>
<a class="el" href="_h5_zpublic_8h.html#a8cc463fa1979bd4bfa0dd9aa6a41e49d">H5Z_FILTER_NBIT</a> </li>
<li>
<a class="el" href="_h5_zpublic_8h.html#a745d2ccb4f7712ed78ef5e562e27d2ca">H5Z_FILTER_SCALEOFFSET</a></li>
</ul>
</li>
</ul>
<p>Fortran90 subroutines: </p><ul>
<li><a class="el" href="group___f_h5_p.html#ga36c7ca2cad2f3a686e9da698d981dbb9" title="Returns information about a filter in a pipeline.">h5p.h5pget_filter_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga9b94b597f5e46515102fb04bf99bff01" title="Returns information about a filter in a pipeline.">h5p.h5pget_filter_by_id_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gaeaec8180ed6a4c4e83c855a5dadae046" title="Adds a filter to the filter pipeline.">h5p.h5pmodify_filter_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#ga933ef30f4f10ae80d678a0227fbdeee8" title="Delete one or more filters from the filter pipeline.">h5p.h5premove_filter_f</a> </li>
<li><a class="el" href="group___f_h5_p.html#gaca0a7b286f25678ae5c4b4ba60818332" title="Adds a filter to the filter pipeline.">h5p.h5pset_filter_f</a> </li>
<li><a class="el" href="group___f_h5_z.html#ga7b2082394884329ff069cd46692c8396" title="Queries if filter is available.">h5z.h5zfilter_avail_f</a> </li>
<li><a class="el" href="group___f_h5_z.html#gab7260b0eb08e43e64dd1bc3148fa66a0" title="Queries if filter has its encoder and/or decoder available.">h5z.h5zget_filter_info_f</a> - Two new filter identifiers are available for the filter or filter_id parameters:<ul>
<li>
H5Z_FILTER_NBIT_F </li>
<li>
H5Z_FILTER_SCALEOFFSET_F</li>
</ul>
</li>
</ul>
<p><b>Functions with Changed Syntax</b> Function syntax changes in this release are handled through the mechanism described in <a class="el" href="api-compat-macros.html">API Compatibility Macros</a>.</p>
<p>Exceptions: The function <a class="el" href="group___h5_e.html#ga4975325db13bc5cf44d72d4ef0394034" title="Returns a character string describing an error specified by a minor error number.">H5Eget_minor</a> is not governed by the above-mentioned macros and its return type has changed: </p><ul>
<li><a class="el" href="group___h5_e.html#ga4975325db13bc5cf44d72d4ef0394034" title="Returns a character string describing an error specified by a minor error number.">H5Eget_minor</a> <code>char *H5Eget_minor (<a class="el" href="_h5_epublic_8h.html#a6a5b9e5fcbb4cf4cdc5d347e34d4af0a">H5E_minor_t</a> n)</code></li>
</ul>
<p>An application calling <a class="el" href="group___h5_e.html#ga4975325db13bc5cf44d72d4ef0394034" title="Returns a character string describing an error specified by a minor error number.">H5Eget_minor</a> from an HDF5 Library of Release 1.8.0 or later will have to free the memory associated with the return value to prevent a memory leak. (This note added at Release 1.8.4, November 2009.)</p>
<p>In the function H5Dextend, the size parameter signature was changed. </p><ul>
<li><a class="el" href="group___h5_d.html#gac4c0ff57977b1f39c1055296e39cbe91" title="Extends a dataset.">H5Dextend</a> <code><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="el" href="group___h5_d.html#gac4c0ff57977b1f39c1055296e39cbe91" title="Extends a dataset.">H5Dextend( hid_t dataset_id, const hsize_t size[] )</a></code><br />
see the Release 1.6 entry for the old signature.</li>
</ul>
<p>The new function signature is generally considered equivalent to the old signature, but some compilers require an exact match. (This note added in February 2010, following Release 1.8.4.)</p>
<p>Renamed Functions The following C functions have been renamed. The original function names remain available under certain circumstances; see <a class="el" href="api-compat-macros.html">API Compatibility Macros</a> for full details. </p><table class="doxtable">
<tr>
<th>Original Function</th><th>New Function </th></tr>
<tr>
<td>H5Acreate</td><td><a class="el" href="group___h5_a.html#gaa30f5f6c277d6c46f8aa31e89cdba085" title="Creates an attribute attached to a specified object.">H5Acreate1</a> </td></tr>
<tr>
<td>H5Aiterate</td><td><a class="el" href="group___h5_a.html#gabdb2cf7368eec0ad998cbe6a3f61aa41" title="Calls a user&#39;s function for each attribute on an object.">H5Aiterate1</a> </td></tr>
<tr>
<td>H5Dcreate</td><td><a class="el" href="group___h5_d.html#ga6b86f2683ae6a78d48d33c45257744a2" title="Creates a dataset at the specified location.">H5Dcreate1</a> </td></tr>
<tr>
<td>H5Dopen</td><td><a class="el" href="group___h5_d.html#gabaf03a683e1da2c8dad6ba1010d55b81" title="Opens an existing dataset.">H5Dopen1</a> </td></tr>
<tr>
<td>H5Eclear</td><td><a class="el" href="group___h5_e.html#ga0f2ee26cbe35c5dde49d615fc31ea2f6" title="Clears the error stack for the current thread.">H5Eclear1</a> </td></tr>
<tr>
<td>H5Eget_auto</td><td><a class="el" href="group___h5_e.html#ga0ca4dd7ed560882a7da176a0e2325707" title="Returns the current settings for the automatic error stack traversal function and its data.">H5Eget_auto1</a> </td></tr>
<tr>
<td>H5Eprint</td><td><a class="el" href="group___h5_e.html#ga9c71eb8e5b7261668e2e8926f1822365" title="Prints the current error stack in a default manner.">H5Eprint1</a> </td></tr>
<tr>
<td>H5Epush</td><td><a class="el" href="group___h5_e.html#ga7e2d223ad3bf68fe35f343b97edf0e92" title="Pushes a new error record onto the error stack.">H5Epush1</a> </td></tr>
<tr>
<td>H5Eset_auto</td><td><a class="el" href="group___h5_e.html#gab7e1c2db4a0811b70227833b5462eea8" title="Turns automatic error printing on or off.">H5Eset_auto1</a> </td></tr>
<tr>
<td>H5Ewalk</td><td><a class="el" href="group___h5_e.html#ga8d54a0f62f9ea625bdeab8e5e0c894c4" title="Walks the current error stack, calling the specified function.">H5Ewalk1</a> </td></tr>
<tr>
<td>H5Gcreate</td><td><a class="el" href="group___h5_g.html#ga7397440085510728a2e2d22199e81980" title="Creates a new group and links it into the file.">H5Gcreate1</a> </td></tr>
<tr>
<td>H5Gopen</td><td><a class="el" href="group___h5_g.html#ga163ca3eb7893d34973ee900b2da886be" title="Opens an existing group for modification and returns a group identifier for that group.">H5Gopen1</a> </td></tr>
<tr>
<td>H5Pget_filter</td><td><a class="el" href="group___d_c_p_l.html#gacbd4f93aa7cd270668385440fb5873a1" title="Returns information about a filter in a pipeline (DEPRECATED)">H5Pget_filter1</a> </td></tr>
<tr>
<td>H5Pget_filter_by_id</td><td><a class="el" href="group___d_c_p_l.html#ga351bb4dc44dae41344f18aab177f4cf1" title="Returns information about the specified filter.">H5Pget_filter_by_id1</a> </td></tr>
<tr>
<td>H5Pinsert</td><td><a class="el" href="group___p_l_c_r_a.html#ga6ba9694c03ae97c9f514470366a909f9" title="Registers a temporary property with a property list.">H5Pinsert1</a> </td></tr>
<tr>
<td>H5Pregister</td><td><a class="el" href="group___p_l_c_r_a.html#ga91799f6cda78911e9ecc2cfaaea3a3b5" title="Registers a permanent property with a property list class.">H5Pregister1</a> </td></tr>
<tr>
<td>H5Rget_obj_type</td><td><a class="el" href="group___h5_r.html#gaf3736b2880a58471882b079b9f03defe" title="Retrieves the type of object that an object reference points to.">H5Rget_obj_type1</a> </td></tr>
<tr>
<td>H5Tarray_create</td><td><a class="el" href="group___a_r_r_a_y.html#gaa0dc45417b2d45cc6810a1831f117e80" title="Creates an array datatype object.">H5Tarray_create1</a> </td></tr>
<tr>
<td>H5Tcommit</td><td><a class="el" href="group___h5_t.html#ga1c00afb6dc5534778370a92c33fa2625" title="Commits a transient datatype to a file, creating a newly named datatype.">H5Tcommit1</a> </td></tr>
<tr>
<td>H5Tget_array_dims</td><td><a class="el" href="group___a_r_r_a_y.html#ga40dca4c9bdc5e6781a07830570a476ca" title="Retrieves sizes of array dimensions.">H5Tget_array_dims1</a> </td></tr>
<tr>
<td>H5Topen</td><td><a class="el" href="group___h5_t.html#ga9f76fa0dc34bc7b310e100e5bfed66fb" title="Opens a named datatype.">H5Topen1</a> </td></tr>
</table>
<p>Changed Library Structures The following library structures have changed as follows: <b>C API:</b> </p><ul>
<li><a class="el" href="struct_h5_f_d__t.html">H5FD_t</a> - In this struct, the field fileno[2] has changed to fileno. The struct is otherwise unchanged. </li>
<li><a class="el" href="_h5version_8h.html#a3f702f77f3ab031d771be3b2b4bf4fba">H5Z_class_t</a> - This struct contains three new fields:<ul>
<li>
int version </li>
<li>
unsigned encoder_present </li>
<li>
unsigned decoder_present</li>
</ul>
<br />
The struct is now defined as follows:<code> typedef struct H5Z_class_t { int version; <a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237" title="Filter identifiers.">H5Z_filter_t</a> filter_id; unsigned encoder_present unsigned decoder_present const char *comment; <a class="el" href="_h5_zdevelop_8h.html#af2d1e20aeb92b2712ebc2d9b5fcbf510" title="This callback determines if a filter can be applied to the dataset with the characteristics provided.">H5Z_can_apply_func_t</a> can_apply_func; <a class="el" href="_h5_zdevelop_8h.html#a32591ae9c5164edd548c9885f430b15e" title="The filter operation callback function, defining a filter&#39;s operation on data.">H5Z_set_local_func_t</a> set_local_func; <a class="el" href="_h5_zdevelop_8h.html#a130d8964a46667029c7d3c14572577c6" title="The filter operation callback function, defining a filter&#39;s operation on data.">H5Z_func_t</a> filter_func; <br />
} H5Z_class_t; </code></li>
</ul>
<p>Changed ENUMs The following enumerated datatypes used by the library are discontinued in this release: </p><ul>
<li><a class="el" href="_h5_epublic_8h.html#a8b643ee74952ccb3b401eb97407070a8">H5E_major_t</a> - Major error numbers </li>
<li><a class="el" href="_h5_epublic_8h.html#a6a5b9e5fcbb4cf4cdc5d347e34d4af0a">H5E_minor_t</a> - Minor error numbers</li>
</ul>
<p>HDF5 error codes have changed from the ENUM format used in earlier releases to an identifier format. As ENUMs, error codes were constants defined at compile time; as identifiers, error codes are defined at runtime, in the same manner as HDF5 object identifiers (file, dataset, group, etc.).</p>
<p>Under normal circumstances, this change should be transparent to user applications.</p>
<p>The following enumerated datatypes used by the library have changed in the C and Fortran APIs as follows:</p>
<p><b><a class="el" href="_h5_gpublic_8h.html#a4ee921b13233a7c297b81a49022a1dd6">H5G_obj_t</a> - Object types</b> This ENUM has reordered as follows: </p><ul>
<li><a class="el" href="_h5_gpublic_8h.html#a4ee921b13233a7c297b81a49022a1dd6a5797c5320135bb6d2d95e4ac65c3f165">H5G_GROUP</a> </li>
<li><a class="el" href="_h5_gpublic_8h.html#a4ee921b13233a7c297b81a49022a1dd6a76b698867a009f71f14db4e18a0a74e7">H5G_DATASET</a> </li>
<li><a class="el" href="_h5_gpublic_8h.html#a4ee921b13233a7c297b81a49022a1dd6a1e1ef9abeaee9ae9b93ee7ecd05243ef">H5G_TYPE</a> </li>
<li><a class="el" href="_h5_gpublic_8h.html#a4ee921b13233a7c297b81a49022a1dd6a0043526475bbfd89e75a77d2868c7a6c">H5G_LINK</a></li>
</ul>
<p><b><a class="el" href="_h5_ipublic_8h.html#a13afe14178faf81b89fa2167e7ab832b">H5I_type_t</a> - Identifier types</b> The following symbols have been added to this ENUM: </p><ul>
<li><a class="el" href="_h5_ipublic_8h.html#a13afe14178faf81b89fa2167e7ab832bac3bd281c14f862130b9dc14ceb8acbf0">H5I_UNINIT</a> </li>
<li><a class="el" href="_h5_ipublic_8h.html#a13afe14178faf81b89fa2167e7ab832ba52573dfc8d6289035fef0757036432d6">H5I_ERROR_CLASS</a> </li>
<li><a class="el" href="_h5_ipublic_8h.html#a13afe14178faf81b89fa2167e7ab832ba493c2a05e970214bd4d3aff95fe3f680">H5I_ERROR_MSG</a> </li>
<li><a class="el" href="_h5_ipublic_8h.html#a13afe14178faf81b89fa2167e7ab832babfabc2e9a32f38b595f387c5facc7c47">H5I_ERROR_STACK</a></li>
</ul>
<p>Another new symbol </p><ul>
<li><a class="el" href="_h5_ipublic_8h.html#a13afe14178faf81b89fa2167e7ab832ba1008af5d904aebbc78889a8d36bb8836">H5I_NTYPES</a> replaces the old symbol H5I_NGROUPS</li>
</ul>
<p>While visible in the public API, <a class="el" href="_h5_ipublic_8h.html#a13afe14178faf81b89fa2167e7ab832ba1008af5d904aebbc78889a8d36bb8836">H5I_NTYPES</a> functions as a limit value for the HDF5 Library and is not generally used at the application level. The same was true of H5I_NGROUPS.</p>
<p><b><a class="el" href="_h5_spublic_8h.html#ae53f3c6a52563646fbac9ead8ecdbf0a">H5S_class_t</a> - Dataspace type identifiers</b> The following symbol has been added: </p><ul>
<li><a class="el" href="_h5_spublic_8h.html#ae53f3c6a52563646fbac9ead8ecdbf0aa3d83ec70c1a824a2d821bf8464488bc5">H5S_NULL</a></li>
</ul>
<p><b><a class="el" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71a">H5T_cset_t</a> - Character set encoding identifiers</b> The following symbol has been added: </p><ul>
<li><a class="el" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71aa41685667f69bf81eb7de5dd5f452e658">H5T_CSET_UTF8</a></li>
</ul>
<p><b><a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237" title="Filter identifiers.">H5Z_filter_t</a> - Filters identifiers</b> The following symbols have been added: </p><ul>
<li><a class="el" href="_h5_zpublic_8h.html#a8cc463fa1979bd4bfa0dd9aa6a41e49d">H5Z_FILTER_NBIT</a> </li>
<li><a class="el" href="_h5_zpublic_8h.html#a745d2ccb4f7712ed78ef5e562e27d2ca">H5Z_FILTER_SCALEOFFSET</a></li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_0_dtypes"></a>
New Datatypes</h3>
<p>The following OpenVMS-specific floating point datatypes are new with this release: </p><ul>
<li><a class="el" href="group___p_d_t_a_l_p_h_a.html#ga2d22eea13df51cf9bf90797665506640">H5T_VAX_F32</a> </li>
<li><a class="el" href="group___p_d_t_a_l_p_h_a.html#gad931cf0fac5c7be921ddc00118c5ced4">H5T_VAX_F64</a></li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_0_props"></a>
New Property Lists</h3>
<p>The following property lists are new with this release: </p><ul>
<li><a class="el" href="_h5_ppublic_8h.html#afd849c0834c8ce6580b7c2537dbd9b5d">H5P_DATASET_ACCESS</a> </li>
<li><a class="el" href="_h5_ppublic_8h.html#a8330a95b257d45d6347a2daa96f261e9">H5P_GROUP_CREATE</a> </li>
<li><a class="el" href="_h5_ppublic_8h.html#aca0fe0d98945364fe1320bf3af056b9d">H5P_GROUP_ACCESS</a> </li>
<li><a class="el" href="_h5_ppublic_8h.html#a6d9318d499a66b4a934fe1839b29566e">H5P_DATATYPE_CREATE</a> </li>
<li><a class="el" href="_h5_ppublic_8h.html#aa67fdce00f24807a835955ac474febce">H5P_DATATYPE_ACCESS</a> </li>
<li><a class="el" href="_h5_ppublic_8h.html#aa0102211c679e031e2e9831b66c48a12">H5P_ATTRIBUTE_CREATE</a></li>
</ul>
<h3><a class="anchor" id="subsubsec_rel_spec_18_change_0_config"></a>
Changed Library Configuration</h3>
<p>The following configuration features have changed as follows.</p>
<p>New with this release: </p><ul>
<li><code>&ndash;disable-dependency-tracking</code> </li>
<li><code>&ndash;enable-hdf5v1_6</code> </li>
<li><code> &ndash;enable-dconv-exception</code> </li>
<li><code>&ndash;disable-dconv-exception</code> </li>
<li><code>&ndash;enable-dconv-accuracy</code> </li>
<li><code>&ndash;disable-dconv-accuracy</code> </li>
<li><code>&ndash;program-prefix=PREFIX</code> </li>
<li><code>&ndash;program-prefix=SUFFIX</code> </li>
<li><code>&ndash;program-transform-name=PROGRAM</code> </li>
<li><code>&ndash;enable-maintainer-mode</code> </li>
<li><code>&ndash;disable-dependency-tracking</code> </li>
<li><code>&ndash;enable-dependency-tracking</code> </li>
<li><code>&ndash;enable-codestack</code> </li>
<li><code>&ndash;enable-direct-vfd</code> </li>
<li><code>&ndash;with-tags[=TAGS]</code></li>
</ul>
<p>New with this release, but expected to be useful only to those working inside the HDF5 Library or working very closely with HDF5 developers: </p><ul>
<li><code>&ndash;enable-build-all</code> </li>
<li><code>&ndash;enable-metadata-trace-file</code></li>
</ul>
<p>New with this release, but not actively supported: </p><ul>
<li><code>&ndash;enable-fphdf5</code></li>
</ul>
<p>Changed in this release: </p><ul>
<li><code>&ndash;enable-shared[=PKGS]</code> </li>
<li><code>&ndash;enable-static[=PKGS]</code> </li>
<li><code>&ndash;enable-fast-install[=PKGS]</code></li>
</ul>
<p>Removed in this release: </p><ul>
<li><code>&ndash;enable-hdf5v1_4</code> </li>
<li><code>&ndash;enable-funcstack</code> </li>
<li><code>&ndash;with-ssl=LIB</code> </li>
<li><code>&ndash;with-gass=DIR</code> </li>
<li><code>&ndash;with-srb=DIR</code></li>
</ul>
<p>The environment variables, which are deprecated in this release. </p><ul>
<li>FC replaces F9X </li>
<li>FCFLAGS replaces F9XFLAGS</li>
</ul>
<p>Additional new "influential environment variables" in this release include the following: </p><ul>
<li>CXX </li>
<li>CXXFLAGS </li>
<li>CXXCPP </li>
<li>F77 </li>
<li>FFLAGS</li>
</ul>
<hr />
<p> Navigate back: <a class="el" href="index.html">Main</a> / <a class="el" href="release_specific_info.html">Release Specific Information</a> </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>