Purpose:
Update for Release 1.4.3.
Solution:
Added outline for Release 1.4.3 API changes.
Platforms tested:
IE 5
406 lines
14 KiB
HTML
Executable File
406 lines
14 KiB
HTML
Executable File
<html>
|
|
<head>
|
|
<title>HDF5 Software Changes</title>
|
|
</head>
|
|
|
|
<body bgcolor="#FFFFFF">
|
|
|
|
|
|
<hr>
|
|
<center>
|
|
<table border=0 width=98%>
|
|
<tr><td valign=top align=left>
|
|
<a href="../index.html">HDF5 documents and links</a> <br>
|
|
<a href="../H5.intro.html">Introduction to HDF5</a> <br>
|
|
<a href="../RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
|
<!--
|
|
<a href="../Glossary.html">Glossary</a><br>
|
|
-->
|
|
</td>
|
|
<td valign=top align=right>
|
|
<br>
|
|
<a href="../H5.user.html">HDF5 User's Guide</a> <br>
|
|
<a href="../ADGuide.html">HDF5 Application Developer's Guide</a>
|
|
</td></tr>
|
|
</table>
|
|
</center>
|
|
<hr>
|
|
|
|
|
|
<center>
|
|
<h1>HDF5 Software Changes from Release to Release</h1>
|
|
</center>
|
|
|
|
This document is intended to assist application developers who must keep
|
|
an application synchroniaed with the HDF5 library or related software.
|
|
|
|
<!-- Document API CHANGES ONLY in this file. -->
|
|
|
|
<h2>Release 1.4.3 (current release) versus Release 1.4.2</h2>
|
|
<dir>
|
|
<h3>C Library</h3>
|
|
|
|
<h3>Fortran90 Library</h3>
|
|
|
|
</dir>
|
|
|
|
<h2>Release 1.4.2 versus Release 1.4.1</h2>
|
|
<dir>
|
|
<h3>C Library</h3>
|
|
The HDF5 Release 1.4.2 C library is a "Bugfix Release";
|
|
there are no API changes in the underlying HDF5 library.
|
|
|
|
<h3>Fortran90 Library</h3>
|
|
The following functions in the HDF5 Release 1.4.2 Fortran90 library
|
|
have an additional parameter, <code>dims</code>, that was not present
|
|
in Release 1.4.1:
|
|
|
|
<dir>
|
|
<pre>
|
|
<font color=red>h5aread_f</font>(attr_id, memtype_id, buf, dims, hdferr)
|
|
<font color=red>h5awrite_f</font>(attr_id, memtype_id, buf, dims, hdferr)
|
|
<font color=red>h5dread_f</font>(dset_id, mem_type_id, buf, dims, hdferr, mem_space_id, &
|
|
file_space_id, xfer_prp)
|
|
<font color=red>h5dwrite_f</font>(dset_id, mem_type_id, buf, dims, hdferr, mem_space_id, &
|
|
file_space_id, xfer_prp)
|
|
</pre>
|
|
</dir>
|
|
|
|
The <code>dims</code> parameter enables library portability
|
|
between the UNIX and Microsoft Windows platforms.
|
|
|
|
</dir>
|
|
|
|
|
|
<h2>Release 1.4.1 versus Release 1.4.0</h2>
|
|
<dir>
|
|
Release 1.4.1 is a "Tools Release"; there are no API changes in the
|
|
underlying HDF5 library.
|
|
</dir>
|
|
|
|
|
|
<h2>Release 1.4.0 versus Release 1.2.2</h2>
|
|
|
|
<dir>
|
|
|
|
Several functions were added to or removed from the HDF5 library
|
|
in the development of Release 1.4.0.
|
|
A few functions have been modified in minor ways.
|
|
|
|
<h3>New Functions</h3>
|
|
The following functions are new for Release 1.4.0 and are included in the
|
|
<a href="../RM_H5Front.html"><cite>HDF5 Reference Manual</cite></a>.
|
|
|
|
<dir>
|
|
<pre>
|
|
herr_t <font color=red>H5Dvlen_get_buf_size</font> (hid_t dataset_id, hid_t type_id,
|
|
hid_t space_id, hsize_t *size);
|
|
herr_t <font color=red>H5Epush</font> (const char *file, const char *func,
|
|
unsigned line, H5E_major_t maj, H5E_minor_t min,
|
|
const char *str);
|
|
hid_t <font color=red>H5Pget_driver</font> (hid_t plist_id);
|
|
void *<font color=red>H5Pget_driver_info</font> (hid_t plist_id);
|
|
herr_t <font color=red>H5Pget_dxpl_mpio</font> (hid_t dxpl_id,
|
|
H5FD_mpio_xfer_t *xfer_mode/*out*/);
|
|
herr_t <font color=red>H5Pget_dxpl_multi</font> (hid_t dxpl_id,
|
|
hid_t *memb_dxpl/*out*/);
|
|
herr_t <font color=red>H5Pget_fapl_core</font> (hid_t fapl_id, size_t *increment/*out*/,
|
|
hbool_t *backing_store/*out*/)
|
|
herr_t <font color=red>H5Pget_fapl_family</font> (hid_t fapl_id,
|
|
hsize_t *memb_size/*out*/, hid_t *memb_fapl_id/*out*/);
|
|
herr_t <font color=red>H5Pget_fapl_mpio</font> (hid_t fapl_id, MPI_Comm *comm/*out*/,
|
|
MPI_Info *info/*out*/);
|
|
herr_t <font color=red>H5Pget_fapl_multi</font> (hid_t fapl_id,
|
|
H5FD_mem_t *memb_map/*out*/, hid_t *memb_fapl/*out*/,
|
|
char **memb_name/*out*/, haddr_t *memb_addr/*out*/,
|
|
hbool_t *relax/*out*/);
|
|
herr_t <font color=red>H5Pget_fapl_stream</font> (hid_t fapl_id,
|
|
H5FD_stream_fapl_t *fapl /*out*/ );
|
|
herr_t <font color=red>H5Pget_meta_block_size</font> (hid_t fapl_id,
|
|
hsize_t *size/*out*/);
|
|
herr_t <font color=red>H5Pget_sieve_buf_size</font> (hid_t fapl_id,
|
|
hsize_t *size/*out*/);
|
|
herr_t <font color=red>H5Pset_driver</font> (hid_t plist_id, hid_t driver_id,
|
|
const void *driver_info);
|
|
herr_t <font color=red>H5Pset_dxpl_mpio</font> (hid_t dxpl_id,
|
|
H5FD_mpio_xfer_t xfer_mode);
|
|
herr_t <font color=red>H5Pset_dxpl_multi</font> (hid_t dxpl_id,
|
|
const hid_t *memb_dxpl);
|
|
herr_t <font color=red>H5Pset_fapl_core</font> (hid_t fapl_id, size_t increment,
|
|
hbool_t backing_store)
|
|
herr_t <font color=red>H5Pset_fapl_family</font> (hid_t fapl_id, hsize_t memb_size,
|
|
hid_t memb_fapl_id);
|
|
herr_t <font color=red>H5Pset_fapl_log</font> (hid_t fapl_id, char *logfile,
|
|
int verbosity);
|
|
herr_t <font color=red>H5Pset_fapl_mpio</font> (hid_t fapl_id, MPI_Comm comm,
|
|
MPI_Info info);
|
|
herr_t <font color=red>H5Pset_fapl_multi</font> (hid_t fapl_id,
|
|
const H5FD_mem_t *memb_map, const hid_t *memb_fapl,
|
|
const char **memb_name, const haddr_t *memb_addr,
|
|
hbool_t relax);
|
|
herr_t <font color=red>H5Pset_fapl_sec2</font> (hid_t fapl_id);
|
|
herr_t <font color=red>H5Pset_fapl_split</font> (hid_t fapl, const char *meta_ext,
|
|
hid_t meta_plist_id, const char *raw_ext,
|
|
hid_t raw_plist_id);
|
|
herr_t <font color=red>H5Pset_fapl_stdio</font> (hid_t fapl_id);
|
|
herr_t <font color=red>H5Pset_fapl_stream</font> (hid_t fapl_id,
|
|
H5FD_stream_fapl_t *fapl);
|
|
herr_t <font color=red>H5Pset_meta_block_size</font>(hid_t fapl_id, hsize_t size);
|
|
herr_t <font color=red>H5Pset_sieve_buf_size</font>(hid_t fapl_id, hsize_t size);
|
|
hid_t <font color=red>H5Tarray_create</font> (hid_t base, int rank, const hsize_t dims[],
|
|
const int perm[])
|
|
int <font color=red>H5Tget_array_dims</font> (hid_t adtype_id, hsize_t *dims[], int *perm[])
|
|
int <font color=red>H5Tget_array_ndims</font> (hid_t adtype_id)
|
|
</pre>
|
|
</dir>
|
|
|
|
|
|
<p>
|
|
The following functions are new for Release 1.4.0, but
|
|
are intended only for use in specialized environments.
|
|
These are also included in the
|
|
<a href="../RM_H5Front.html"><cite>HDF5 Reference Manual</cite></a>.
|
|
|
|
<dir>
|
|
<pre>
|
|
herr_t <font color=red>H5Pget_fapl_dpss</font> (hid_t fapl_id);
|
|
herr_t <font color=red>H5Pget_fapl_gass</font> (hid_t fapl_id, GASS_Info *info/*out*/);
|
|
herr_t <font color=red>H5Pget_fapl_srb</font> (hid_t fapl_id, SRB_Info *info);
|
|
herr_t <font color=red>H5Pset_fapl_dpss</font> (hid_t fapl_id);
|
|
herr_t <font color=red>H5Pset_fapl_gass</font> (hid_t fapl_id, GASS_Info info);
|
|
herr_t <font color=red>H5Pset_fapl_srb</font> (hid_t fapl_id, SRB_Info info);
|
|
</pre>
|
|
</dir>
|
|
|
|
|
|
<p>
|
|
The following functions are new for Release 1.4.0 but are intended
|
|
only for driver development work, not for general use.
|
|
They are listed in the
|
|
<a href="../TechNotes/VFLfunc.html"><cite>List of VFL Functions</cite></a>
|
|
document in the
|
|
<a href="../TechNotes.html"><cite>HDF5 Technical Notes</cite></a>.
|
|
They are described in detail only in the source code and
|
|
do not appear in the <cite>HDF5 Reference Manual</cite>.
|
|
|
|
<dir>
|
|
<pre>
|
|
haddr_t <font color=red>H5FDalloc</font> (H5FD_t *file, H5FD_mem_t type,
|
|
hsize_t size);
|
|
herr_t <font color=red>H5FDclose</font> (H5FD_t *file);
|
|
int <font color=red>H5FDcmp</font> (const H5FD_t *f1, const H5FD_t *f2);
|
|
herr_t <font color=red>H5FDflush</font> (H5FD_t *file);
|
|
herr_t <font color=red>H5FDfree</font> (H5FD_t *file, H5FD_mem_t type,
|
|
haddr_t addr, hsize_t size);
|
|
haddr_t <font color=red>H5FDget_eoa</font> (H5FD_t *file);
|
|
haddr_t <font color=red>H5FDget_eof</font> (H5FD_t *file);
|
|
H5FD_t *<font color=red>H5FDopen</font> (const char *name, unsigned flags,
|
|
hid_t fapl_id, haddr_t maxaddr);
|
|
int <font color=red>H5FDquery</font> (const H5FD_t *f, unsigned long *flags);
|
|
herr_t <font color=red>H5FDread</font> (H5FD_t *file, hid_t dxpl_id, haddr_t addr,
|
|
hsize_t size, void *buf/*out*/);
|
|
haddr_t <font color=red>H5FDrealloc</font> (H5FD_t *file, H5FD_mem_t type,
|
|
haddr_t addr, hsize_t old_size, hsize_t new_size);
|
|
hid_t <font color=red>H5FDregister</font> (const H5FD_class_t *cls);
|
|
herr_t <font color=red>H5FDset_eoa</font> (H5FD_t *file, haddr_t eof);
|
|
herr_t <font color=red>H5FDunregister</font> (hid_t driver_id);
|
|
herr_t <font color=red>H5FDwrite</font> (H5FD_t *file, H5FD_mem_t type,
|
|
hid_t dxpl_id, haddr_t addr, hsize_t size,
|
|
const void *buf);
|
|
</pre>
|
|
</dir>
|
|
|
|
|
|
<h3>Deleted Functions</h3>
|
|
The following functions have been removed from the HDF5 library
|
|
and from the <cite>HDF5 Reference Manual</cite>.
|
|
<dir>
|
|
<table>
|
|
<tr valign=top align=left><td>
|
|
<pre>
|
|
H5Pget_core
|
|
H5Pget_driver
|
|
H5Pget_family
|
|
H5Pget_mpi
|
|
H5Pget_sec2
|
|
H5Pget_split
|
|
H5Pget_stdio
|
|
H5Pget_xfer
|
|
</pre>
|
|
</td><td>
|
|
|
|
</td><td>
|
|
<pre>
|
|
H5Pset_core
|
|
H5Pset_family
|
|
H5Pset_mpi
|
|
H5Pset_sec2
|
|
H5Pset_split
|
|
H5Pset_stdio
|
|
H5Pset_xfer
|
|
</pre>
|
|
</td><td>
|
|
|
|
</td><td>
|
|
<pre>
|
|
H5RAclose
|
|
H5RAcreate
|
|
H5RAopen
|
|
H5RAread
|
|
H5RAwrite
|
|
H5Tget_member_dims
|
|
H5Tinsert_array
|
|
</pre>
|
|
</td></tr>
|
|
</table>
|
|
</dir>
|
|
Note that the entire H5RA interface, an experimental interface for
|
|
ragged arrays, has been removed from the library.
|
|
|
|
|
|
<h3>Functions with Changed Syntax</h3>
|
|
The following functions have changed slightly.
|
|
<dir>
|
|
<dl>
|
|
<dt><code>H5Pget_buffer</code>
|
|
<dd>Return type has changed to <em>hsize_t</em>.
|
|
<dt><code>H5Pset_buffer</code>
|
|
<dd>The type of the <code>size</code> parameter has changed
|
|
to <em>hsize_t</em>.
|
|
<dt><code>H5Tconvert</code>
|
|
<dd>The type of the <code>nelmts</code> parameter has changed
|
|
to <em>hsize_t</em>.
|
|
</dl>
|
|
</dir>
|
|
|
|
<h3>Constants with Changed Values</h3>
|
|
The values of the constants <code>H5P_DEFAULT</code> and
|
|
<code>H5S_ALL</code> have been changed from <code>-2</code>
|
|
to <code>0</code>.
|
|
These default values had to be special-cased in situations where
|
|
they could be returned to distinguish them from error values.
|
|
|
|
</dir>
|
|
<p>
|
|
|
|
<h2>Migration from Release 1.2.2 to Release 1.4.<em>x</em></h2>
|
|
|
|
<dir>
|
|
<h3>H5Tinsert_array</h3>
|
|
The functionality of H5Tinsert_array has been replaced by H5Tcreate_array.
|
|
Here is an example of changing code from H5Tinsert_array to H5Tcreate_array.
|
|
<pre>
|
|
V1.2.2
|
|
{
|
|
struct tmp_struct {
|
|
int a;
|
|
float f[3];
|
|
double d[2][4];
|
|
};
|
|
size_t f_dims[1]={3};
|
|
size_t d_dims[2]={2,4};
|
|
hid_t compound_type;
|
|
|
|
compound_type=H5Tcreate(H5T_COMPOUND,sizeof(struct tmp_struct));
|
|
H5Tinsert(compound_type,"a",HOFFSET(struct tmp_struct,a),H5T_NATIVE_INT);
|
|
H5Tinsert_array(compound_type,"f",HOFFSET(struct tmp_struct,f),1,f_dims,NULL,H5T_NATIVE_FLOAT);
|
|
H5Tinsert_array(compound_type,"d",HOFFSET(struct tmp_struct,d),2,d_dims,NULL,H5T_NATIVE_DOUBLE);
|
|
}
|
|
|
|
V1.4.0
|
|
{
|
|
struct tmp_struct {
|
|
int a;
|
|
float f[3];
|
|
double d[2][4];
|
|
};
|
|
size_t f_dims[1]={3};
|
|
size_t d_dims[2]={2,4};
|
|
hid_t compound_type;
|
|
hid_t array_type;
|
|
|
|
compound_type=H5Tcreate(H5T_COMPOUND,sizeof(struct tmp_struct));
|
|
H5Tinsert(compound_type,"a",HOFFSET(struct tmp_struct,a),H5T_NATIVE_INT);
|
|
array_type=H5Tcreate_array(H5T_NATIVE_FLOAT,1,f_dims,NULL);
|
|
H5Tinsert(compound_type,"f",HOFFSET(struct tmp_struct,f),array_type);
|
|
H5Tclose(array_type);
|
|
array_type=H5Tcreate_array(H5T_NATIVE_DOUBLE,2,d_dims,NULL);
|
|
H5Tinsert(compound_type,"d",HOFFSET(struct tmp_struct,d),array_type);
|
|
H5Tclose(array_type);
|
|
}
|
|
|
|
</pre>
|
|
</dir>
|
|
|
|
|
|
<h2>This and Prior Releases: The RELEASE.txt and HISTORY.txt Files</h2>
|
|
|
|
<dir>
|
|
The HDF5 source code, as distributed to users and developers,
|
|
contains two files that will be of interest to readers of this
|
|
document. Both files are located at the top level of the
|
|
source code tree (i.e., in <code>.../hdf5/</code>) and are
|
|
duplicated here for your reference:
|
|
<p>
|
|
<dl>
|
|
<dt><a href="RELEASE.txt" target="ExtWin">RELEASE.txt</a>
|
|
<dd>Technical notes regarding the release, including
|
|
new features and the changes since the last release,
|
|
notes regarding new or revised utilities,
|
|
notes regarding alternative language APIs (Fortran90, C++),
|
|
bugs fixed since the last release,
|
|
platforms on which the release has been tested,
|
|
and
|
|
known problems.
|
|
This is the file commonly known among developers as
|
|
"the release notes."
|
|
<p>
|
|
<dt><a href="HISTORY.txt" target="ExtWin">HISTORY.txt</a>
|
|
<dd>A release-by-release history of the HDF5 library.
|
|
This file is a compiled set of the release notes
|
|
(i.e., the RELEASE files) from prior releases.
|
|
<dl>
|
|
</dir>
|
|
|
|
|
|
|
|
|
|
|
|
<hr>
|
|
<center>
|
|
<table border=0 width=98%>
|
|
<tr><td valign=top align=left>
|
|
<a href="../index.html">HDF5 documents and links</a> <br>
|
|
<a href="../H5.intro.html">Introduction to HDF5</a> <br>
|
|
<a href="../RM_H5Front.html">HDF5 Reference Manual</a> <br>
|
|
<!--
|
|
<a href="../Glossary.html">Glossary</a><br>
|
|
-->
|
|
</td>
|
|
<td valign=top align=right>
|
|
<br>
|
|
<a href="../H5.user.html">HDF5 User's Guide</a> <br>
|
|
<a href="../ADGuide.html">HDF5 Application Developer's Guide</a>
|
|
</td></tr>
|
|
</table>
|
|
</center>
|
|
|
|
|
|
|
|
<hr>
|
|
<address>
|
|
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
|
</address>
|
|
|
|
<!-- Created: Spring 1999 -->
|
|
<!-- hhmts start -->
|
|
Last modified: 25 January 2002
|
|
<!-- hhmts end -->
|
|
|
|
<br>
|
|
Describes HDF5 Release 1.4.2, July 2001
|
|
|
|
|
|
</body>
|
|
</html>
|