summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/html/RM_H5D.html807
-rw-r--r--doc/html/RM_H5E.html260
-rw-r--r--doc/html/RM_H5F.html413
-rw-r--r--doc/html/RM_H5Front.html39
-rw-r--r--doc/html/RM_H5S.html968
-rw-r--r--doc/html/RM_H5Z.html90
6 files changed, 1340 insertions, 1237 deletions
diff --git a/doc/html/RM_H5D.html b/doc/html/RM_H5D.html
index 773ba76..17505db 100644
--- a/doc/html/RM_H5D.html
+++ b/doc/html/RM_H5D.html
@@ -25,6 +25,7 @@ HDF5/H5D API Specification
<!-- #EndLibraryItem --></head>
<body bgcolor="#FFFFFF">
+<!-- HEADER RIGHT " " -->
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
@@ -60,8 +61,7 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><center>
+<hr><!-- #EndLibraryItem --><center>
<h1>H5D: Datasets Interface</h1>
</center>
@@ -116,50 +116,56 @@ and set and retrieve their constant or persistent properties.
<table border="0">
<tr>
<td valign="top">
+ <ul>
<li><a href="#Dataset-Close">H5Dclose</a>
<li><a href="#Dataset-Create">H5Dcreate</a>
<li><a href="#Dataset-Extend">H5Dextend</a>
<li><a href="#Dataset-Fill">H5Dfill</a>
<li><a href="#Dataset-GetCreatePlist">H5Dget_create_plist</a>
- <li><a href="#Dataset-GetOffset">H5Dget_offset</a>
+ <li><a href="#Dataset-GetOffset">H5Dget_offset</a>
+ </ul>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td valign="top">
+ <ul>
<li><a href="#Dataset-GetSpace">H5Dget_space</a>
<li><a href="#Dataset-GetSpaceStatus">H5Dget_space_status</a>
<li><a href="#Dataset-GetStorageSize">H5Dget_storage_size</a>
<li><a href="#Dataset-GetType">H5Dget_type</a>
<li><a href="#Dataset-Iterate">H5Diterate</a>
<li><a href="#Dataset-Open">H5Dopen</a>
+ </ul>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td valign="top">
+ <ul>
<li><a href="#Dataset-Read">H5Dread</a>
<li><a href="#Dataset-VLGetBuf">H5Dvlen_get_buf_size</a>
<li><a href="#Dataset-VLReclaim">H5Dvlen_reclaim</a>
<li><a href="#Dataset-Write">H5Dwrite</a>
+ </ul>
</td>
</tr>
</table>
-<p>
+<br>
<strong>The FORTRAN90 Interfaces:</strong>
<br>
<font size=-1>
<i>In general, each FORTRAN90 subroutine performs exactly the same task
-as the corresponding C function. The links below go to the C function
+as the corresponding C function. The links below (electronic versions only) go to the C function
descriptions, which serve as general descriptions for both. A button,
under <strong>Non-C API(s)</strong> at the end of the C function description,
opens an external browser window displaying the FORTRAN90-specific
information. You will probably want to adjust the size and location of
this external window so that both browser windows are visible and to
facilitate moving easily between them.</i>
-</font>
+</font><br>
<table border=0>
<tr><td valign=top>
@@ -191,7 +197,41 @@ facilitate moving easily between them.</i>
</td></tr>
</table>
+<!-- NEW PAGE -->
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dclose" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="Dataset-Close">H5Dclose</a>
+<dt><strong>Signature:</strong>
+ <dd><em>herr_t </em><code>H5Dclose</code>(<em>hid_t </em><code>dataset_id</code>
+ )
+<dt><strong>Purpose:</strong>
+ <dd>Closes the specified dataset.
+<dt><strong>Description:</strong>
+ <dd><code>H5Dclose</code> ends access to a dataset specified by
+ <code>dataset_id</code> and releases resources used by it.
+ Further use of the dataset identifier is illegal in calls to
+ the dataset API.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>hid_t</em> <code>dataset_id</code>
+ <dd>IN: Identifier of the dataset to close access to.
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd>Returns a non-negative value if successful;
+ otherwise returns a negative value.
+<dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dclose_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dcreate" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataset-Create">H5Dcreate</a>
@@ -245,7 +285,7 @@ facilitate moving easily between them.</i>
of specifying when fill values will be written to a dataset.
For further information on these topics, see the document
<a href="http://hdf.ncsa.uiuc.edu/RFC/Fill_Value/FillValue.html">
- <cite>Fill Value and Dataset Storage Allocation Issues in HDF5</a></cite>
+ <cite>Fill Value and Dataset Storage Allocation Issues in HDF5</cite></a>
and the descriptions of the following HDF5 functions in this
<cite>HDF5 Reference Manual</cite>:
<table width=80% border="0">
@@ -294,33 +334,47 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dextend" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataset-Open">H5Dopen</a>
+<dt><strong>Name:</strong> <a name="Dataset-Extend">H5Dextend</a>
<dt><strong>Signature:</strong>
- <dd><em>hid_t </em><code>H5Dopen</code>(<em>hid_t </em><code>loc_id</code>,
- <em>const char *</em><code>name</code>
+ <dd><em>herr_t </em><code>H5Dextend</code>(<em>hid_t </em><code>dataset_id</code>,
+ <em>const hsize_t *</em> <code>size</code>
)
<dt><strong>Purpose:</strong>
- <dd>Opens an existing dataset.
+ <dd>Extends a dataset with unlimited dimension.
<dt><strong>Description:</strong>
- <dd><code>H5Dopen</code> opens an existing dataset for access in the file
- or group specified in <code>loc_id</code>. <code>name</code> is
- a dataset name and is used to identify the dataset in the file.
+ <dd><code>H5Dextend</code> verifies that the dataset is at least of size
+ <code>size</code>.
+ The dimensionality of <code>size</code> is the same as that of
+ the dataspace of the dataset being changed.
+ This function cannot be applied to a dataset with fixed dimensions.
+ <p>
+ Space on disk is immediately allocated for the new dataset extent
+ if the dataset's space allocation time is set to
+ <code>H5D_ALLOC_TIME_EARLY</code>.
+ Fill values will be written to the dataset if the dataset's fill time
+ is set to <code>H5D_FILL_TIME_IFSET</code> or
+ <code>H5D_FILL_TIME_ALLOC</code>.
+ (Also see
+ <a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a>
+ and
+ <a href="RM_H5P.html#Property-SetAllocTime">H5Pset_alloc_time</a>.)
+
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>hid_t</em> <code>loc_id</code>
- <dd>IN: Identifier of the file or group
- within which the dataset to be accessed will be found.
- <dt><em>const char *</em> <code>name</code>
- <dd>IN: The name of the dataset to access.
+ <dt><em>hid_t</em> <code>dataset_id</code>
+ <dd>IN: Identifier of the dataset.
+ <dt><em>const hsize_t *</em> <code>size</code>
+ <dd>IN: Array containing the new magnitude of each dimension.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a dataset identifier if successful;
+ <dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dopen_f"
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dextend_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -328,30 +382,73 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dfill" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataset-GetSpace">H5Dget_space</a>
+<dt><strong>Name:</strong> <a name="Dataset-Fill">H5Dfill</a>
<dt><strong>Signature:</strong>
- <dd><em>hid_t </em><code>H5Dget_space</code>(<em>hid_t </em><code>dataset_id</code>
+ <dd><em>herr_t </em><code>H5Dfill</code>(
+ <em>const void *</em><code>fill</code>,
+ <em>hid_t </em><code>fill_type_id</code>,
+ <em>void *</em><code>buf</code>,
+ <em>hid_t </em><code>buf_type_id</code>,
+ <em>hid_t </em><code>space_id</code>
)
<dt><strong>Purpose:</strong>
- <dd>Returns an identifier for a copy of the dataspace for a dataset.
+ <dd>Fills dataspace elements with a fill value in a memory buffer.
<dt><strong>Description:</strong>
- <dd><code>H5Dget_space</code> returns an identifier for a copy of the
- dataspace for a dataset.
- The dataspace identifier should be released with the
- <code>H5Sclose</code> function.
+ <dd><code>H5Dfill</code> explicitly fills
+ the dataspace selection in memory, <code>space_id</code>,
+ with the fill value specified in <code>fill</code>.
+ If <code>fill</code> is <code>NULL</code>,
+ a fill value of <code>0</code> (zero) is used.
+ <p>
+ <code>fill_type_id</code> specifies the datatype
+ of the fill value.<br>
+ <code>buf</code> specifies the buffer in which
+ the dataspace elements will be written.<br>
+ <code>buf_type_id</code> specifies the datatype of
+ those data elements.
+ <p>
+ Note that if the fill value datatype differs
+ from the memory buffer datatype, the fill value
+ will be converted to the memory buffer datatype
+ before filling the selection.
+<dt><strong>Note:</strong>
+ <dd>Applications sometimes write data only to portions of
+ an allocated dataset. It is often useful in such cases
+ to fill the unused space with a known
+ <span class="termEmphasis">fill value</span>.
+ See <a href="RM_H5P.html#Property-SetFillValue">H5Pset_fill_value</a>
+ for further discussion.
+ Other related functions include
+ <a href="RM_H5P.html#Property-GetFillValue">H5Pget_fill_value</a>,
+ <a href="RM_H5P.html#Property-FillValueDefined">H5Pfill_value_defined</a>,
+ <a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a>,
+ <a href="RM_H5P.html#Property-GetFillTime">H5Pget_fill_time</a>,
+ and
+ <a href="#Dataset-Create">H5Dcreate</a>.
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>hid_t</em> <code>dataset_id</code>
- <dd>IN: Identifier of the dataset to query.
+ <dt><em>const void *</em><code>fill</code>
+ <dd>IN: Pointer to the fill value to be used.
+ <dt><em>hid_t </em><code>fill_type_id</code>
+ <dd>IN: Fill value datatype identifier.
+ <dt><em>void *</em><code>buf</code>
+ <dd>IN/OUT: Pointer to the memory buffer containing the
+ selection to be filled.
+ <dt><em>hid_t </em><code>buf_type_id</code>
+ <dd>IN: Datatype of dataspace elements to be filled.
+ <dt><em>hid_t </em><code>space_id</code>
+ <dd>IN: Dataspace describing memory buffer and
+ containing the selection to be filled.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a dataspace identifier if successful;
+ <dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dget_space_f"
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dfill_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -359,51 +456,32 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dget_create_plist" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataset-GetSpaceStatus">H5Dget_space_status</a>
+<dt><strong>Name:</strong> <a name="Dataset-GetCreatePlist">H5Dget_create_plist</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Dget_space_status</code>(<em>hid_t </em><code>dset_id</code>,
- <em>H5D_space_status_t *</em><code>status</code>)
+ <dd><em>hid_t </em><code>H5Dget_create_plist</code>(<em>hid_t </em><code>dataset_id</code>
+ )
<dt><strong>Purpose:</strong>
- <dd>Determines whether space has been allocated for a dataset.
+ <dd>Returns an identifier for a copy of the
+ dataset creation property list for a dataset.
<dt><strong>Description:</strong>
- <dd><code>H5Dget_space_status</code> determines whether space has been
- allocated for the dataset <code>dset_id</code>.
- <p>
- Space allocation status is returned in <code>status</code>,
- which will have one of the following values:
- <center>
- <table border="0">
- <tr valign="top"><td rowspan="3">&nbsp;&nbsp;&nbsp;&nbsp;</td><td>
- H5D_SPACE_STATUS_NOT_ALLOCATED
- </td><td>
- Space has not been allocated for this dataset.
- </td></tr><tr valign="top"><td>
- H5D_SPACE_STATUS_ALLOCATED
- </td><td>
- Space has been allocated for this dataset.
- </td></tr><tr valign="top"><td>
- H5D_SPACE_STATUS_PART_ALLOCATED&nbsp;&nbsp;
- </td><td>
- Space has been partially allocated for this dataset.
- (Used only for datasets with chunked storage.)
- </td></tr>
- </table>
- </center>
+ <dd><code>H5Dget_create_plist</code> returns an identifier for a
+ copy of the dataset creation property list for a dataset.
+ The creation property list identifier should be released with
+ the <code>H5Pclose</code> function.
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>hid_t</em> <code>dset_id</code>
+ <dt><em>hid_t</em> <code>dataset_id</code>
<dd>IN: Identifier of the dataset to query.
- <dt><em>H5D_space_status_t *</em><code>status</code>
- <dd>OUT: Space allocation status.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
+ <dd>Returns a dataset creation property list identifier if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dget_space_status_f"
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dget_create_plist_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -411,66 +489,63 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dget_offset" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataset-GetType">H5Dget_type</a>
+<dt><strong>Name:</strong> <a name="Dataset-GetOffset">H5Dget_offset</a>
<dt><strong>Signature:</strong>
- <dd><em>hid_t </em><code>H5Dget_type</code>(<em>hid_t </em><code>dataset_id</code>
- )
+ <dd><em>haddr_t </em><code>H5Dget_offset</code>(<em>hid_t </em><code>dset_id</code>)
<dt><strong>Purpose:</strong>
- <dd>Returns an identifier for a copy of the datatype for a dataset.
+ <dd>Returns dataset address in file.
<dt><strong>Description:</strong>
- <dd><code>H5Dget_type</code> returns an identifier for a copy of the
- datatype for a dataset.
- The datatype should be released with the <code>H5Tclose</code> function.
- <p>
- If a dataset has a named datatype, then an identifier to the
- opened datatype is returned.
- Otherwise, the returned datatype is read-only.
- If atomization of the datatype fails, then the datatype is closed.
+ <dd><code>H5Dget_offset</code> returns the address in the file
+ of the dataset <code>dset_id</code>.
+ That address is expressed as the offset in bytes from
+ the beginning of the file.
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>hid_t</em> <code>dataset_id</code>
- <dd>IN: Identifier of the dataset to query.
+ <dt><em>hid_t </em><code>dset_id</code>
+ <dd>Dataset identifier.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a datatype identifier if successful;
- otherwise returns a negative value.
+ <dd>Returns the offset in bytes;
+ otherwise returns <code>HADDR_UNDEF</code>, a negative value.
+<!--
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dget_type_f"
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dget_offset_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+--> <!--
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dget_space" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataset-GetCreatePlist">H5Dget_create_plist</a>
+<dt><strong>Name:</strong> <a name="Dataset-GetSpace">H5Dget_space</a>
<dt><strong>Signature:</strong>
- <dd><em>hid_t </em><code>H5Dget_create_plist</code>(<em>hid_t </em><code>dataset_id</code>
+ <dd><em>hid_t </em><code>H5Dget_space</code>(<em>hid_t </em><code>dataset_id</code>
)
<dt><strong>Purpose:</strong>
- <dd>Returns an identifier for a copy of the
- dataset creation property list for a dataset.
+ <dd>Returns an identifier for a copy of the dataspace for a dataset.
<dt><strong>Description:</strong>
- <dd><code>H5Dget_create_plist</code> returns an identifier for a
- copy of the dataset creation property list for a dataset.
- The creation property list identifier should be released with
- the <code>H5Pclose</code> function.
+ <dd><code>H5Dget_space</code> returns an identifier for a copy of the
+ dataspace for a dataset.
+ The dataspace identifier should be released with the
+ <code>H5Sclose</code> function.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>dataset_id</code>
<dd>IN: Identifier of the dataset to query.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a dataset creation property list identifier if successful;
+ <dd>Returns a dataspace identifier if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dget_create_plist_f"
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dget_space_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -478,38 +553,61 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dget_space_status" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataset-GetOffset">H5Dget_offset</a>
+<dt><strong>Name:</strong> <a name="Dataset-GetSpaceStatus">H5Dget_space_status</a>
<dt><strong>Signature:</strong>
- <dd><em>haddr_t </em><code>H5Dget_offset</code>(<em>hid_t </em><code>dset_id</code>)
+ <dd><em>herr_t</em> <code>H5Dget_space_status</code>(<em>hid_t </em><code>dset_id</code>,
+ <em>H5D_space_status_t *</em><code>status</code>)
<dt><strong>Purpose:</strong>
- <dd>Returns dataset address in file.
+ <dd>Determines whether space has been allocated for a dataset.
<dt><strong>Description:</strong>
- <dd><code>H5Dget_offset</code> returns the address in the file
- of the dataset <code>dset_id</code>.
- That address is expressed as the offset in bytes from
- the beginning of the file.
+ <dd><code>H5Dget_space_status</code> determines whether space has been
+ allocated for the dataset <code>dset_id</code>.
+ <p>
+ Space allocation status is returned in <code>status</code>,
+ which will have one of the following values:
+ <center>
+ <table border="0">
+ <tr valign="top"><td rowspan="3">&nbsp;&nbsp;&nbsp;&nbsp;</td><td>
+ H5D_SPACE_STATUS_NOT_ALLOCATED
+ </td><td>
+ Space has not been allocated for this dataset.
+ </td></tr><tr valign="top"><td>
+ H5D_SPACE_STATUS_ALLOCATED
+ </td><td>
+ Space has been allocated for this dataset.
+ </td></tr><tr valign="top"><td>
+ H5D_SPACE_STATUS_PART_ALLOCATED&nbsp;&nbsp;
+ </td><td>
+ Space has been partially allocated for this dataset.
+ (Used only for datasets with chunked storage.)
+ </td></tr>
+ </table>
+ </center>
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>hid_t </em><code>dset_id</code>
- <dd>Dataset identifier.
+ <dt><em>hid_t</em> <code>dset_id</code>
+ <dd>IN: Identifier of the dataset to query.
+ <dt><em>H5D_space_status_t *</em><code>status</code>
+ <dd>OUT: Space allocation status.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns the offset in bytes;
- otherwise returns <code>HADDR_UNDEF</code>, a negative value.
-<!--
+ <dd>Returns a non-negative value if successful;
+ otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dget_offset_f"
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dget_space_status_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
---> <!--
+ <!--
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dget_storage_size" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataset-GetStorageSize">H5Dget_storage_size</a>
@@ -542,102 +640,93 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dget_type" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataset-VLGetBuf">H5Dvlen_get_buf_size</a>
-<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Dvlen_get_buf_size</code>(<em>hid_t </em><code>dataset_id</code>,
- <em>hid_t</em> <code>type_id</code>,
- <em>hid_t</em> <code>space_id</code>,
- <em>hsize_t</em> *<code>size</code>
+<dt><strong>Name:</strong> <a name="Dataset-GetType">H5Dget_type</a>
+<dt><strong>Signature:</strong>
+ <dd><em>hid_t </em><code>H5Dget_type</code>(<em>hid_t </em><code>dataset_id</code>
)
<dt><strong>Purpose:</strong>
- <dd>Determines the number of bytes required to store VL data.
+ <dd>Returns an identifier for a copy of the datatype for a dataset.
<dt><strong>Description:</strong>
- <dd><code>H5Dvlen_get_buf_size</code> determines the number of bytes
- required to store the VL data from the dataset, using the
- <code>space_id</code> for the selection in the dataset on
- disk and the <code>type_id</code> for the memory representation
- of the VL data in memory.
+ <dd><code>H5Dget_type</code> returns an identifier for a copy of the
+ datatype for a dataset.
+ The datatype should be released with the <code>H5Tclose</code> function.
<p>
- <code>*size</code> is returned with the number of bytes
- required to store the VL data in memory.
+ If a dataset has a named datatype, then an identifier to the
+ opened datatype is returned.
+ Otherwise, the returned datatype is read-only.
+ If atomization of the datatype fails, then the datatype is closed.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>dataset_id</code>
<dd>IN: Identifier of the dataset to query.
- <dt><em>hid_t</em> <code>type_id</code>
- <dd>IN: Datatype identifier.
- <dt><em>hid_t</em> <code>space_id</code>
- <dd>IN: Dataspace identifier.
- <dt><em>hsize_t</em> *<code>size</code>
- <dd>OUT: The size in bytes of the memory buffer required to store the VL data.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns non-negative value if successful;
+ <dd>Returns a datatype identifier if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd>There is no direct FORTRAN couterpart for the C function
- <code>H5Dvlen_get_buf_size</code>;
- corresponding functionality is provided by the FORTRAN function
- <a href="fortran/h5d_FORTRAN.html#h5dvlen_get_max_len_f"
- target="FortranWin"><code>h5dvlen_get_max_len_f</code></a>.
- <br>
- <a href="fortran/h5d_FORTRAN.html#h5dvlen_get_max_len_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0 ></a>
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dget_type_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Diterate" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataset-VLReclaim">H5Dvlen_reclaim</a>
+<dt><strong>Name:</strong> <a name="Dataset-Iterate">H5Diterate</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Dvlen_reclaim</code>(<em>hid_t </em><code>type_id</code>,
- <em>hid_t</em> <code>space_id</code>,
- <em>hid_t</em> <code>plist_id</code>,
- <em>void</em> *<code>buf</code>
+ <dd><em>herr_t </em><code>H5Diterate</code>(
+ <em>void *</em><code>buf</code>,
+ <em>hid_t </em><code>type_id</code>,
+ <em>hid_t </em><code>space_id</code>,
+ <em>H5D_operator_t </em><code>operator</code>,
+ <em>void *</em><code>operator_data</code>
)
<dt><strong>Purpose:</strong>
- <dd>Reclaims VL datatype memory buffers.
+ <dd>Iterates over all selected elements in a dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Dvlen_reclaim</code> reclaims memory buffers created to
- store VL datatypes.
- <p>
- The <code>type_id</code> must be the datatype stored in the buffer.
- The <code>space_id</code> describes the selection for the memory buffer
- to free the VL datatypes within.
- The <code>plist_id</code> is the dataset transfer property list which
- was used for the I/O transfer to create the buffer.
- And <code>buf</code> is the pointer to the buffer to be reclaimed.
- <p>
- The VL structures (<code>hvl_t</code>) in the user's buffer are
- modified to zero out the VL information after the memory has been reclaimed.
+ <dd><code>H5Diterate</code> iterates over all the elements selected
+ in a memory buffer. The callback function is called once for each
+ element selected in the dataspace.
<p>
- If nested VL datatypes were used to create the buffer,
- this routine frees them <em>from the bottom up</em>, releasing all
- the memory without creating memory leaks.
+ The selection in the dataspace is modified so that any elements
+ already iterated over are removed from the selection if the
+ iteration is interrupted (by the <code>H5D_operator_t</code>
+ function returning non-zero) before the iteration is complete;
+ the iteration may then be re-started by the user where it left off.
+
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>hid_t</em> <code>type_id</code>
- <dd>IN: Identifier of the datatype.
- <dt><em>hid_t</em> <code>space_id</code>
- <dd>IN: Identifier of the dataspace.
- <dt><em>hid_t</em> <code>plist_id</code>
- <dd>IN: Identifier of the property list used to create the buffer.
- <dt><em>void</em> *<code>buf</code>
- <dd>IN: Pointer to the buffer to be reclaimed.
+ <dt><em>void *</em><code>buf</code>
+ <dd>IN/OUT: Pointer to the buffer in memory containing the
+ elements to iterate over.
+ <dt><em>hid_t </em><code>type_id</code>
+ <dd>IN: Datatype identifier for the elements stored in
+ <code>buf</code>.
+ <dt><em>hid_t </em><code>space_id</code>
+ <dd>IN: Dataspace identifier for <code>buf</code>.
+ Also contains the selection to iterate over.
+ <dt><em>H5D_operator_t </em><code>operator</code>
+ <dd>IN: Function pointer to the routine to be called
+ for each element in <code>buf</code> iterated over.
+ <dt><em>void *</em><code>operator_data</code>
+ <dd>IN/OUT: Pointer to any user-defined data associated
+ with the operation.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns non-negative value if successful;
- otherwise returns a negative value.
+ <dd>Returns the return value of the last operator if it was non-zero,
+ or zero if all elements have been processed.
+ Otherwise returns a negative value.
<!--
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dvlen_reclaim_f"
+ <dd><a href="fortran/h5d_FORTRAN.html#h5diterate_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
--> <!--
<img src="Graphics/Java.gif">
@@ -645,7 +734,43 @@ facilitate moving easily between them.</i>
-->
</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dopen" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="Dataset-Open">H5Dopen</a>
+<dt><strong>Signature:</strong>
+ <dd><em>hid_t </em><code>H5Dopen</code>(<em>hid_t </em><code>loc_id</code>,
+ <em>const char *</em><code>name</code>
+ )
+<dt><strong>Purpose:</strong>
+ <dd>Opens an existing dataset.
+<dt><strong>Description:</strong>
+ <dd><code>H5Dopen</code> opens an existing dataset for access in the file
+ or group specified in <code>loc_id</code>. <code>name</code> is
+ a dataset name and is used to identify the dataset in the file.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>hid_t</em> <code>loc_id</code>
+ <dd>IN: Identifier of the file or group
+ within which the dataset to be accessed will be found.
+ <dt><em>const char *</em> <code>name</code>
+ <dd>IN: The name of the dataset to access.
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd>Returns a dataset identifier if successful;
+ otherwise returns a negative value.
+<dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dopen_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dread" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataset-Read">H5Dread</a>
@@ -814,8 +939,113 @@ facilitate moving easily between them.</i>
-->
</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dvlen_get_buf_size" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="Dataset-VLGetBuf">H5Dvlen_get_buf_size</a>
+<dt><strong>Signature:</strong>
+ <dd><em>herr_t </em><code>H5Dvlen_get_buf_size</code>(<em>hid_t </em><code>dataset_id</code>,
+ <em>hid_t</em> <code>type_id</code>,
+ <em>hid_t</em> <code>space_id</code>,
+ <em>hsize_t</em> *<code>size</code>
+ )
+<dt><strong>Purpose:</strong>
+ <dd>Determines the number of bytes required to store VL data.
+<dt><strong>Description:</strong>
+ <dd><code>H5Dvlen_get_buf_size</code> determines the number of bytes
+ required to store the VL data from the dataset, using the
+ <code>space_id</code> for the selection in the dataset on
+ disk and the <code>type_id</code> for the memory representation
+ of the VL data in memory.
+ <p>
+ <code>*size</code> is returned with the number of bytes
+ required to store the VL data in memory.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>hid_t</em> <code>dataset_id</code>
+ <dd>IN: Identifier of the dataset to query.
+ <dt><em>hid_t</em> <code>type_id</code>
+ <dd>IN: Datatype identifier.
+ <dt><em>hid_t</em> <code>space_id</code>
+ <dd>IN: Dataspace identifier.
+ <dt><em>hsize_t</em> *<code>size</code>
+ <dd>OUT: The size in bytes of the memory buffer required to store the VL data.
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd>Returns non-negative value if successful;
+ otherwise returns a negative value.
+<dt><strong>Non-C API(s):</strong>
+ <dd>There is no direct FORTRAN couterpart for the C function
+ <code>H5Dvlen_get_buf_size</code>;
+ corresponding functionality is provided by the FORTRAN function
+ <a href="fortran/h5d_FORTRAN.html#h5dvlen_get_max_len_f"
+ target="FortranWin"><code>h5dvlen_get_max_len_f</code></a>.
+ <br>
+ <a href="fortran/h5d_FORTRAN.html#h5dvlen_get_max_len_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0 ></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dvlen_reclaim" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="Dataset-VLReclaim">H5Dvlen_reclaim</a>
+<dt><strong>Signature:</strong>
+ <dd><em>herr_t </em><code>H5Dvlen_reclaim</code>(<em>hid_t </em><code>type_id</code>,
+ <em>hid_t</em> <code>space_id</code>,
+ <em>hid_t</em> <code>plist_id</code>,
+ <em>void</em> *<code>buf</code>
+ )
+<dt><strong>Purpose:</strong>
+ <dd>Reclaims VL datatype memory buffers.
+<dt><strong>Description:</strong>
+ <dd><code>H5Dvlen_reclaim</code> reclaims memory buffers created to
+ store VL datatypes.
+ <p>
+ The <code>type_id</code> must be the datatype stored in the buffer.
+ The <code>space_id</code> describes the selection for the memory buffer
+ to free the VL datatypes within.
+ The <code>plist_id</code> is the dataset transfer property list which
+ was used for the I/O transfer to create the buffer.
+ And <code>buf</code> is the pointer to the buffer to be reclaimed.
+ <p>
+ The VL structures (<code>hvl_t</code>) in the user's buffer are
+ modified to zero out the VL information after the memory has been reclaimed.
+ <p>
+ If nested VL datatypes were used to create the buffer,
+ this routine frees them <em>from the bottom up</em>, releasing all
+ the memory without creating memory leaks.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>hid_t</em> <code>type_id</code>
+ <dd>IN: Identifier of the datatype.
+ <dt><em>hid_t</em> <code>space_id</code>
+ <dd>IN: Identifier of the dataspace.
+ <dt><em>hid_t</em> <code>plist_id</code>
+ <dd>IN: Identifier of the property list used to create the buffer.
+ <dt><em>void</em> *<code>buf</code>
+ <dd>IN: Pointer to the buffer to be reclaimed.
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd>Returns non-negative value if successful;
+ otherwise returns a negative value.
+<!--
+<dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5d_FORTRAN.html#h5dvlen_reclaim_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+--> <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Dwrite" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataset-Write">H5Dwrite</a>
@@ -967,6 +1197,12 @@ facilitate moving easily between them.</i>
<a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a>
and
<a href="RM_H5P.html#Property-SetAllocTime">H5Pset_alloc_time</a>.)
+ <p>
+ If a dataset's storage layout is 'compact', care must be taken when
+ writing data to the dataset in parallel. A compact dataset's raw data
+ is cached in memory and may be flushed to the file from any of the
+ parallel processes, so parallel applications should always attempt to
+ write identical data to the dataset from all processes.
<dt><strong>Parameters:</strong>
<dl>
@@ -996,214 +1232,6 @@ facilitate moving easily between them.</i>
-->
</dl>
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataset-Extend">H5Dextend</a>
-<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Dextend</code>(<em>hid_t </em><code>dataset_id</code>,
- <em>const hsize_t *</em> <code>size</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Extends a dataset with unlimited dimension.
-<dt><strong>Description:</strong>
- <dd><code>H5Dextend</code> verifies that the dataset is at least of size
- <code>size</code>.
- The dimensionality of <code>size</code> is the same as that of
- the dataspace of the dataset being changed.
- This function cannot be applied to a dataset with fixed dimensions.
- <p>
- Space on disk is immediately allocated for the new dataset extent
- if the dataset's space allocation time is set to
- <code>H5D_ALLOC_TIME_EARLY</code>.
- Fill values will be written to the dataset if the dataset's fill time
- is set to <code>H5D_FILL_TIME_IFSET</code> or
- <code>H5D_FILL_TIME_ALLOC</code>.
- (Also see
- <a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a>
- and
- <a href="RM_H5P.html#Property-SetAllocTime">H5Pset_alloc_time</a>.)
-
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>hid_t</em> <code>dataset_id</code>
- <dd>IN: Identifier of the dataset.
- <dt><em>const hsize_t *</em> <code>size</code>
- <dd>IN: Array containing the new magnitude of each dimension.
- </dl>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dextend_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataset-Close">H5Dclose</a>
-<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Dclose</code>(<em>hid_t </em><code>dataset_id</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Closes the specified dataset.
-<dt><strong>Description:</strong>
- <dd><code>H5Dclose</code> ends access to a dataset specified by
- <code>dataset_id</code> and releases resources used by it.
- Further use of the dataset identifier is illegal in calls to
- the dataset API.
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>hid_t</em> <code>dataset_id</code>
- <dd>IN: Identifier of the dataset to close access to.
- </dl>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dclose_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataset-Iterate">H5Diterate</a>
-<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Diterate</code>(
- <em>void *</em><code>buf</code>,
- <em>hid_t </em><code>type_id</code>,
- <em>hid_t </em><code>space_id</code>,
- <em>H5D_operator_t </em><code>operator</code>,
- <em>void *</em><code>operator_data</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Iterates over all selected elements in a dataspace.
-<dt><strong>Description:</strong>
- <dd><code>H5Diterate</code> iterates over all the elements selected
- in a memory buffer. The callback function is called once for each
- element selected in the dataspace.
- <p>
- The selection in the dataspace is modified so that any elements
- already iterated over are removed from the selection if the
- iteration is interrupted (by the <code>H5D_operator_t</code>
- function returning non-zero) before the iteration is complete;
- the iteration may then be re-started by the user where it left off.
-
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>void *</em><code>buf</code>
- <dd>IN/OUT: Pointer to the buffer in memory containing the
- elements to iterate over.
- <dt><em>hid_t </em><code>type_id</code>
- <dd>IN: Datatype identifier for the elements stored in
- <code>buf</code>.
- <dt><em>hid_t </em><code>space_id</code>
- <dd>IN: Dataspace identifier for <code>buf</code>.
- Also contains the selection to iterate over.
- <dt><em>H5D_operator_t </em><code>operator</code>
- <dd>IN: Function pointer to the routine to be called
- for each element in <code>buf</code> iterated over.
- <dt><em>void *</em><code>operator_data</code>
- <dd>IN/OUT: Pointer to any user-defined data associated
- with the operation.
- </dl>
-<dt><strong>Returns:</strong>
- <dd>Returns the return value of the last operator if it was non-zero,
- or zero if all elements have been processed.
- Otherwise returns a negative value.
-<!--
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5diterate_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
---> <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataset-Fill">H5Dfill</a>
-<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Dfill</code>(
- <em>const void *</em><code>fill</code>,
- <em>hid_t </em><code>fill_type_id</code>,
- <em>void *</em><code>buf</code>,
- <em>hid_t </em><code>buf_type_id</code>,
- <em>hid_t </em><code>space_id</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Fills dataspace elements with a fill value in a memory buffer.
-<dt><strong>Description:</strong>
- <dd><code>H5Dfill</code> explicitly fills
- the dataspace selection in memory, <code>space_id</code>,
- with the fill value specified in <code>fill</code>.
- If <code>fill</code> is <code>NULL</code>,
- a fill value of <code>0</code> (zero) is used.
- <p>
- <code>fill_type_id</code> specifies the datatype
- of the fill value.<br>
- <code>buf</code> specifies the buffer in which
- the dataspace elements will be written.<br>
- <code>buf_type_id</code> specifies the datatype of
- those data elements.
- <p>
- Note that if the fill value datatype differs
- from the memory buffer datatype, the fill value
- will be converted to the memory buffer datatype
- before filling the selection.
-<dt><strong>Note:</strong>
- <dd>Applications sometimes write data only to portions of
- an allocated dataset. It is often useful in such cases
- to fill the unused space with a known
- <span class="termEmphasis">fill value</span>.
- See <a href="RM_H5P.html#Property-SetFillValue">H5Pset_fill_value</a>
- for further discussion.
- Other related functions include
- <a href="RM_H5P.html#Property-GetFillValue">H5Pget_fill_value</a>,
- <a href="RM_H5P.html#Property-FillValueDefined">H5Pfill_value_defined</a>,
- <a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a>,
- <a href="RM_H5P.html#Property-GetFillTime">H5Pget_fill_time</a>,
- and
- <a href="#Dataset-Create">H5Dcreate</a>.
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>const void *</em><code>fill</code>
- <dd>IN: Pointer to the fill value to be used.
- <dt><em>hid_t </em><code>fill_type_id</code>
- <dd>IN: Fill value datatype identifier.
- <dt><em>void *</em><code>buf</code>
- <dd>IN/OUT: Pointer to the memory buffer containing the
- selection to be filled.
- <dt><em>hid_t </em><code>buf_type_id</code>
- <dd>IN: Datatype of dataspace elements to be filled.
- <dt><em>hid_t </em><code>space_id</code>
- <dd>IN: Dataspace describing memory buffer and
- containing the selection to be filled.
- </dl>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5d_FORTRAN.html#h5dfill_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
<center>
<table border=0 width=98%>
@@ -1237,14 +1265,15 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
+<hr><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
<br>
Describes HDF5 Release 1.6.0, July 2003
-</address><!-- #EndLibraryItem -->
-
-Last modified: 25 June 2003
+</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
+<!--
+document.writeln("Last modified: 3 October 2003");
+-->
+</SCRIPT>
</body>
</html>
diff --git a/doc/html/RM_H5E.html b/doc/html/RM_H5E.html
index f102ba4..e5fa126 100644
--- a/doc/html/RM_H5E.html
+++ b/doc/html/RM_H5E.html
@@ -25,6 +25,7 @@ HDF5/H5E API Specification
<!-- #EndLibraryItem --></head>
<body bgcolor="#FFFFFF">
+<!-- HEADER RIGHT " " -->
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
@@ -60,8 +61,7 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><center>
+<hr><!-- #EndLibraryItem --><center>
<h1>H5E: Error Interface</h1>
</center>
@@ -100,43 +100,49 @@ These functions provide error handling capabilities in the HDF5 environment.
<table border="0">
<tr>
<td valign="top">
+ <ul>
<li><a href="#Error-Clear">H5Eclear</a>
<li><a href="#Error-GetAuto">H5Eget_auto</a>
- <li><a href="#Error-GetMajor">H5Eget_major</a>
+ <li><a href="#Error-GetMajor">H5Eget_major</a>
+ </ul>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td valign="top">
+ <ul>
<li><a href="#Error-GetMinor">H5Eget_minor</a>
<li><a href="#Error-Print">H5Eprint</a>
<li><a href="#Error-Push">H5Epush</a>
+ </ul>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td valign="top">
+ <ul>
<li><a href="#Error-SetAuto">H5Eset_auto</a>
<li><a href="#Error-Walk">H5Ewalk</a>
<li><a href="#Error-WalkCB">H5Ewalk_cb</a>
+ </ul>
</td>
</tr>
</table>
-<p>
+<br>
<strong>The FORTRAN90 Interfaces:</strong>
<br>
<font size=-1>
<i>In general, each FORTRAN90 subroutine performs exactly the same task
-as the corresponding C function. The links below go to the C function
+as the corresponding C function. The links below (electronic versions only) go to the C function
descriptions, which serve as general descriptions for both. A button,
under <strong>Non-C API(s)</strong> at the end of the C function description,
opens an external browser window displaying the FORTRAN90-specific
information. You will probably want to adjust the size and location of
this external window so that both browser windows are visible and to
facilitate moving easily between them.</i>
-</font>
+</font><br>
<table border=0>
<tr><td valign=top>
@@ -185,42 +191,33 @@ package maintains a single error stack. The error stack is
statically allocated to reduce the complexity of handling
errors within the H5E package.
-
+<!-- NEW PAGE -->
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Eclear" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Error-SetAuto">H5Eset_auto</a>
+<dt><strong>Name:</strong> <a name="Error-Clear">H5Eclear</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Eset_auto</code>(<em>H5E_auto_t</em> <code>func</code>,
- <em>void *</em><code>client_data</code>
- )
+ <dd><em>herr_t</em> <code>H5Eclear</code>(<code>void</code>)
<dt><strong>Purpose:</strong>
- <dd>Turns automatic error printing on or off.
+ <dd>Clears the error stack for the current thread.
<dt><strong>Description:</strong>
- <dd><code>H5Eset_auto</code> turns on or off automatic printing of
- errors. When turned on (non-null <code>func</code> pointer),
- any API function which returns an error indication will
- first call <code>func</code>, passing it <code>client_data</code>
- as an argument.
+ <dd><code>H5Eclear</code> clears the error stack for the current thread.
<p>
- When the library is first initialized the auto printing function
- is set to <code>H5Eprint</code> (cast appropriately) and
- <code>client_data</code> is the standard error stream pointer,
- <code>stderr</code>.
+ The stack is also cleared whenever an API function is called,
+ with certain exceptions (for instance, <code>H5Eprint</code>).
<p>
- Automatic stack traversal is always in the
- <code>H5E_WALK_DOWNWARD</code> direction.
+ <code>H5Eclear</code> can fail if there are problems initializing
+ the library.
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>H5E_auto_t</em> <code>func</code>
- <dd>IN: Function to be called upon an error condition.
- <dt><em>void *</em><code>client_data</code>
- <dd>IN: Data passed to the error function.
+ <dt>None
</dl>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5e_FORTRAN.html#h5eset_auto_f"
+ <dd><a href="fortran/h5e_FORTRAN.html#h5eclear_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -228,7 +225,8 @@ errors within the H5E package.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Eget_auto" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Error-GetAuto">H5Eget_auto</a>
@@ -266,31 +264,95 @@ errors within the H5E package.
-->
</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Eget_major" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="Error-GetMajor">H5Eget_major</a>
+<dt><strong>Signature:</strong>
+ <dd><em>const char *</em> <code>H5Eget_major</code>(<em>H5E_major_t</em> <code>n</code>)
+<dt><strong>Purpose:</strong>
+ <dd>Returns a character string describing an error specified by a
+ major error number.
+<dt><strong>Description:</strong>
+ <dd>Given a major error number, <code>H5Eget_major</code> returns a
+ constant character string that describes the error.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>H5E_major_t</em> <code>n</code>
+ <dd>IN: Major error number.
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd> Returns a character string describing the error if successful.
+ Otherwise returns "Invalid major error number."
+<dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5e_FORTRAN.html#h5eget_major_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Eget_minor" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="Error-GetMinor">H5Eget_minor</a>
+<dt><strong>Signature:</strong>
+ <dd><em>const char *</em> <code>H5Eget_minor</code>(<em>H5E_minor_t</em> <code>n</code>)
+<dt><strong>Purpose:</strong>
+ <dd>Returns a character string describing an error specified by a
+ minor error number.
+<dt><strong>Description:</strong>
+ <dd>Given a minor error number, <code>H5Eget_minor</code> returns a
+ constant character string that describes the error.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>H5E_minor_t</em> <code>n</code>
+ <dd>IN: Minor error number.
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd> Returns a character string describing the error if successful.
+ Otherwise returns "Invalid minor error number."
+<dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5e_FORTRAN.html#h5eget_minor_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Eprint" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Error-Clear">H5Eclear</a>
+<dt><strong>Name:</strong> <a name="Error-Print">H5Eprint</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Eclear</code>(<code>void</code>)
+ <dd><em>herr_t</em> <code>H5Eprint</code>(<em>FILE *</em> <code>stream</code>)
<dt><strong>Purpose:</strong>
- <dd>Clears the error stack for the current thread.
+ <dd>Prints the error stack in a default manner.
<dt><strong>Description:</strong>
- <dd><code>H5Eclear</code> clears the error stack for the current thread.
- <p>
- The stack is also cleared whenever an API function is called,
- with certain exceptions (for instance, <code>H5Eprint</code>).
+ <dd><code>H5Eprint</code> prints the error stack on the specified
+ stream, <code>stream</code>.
+ Even if the error stack is empty, a one-line message will be printed:
+ <br>&nbsp;&nbsp;&nbsp;&nbsp;
+ <code>HDF5-DIAG: Error detected in thread 0.</code>
<p>
- <code>H5Eclear</code> can fail if there are problems initializing
- the library.
+ <code>H5Eprint</code> is a convenience function for
+ <code>H5Ewalk</code> with a function that prints error messages.
+ Users are encouraged to write their own more specific error handlers.
<dt><strong>Parameters:</strong>
<dl>
- <dt>None
+ <dt><em>FILE *</em> <code>stream</code>
+ <dd>IN: File pointer, or stderr if NULL.
</dl>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5e_FORTRAN.html#h5eclear_f"
+ <dd><a href="fortran/h5e_FORTRAN.html#h5eprint_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -298,7 +360,8 @@ errors within the H5E package.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Epush" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Error-Push">H5Epush</a>
@@ -355,34 +418,43 @@ errors within the H5E package.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Eset_auto" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Error-Print">H5Eprint</a>
+<dt><strong>Name:</strong> <a name="Error-SetAuto">H5Eset_auto</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Eprint</code>(<em>FILE *</em> <code>stream</code>)
+ <dd><em>herr_t</em> <code>H5Eset_auto</code>(<em>H5E_auto_t</em> <code>func</code>,
+ <em>void *</em><code>client_data</code>
+ )
<dt><strong>Purpose:</strong>
- <dd>Prints the error stack in a default manner.
+ <dd>Turns automatic error printing on or off.
<dt><strong>Description:</strong>
- <dd><code>H5Eprint</code> prints the error stack on the specified
- stream, <code>stream</code>.
- Even if the error stack is empty, a one-line message will be printed:
- <br>&nbsp;&nbsp;&nbsp;&nbsp;
- <code>HDF5-DIAG: Error detected in thread 0.</code>
+ <dd><code>H5Eset_auto</code> turns on or off automatic printing of
+ errors. When turned on (non-null <code>func</code> pointer),
+ any API function which returns an error indication will
+ first call <code>func</code>, passing it <code>client_data</code>
+ as an argument.
<p>
- <code>H5Eprint</code> is a convenience function for
- <code>H5Ewalk</code> with a function that prints error messages.
- Users are encouraged to write their own more specific error handlers.
+ When the library is first initialized the auto printing function
+ is set to <code>H5Eprint</code> (cast appropriately) and
+ <code>client_data</code> is the standard error stream pointer,
+ <code>stderr</code>.
+ <p>
+ Automatic stack traversal is always in the
+ <code>H5E_WALK_DOWNWARD</code> direction.
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>FILE *</em> <code>stream</code>
- <dd>IN: File pointer, or stderr if NULL.
+ <dt><em>H5E_auto_t</em> <code>func</code>
+ <dd>IN: Function to be called upon an error condition.
+ <dt><em>void *</em><code>client_data</code>
+ <dd>IN: Data passed to the error function.
</dl>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5e_FORTRAN.html#h5eprint_f"
+ <dd><a href="fortran/h5e_FORTRAN.html#h5eset_auto_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -390,7 +462,8 @@ errors within the H5E package.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Ewalk" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Error-Walk">H5Ewalk</a>
@@ -469,7 +542,8 @@ errors within the H5E package.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Ewalk_cb" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Error-WalkCB">H5Ewalk_cb</a>
@@ -526,65 +600,6 @@ errors within the H5E package.
-->
</dl>
-
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Error-GetMajor">H5Eget_major</a>
-<dt><strong>Signature:</strong>
- <dd><em>const char *</em> <code>H5Eget_major</code>(<em>H5E_major_t</em> <code>n</code>)
-<dt><strong>Purpose:</strong>
- <dd>Returns a character string describing an error specified by a
- major error number.
-<dt><strong>Description:</strong>
- <dd>Given a major error number, <code>H5Eget_major</code> returns a
- constant character string that describes the error.
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>H5E_major_t</em> <code>n</code>
- <dd>IN: Major error number.
- </dl>
-<dt><strong>Returns:</strong>
- <dd> Returns a character string describing the error if successful.
- Otherwise returns "Invalid major error number."
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5e_FORTRAN.html#h5eget_major_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Error-GetMinor">H5Eget_minor</a>
-<dt><strong>Signature:</strong>
- <dd><em>const char *</em> <code>H5Eget_minor</code>(<em>H5E_minor_t</em> <code>n</code>)
-<dt><strong>Purpose:</strong>
- <dd>Returns a character string describing an error specified by a
- minor error number.
-<dt><strong>Description:</strong>
- <dd>Given a minor error number, <code>H5Eget_minor</code> returns a
- constant character string that describes the error.
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>H5E_minor_t</em> <code>n</code>
- <dd>IN: Minor error number.
- </dl>
-<dt><strong>Returns:</strong>
- <dd> Returns a character string describing the error if successful.
- Otherwise returns "Invalid minor error number."
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5e_FORTRAN.html#h5eget_minor_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
<center>
<table border=0 width=98%>
@@ -618,14 +633,15 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
+<hr><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
<br>
Describes HDF5 Release 1.6.0, July 2003
-</address><!-- #EndLibraryItem -->
-
-Last modified: 6 June 2003
+</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
+<!--
+document.writeln("Last modified: 3 October 2003");
+-->
+</SCRIPT>
</body>
</html>
diff --git a/doc/html/RM_H5F.html b/doc/html/RM_H5F.html
index a3fdcbb..c14c064 100644
--- a/doc/html/RM_H5F.html
+++ b/doc/html/RM_H5F.html
@@ -25,6 +25,7 @@ HDF5/H5F API Specification
<!-- #EndLibraryItem --></head>
<body bgcolor="#FFFFFF">
+<!-- HEADER RIGHT " " -->
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
@@ -60,8 +61,7 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><center>
+<hr><!-- #EndLibraryItem --><center>
<h1>H5F: File Interface</h1>
</center>
@@ -106,49 +106,53 @@ documented below.
<table border="0">
<tr>
<td valign="top">
+ <ul>
<li><a href="#File-Close">H5Fclose</a>
<li><a href="#File-Create">H5Fcreate</a>
<li><a href="#File-Flush">H5Fflush</a>
<li><a href="#File-GetAccessPlist">H5Fget_access_plist</a>
<li><a href="#File-GetCreatePlist">H5Fget_create_plist</a>
-
-
+ </ul>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td valign="top">
+ <ul>
<li><a href="#File-GetObjCount">H5Fget_obj_count</a>
<li><a href="#File-GetObjIDs">H5Fget_obj_ids</a>
<li><a href="#File-GetVfdHandle">H5Fget_vfd_handle</a>
<li><a href="#File-IsHDF5">H5Fis_hdf5</a>
<li><a href="#File-Mount">H5Fmount</a>
+ </ul>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td valign="top">
+ <ul>
<li><a href="#File-Open">H5Fopen</a>
<li><a href="#File-Reopen">H5Freopen</a>
<li><a href="#File-Unmount">H5Funmount</a>
+ </ul>
</td>
</tr>
</table>
-<p>
+<br>
<strong>The FORTRAN90 Interfaces:</strong>
<br>
<font size=-1>
<i>In general, each FORTRAN90 subroutine performs exactly the same task
-as the corresponding C function. The links below go to the C function
+as the corresponding C function. The links below (electronic versions only) go to the C function
descriptions, which serve as general descriptions for both. A button,
under <strong>Non-C API(s)</strong> at the end of the C function description,
opens an external browser window displaying the FORTRAN90-specific
information. You will probably want to adjust the size and location of
this external window so that both browser windows are visible and to
facilitate moving easily between them.</i>
-</font>
+</font><br>
<table border=0>
<tr><td valign=top>
@@ -176,98 +180,65 @@ facilitate moving easily between them.</i>
</td></tr>
</table>
-
+<!-- NEW PAGE -->
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fclose" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="File-Open">H5Fopen</a>
+<dt><strong>Name:</strong> <a name="File-Close">H5Fclose</a>
<dt><strong>Signature:</strong>
- <dd><em>hid_t </em><code>H5Fopen</code>(<em>const char *</em><code>name</code>,
- <em>unsigned</em> <code>flags</code>,
- <em>hid_t</em> <code>access_id</code>
+ <dd><em>herr_t </em><code>H5Fclose</code>(<em>hid_t</em> <code>file_id</code>
)
<dt><strong>Purpose:</strong>
- <dd>Opens an existing file.
+ <dd>Terminates access to an HDF5 file.
<dt><strong>Description:</strong>
- <dd><code>H5Fopen</code> opens an existing file and is the primary
- function for accessing existing HDF5 files.
- <p>
- The parameter <code>access_id</code> is a file access property
- list identifier or <code>H5P_DEFAULT</code> if the
- default I/O access parameters are to be used
- <p>
- The <code>flags</code> argument determines whether writing
- to an existing file will be allowed.
- The file is opened with read and write permission if
- <code>flags</code> is set to <code>H5F_ACC_RDWR</code>.
- All flags may be combined with the bit-wise OR operator (`|')
- to change the behavior of the file open call.
- More complex behaviors of file access are controlled
- through the file-access property list.
+ <dd><code>H5Fclose</code> terminates access to an HDF5 file
+ by flushing all data to storage and terminating access
+ to the file through <code>file_id</code>.
<p>
- The return value is a file identifier for the open file;
- this file identifier should be closed by calling
- <code>H5Fclose</code> when it is no longer needed.
+ If this is the last file identifier open for the file
+ and no other access identifier is open (e.g., a dataset
+ identifier, group identifier, or shared datatype identifier),
+ the file will be fully closed and access will end.
<p>
-
- <b>Special case -- Multiple opens:</b>
+ <strong>Delayed close:</strong>
<br>
- A file can often be opened with a new <code>H5Fopen</code>
- call without closing an already-open identifier established
- in a previous <code>H5Fopen</code> or <code>H5Fcreate</code>
- call. Each such <code>H5Fopen</code> call will return a
- unique identifier and the file can be accessed through any
- of these identifiers as long as the identifier remains valid.
- In such multiply-opened cases, all the open calls should
- use the same <code>flags</code> argument.
- <p>
- In some cases, such as files on a local Unix file system,
- the HDF5 library can detect that a file is multiply opened and
- will maintain coherent access among the file identifiers.
+ Note the following deviation from the above-described behavior.
+ If <code>H5Fclose</code> is called for a file but one or more
+ objects within the file remain open, those objects will remain
+ accessible until they are individually closed.
+ Thus, if the dataset <code>data_sample</code> is open when
+ <code>H5Fclose</code> is called for the file containing it,
+ <code>data_sample</code> will remain open and accessible
+ (including writable) until it is explicitely closed.
+ The file will be automatically closed once all objects in the
+ file have been closed.
<p>
- But in many other cases, such as parallel file systems or
- networked file systems, it is not always possible to detect
- multiple opens of the same physical file.
- In such cases, HDF5 will treat the file identifiers
- as though they are accessing different files and
- will be unable to maintain coherent access.
- Errors are likely to result in these cases.
- While unlikely, the HDF5 library may not be able to detect,
- and thus report, such errors.
+ Be warned, hoever, that there are circumstances where it is
+ not possible to delay closing a file.
+ For example, an MPI-IO file close is a collective call; all of
+ the processes that opened the file must close it collectively.
+ The file cannot be closed at some time in the future by each
+ process in an independent fashion.
+ Another example is that an application using an AFS token-based
+ file access privilage may destroy its AFS token after
+ <code>H5Fclose</code> has returned successfully.
+ This would make any future access to the file, or any object
+ within it, illegal.
<p>
- It is generally recommended that applications avoid
- multiple opens of the same file.
-
+ In such situations, applications must close all open objects
+ in a file before calling <code>H5Fclose</code>.
+ It is generally recommended to do so in all cases.
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>const char *</em><code>name</code>
- <dd>IN: Name of the file to access.
- <dt><em>unsigned</em> <code>flags</code>
- <dd>IN: File access flags. Allowable values are:
- <ul><dl>
- <dt><code>H5F_ACC_RDWR</code>
- <dd>Allow read and write access to file.
- <dt><code>H5F_ACC_RDONLY</code>
- <dd>Allow read-only access to file.
- </dl>
- <li><code>H5F_ACC_RDWR</code> and <code>H5F_ACC_RDONLY</code>
- are mutually exclusive; use exactly one.
- <li>An additional flag, <code>H5F_ACC_DEBUG</code>, prints
- debug information. This flag is used only by HDF5 library
- developers; it is neither tested nor supported
- for use in applications.
- </ul>
- <dt><em>hid_t</em> <code>access_id</code>
- <dd>IN: Identifier for the file access properties list.
- If parallel file access is desired, this is a collective
- call according to the communicator stored in the
- <code>access_id</code>.
- Use <code>H5P_DEFAULT</code> for default file access properties.
+ <dt><em>hid_t</em> <code>file_id</code>
+ <dd>IN: Identifier of a file to terminate access to.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a file identifier if successful;
+ <dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fopen_f"
+ <dd><a href="fortran/h5f_FORTRAN.html#h5fclose_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -275,7 +246,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fcreate" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="File-Create">H5Fcreate</a>
@@ -382,7 +354,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fflush" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="File-Flush">H5Fflush</a>
@@ -438,37 +411,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="File-IsHDF5">H5Fis_hdf5</a>
-<dt><strong>Signature:</strong>
- <dd><em>htri_t </em><code>H5Fis_hdf5</code>(<em>const char *</em><code>name</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Determines whether a file is in the HDF5 format.
-<dt><strong>Description:</strong>
- <dd><code>H5Fis_hdf5</code> determines whether a file is in
- the HDF5 format.
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>const char *</em><code>name</code>
- <dd>IN: File name to check format.
- </dl>
-<dt><strong>Returns:</strong>
- <dd>When successful, returns a positive value, for <code>TRUE</code>,
- or <code>0</code> (zero), for <code>FALSE</code>.
- Otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fis_hdf5_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fget_access_plist" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="File-GetAccessPlist">H5Fget_access_plist</a>
@@ -504,7 +448,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fget_create_plist" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="File-GetCreatePlist">H5Fget_create_plist</a>
@@ -543,7 +488,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fget_obj_count" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="File-GetObjCount">H5Fget_obj_count</a>
@@ -622,7 +568,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fget_obj_ids" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="File-GetObjIDs">H5Fget_obj_ids</a>
@@ -674,7 +621,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fget_vfd_handle" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="File-GetVfdHandle">H5Fget_vfd_handle</a>
@@ -727,63 +675,30 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fis_hdf5" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="File-Close">H5Fclose</a>
+<dt><strong>Name:</strong> <a name="File-IsHDF5">H5Fis_hdf5</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Fclose</code>(<em>hid_t</em> <code>file_id</code>
+ <dd><em>htri_t </em><code>H5Fis_hdf5</code>(<em>const char *</em><code>name</code>
)
<dt><strong>Purpose:</strong>
- <dd>Terminates access to an HDF5 file.
+ <dd>Determines whether a file is in the HDF5 format.
<dt><strong>Description:</strong>
- <dd><code>H5Fclose</code> terminates access to an HDF5 file
- by flushing all data to storage and terminating access
- to the file through <code>file_id</code>.
- <p>
- If this is the last file identifier open for the file
- and no other access identifier is open (e.g., a dataset
- identifier, group identifier, or shared datatype identifier),
- the file will be fully closed and access will end.
- <p>
- <strong>Delayed close:</strong>
- <br>
- Note the following deviation from the above-described behavior.
- If <code>H5Fclose</code> is called for a file but one or more
- objects within the file remain open, those objects will remain
- accessible until they are individually closed.
- Thus, if the dataset <code>data_sample</code> is open when
- <code>H5Fclose</code> is called for the file containing it,
- <code>data_sample</code> will remain open and accessible
- (including writable) until it is explicitely closed.
- The file will be automatically closed once all objects in the
- file have been closed.
- <p>
- Be warned, hoever, that there are circumstances where it is
- not possible to delay closing a file.
- For example, an MPI-IO file close is a collective call; all of
- the processes that opened the file must close it collectively.
- The file cannot be closed at some time in the future by each
- process in an independent fashion.
- Another example is that an application using an AFS token-based
- file access privilage may destroy its AFS token after
- <code>H5Fclose</code> has returned successfully.
- This would make any future access to the file, or any object
- within it, illegal.
- <p>
- In such situations, applications must close all open objects
- in a file before calling <code>H5Fclose</code>.
- It is generally recommended to do so in all cases.
+ <dd><code>H5Fis_hdf5</code> determines whether a file is in
+ the HDF5 format.
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>hid_t</em> <code>file_id</code>
- <dd>IN: Identifier of a file to terminate access to.
+ <dt><em>const char *</em><code>name</code>
+ <dd>IN: File name to check format.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
+ <dd>When successful, returns a positive value, for <code>TRUE</code>,
+ or <code>0</code> (zero), for <code>FALSE</code>.
+ Otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5fclose_f"
+ <dd><a href="fortran/h5f_FORTRAN.html#h5fis_hdf5_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -791,7 +706,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fmount" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="File-Mount">H5Fmount</a>
@@ -837,44 +753,99 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Fopen" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="File-Unmount">H5Funmount</a>
+<dt><strong>Name:</strong> <a name="File-Open">H5Fopen</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Funmount</code>(<em>hid_t</em> <code>loc_id</code>,
- <em>const char *</em><code>name</code>
+ <dd><em>hid_t </em><code>H5Fopen</code>(<em>const char *</em><code>name</code>,
+ <em>unsigned</em> <code>flags</code>,
+ <em>hid_t</em> <code>access_id</code>
)
<dt><strong>Purpose:</strong>
- <dd>Unmounts a file.
+ <dd>Opens an existing file.
<dt><strong>Description:</strong>
- <dd>Given a mount point, <code>H5Funmount</code>
- dissassociates the mount point's file
- from the file mounted there. This function
- does not close either file.
- <p>
- The mount point can be either the group in the
- parent or the root group of the mounted file
- (both groups have the same name). If the mount
- point was opened before the mount then it is the
- group in the parent; if it was opened after the
- mount then it is the root group of the child.
+ <dd><code>H5Fopen</code> opens an existing file and is the primary
+ function for accessing existing HDF5 files.
<p>
- Note that <code>loc_id</code> is either a file or group identifier
- and <code>name</code> is relative to <code>loc_id</code>.
+ The parameter <code>access_id</code> is a file access property
+ list identifier or <code>H5P_DEFAULT</code> if the
+ default I/O access parameters are to be used
+ <p>
+ The <code>flags</code> argument determines whether writing
+ to an existing file will be allowed.
+ The file is opened with read and write permission if
+ <code>flags</code> is set to <code>H5F_ACC_RDWR</code>.
+ All flags may be combined with the bit-wise OR operator (`|')
+ to change the behavior of the file open call.
+ More complex behaviors of file access are controlled
+ through the file-access property list.
+ <p>
+ The return value is a file identifier for the open file;
+ this file identifier should be closed by calling
+ <code>H5Fclose</code> when it is no longer needed.
+ <p>
+
+ <b>Special case -- Multiple opens:</b>
+ <br>
+ A file can often be opened with a new <code>H5Fopen</code>
+ call without closing an already-open identifier established
+ in a previous <code>H5Fopen</code> or <code>H5Fcreate</code>
+ call. Each such <code>H5Fopen</code> call will return a
+ unique identifier and the file can be accessed through any
+ of these identifiers as long as the identifier remains valid.
+ In such multiply-opened cases, all the open calls should
+ use the same <code>flags</code> argument.
+ <p>
+ In some cases, such as files on a local Unix file system,
+ the HDF5 library can detect that a file is multiply opened and
+ will maintain coherent access among the file identifiers.
+ <p>
+ But in many other cases, such as parallel file systems or
+ networked file systems, it is not always possible to detect
+ multiple opens of the same physical file.
+ In such cases, HDF5 will treat the file identifiers
+ as though they are accessing different files and
+ will be unable to maintain coherent access.
+ Errors are likely to result in these cases.
+ While unlikely, the HDF5 library may not be able to detect,
+ and thus report, such errors.
+ <p>
+ It is generally recommended that applications avoid
+ multiple opens of the same file.
+
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>hid_t</em> <code>loc_id</code>
- <dd>IN: File or group identifier for the location at which
- the specified file is to be unmounted.
<dt><em>const char *</em><code>name</code>
- <dd>IN: Name of the mount point.
+ <dd>IN: Name of the file to access.
+ <dt><em>unsigned</em> <code>flags</code>
+ <dd>IN: File access flags. Allowable values are:
+ <ul><dl>
+ <dt><code>H5F_ACC_RDWR</code>
+ <dd>Allow read and write access to file.
+ <dt><code>H5F_ACC_RDONLY</code>
+ <dd>Allow read-only access to file.
+ </dl>
+ <li><code>H5F_ACC_RDWR</code> and <code>H5F_ACC_RDONLY</code>
+ are mutually exclusive; use exactly one.
+ <li>An additional flag, <code>H5F_ACC_DEBUG</code>, prints
+ debug information. This flag is used only by HDF5 library
+ developers; it is neither tested nor supported
+ for use in applications.
+ </ul>
+ <dt><em>hid_t</em> <code>access_id</code>
+ <dd>IN: Identifier for the file access properties list.
+ If parallel file access is desired, this is a collective
+ call according to the communicator stored in the
+ <code>access_id</code>.
+ Use <code>H5P_DEFAULT</code> for default file access properties.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
+ <dd>Returns a file identifier if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5f_FORTRAN.html#h5funmount_f"
+ <dd><a href="fortran/h5f_FORTRAN.html#h5fopen_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -882,7 +853,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Freopen" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="File-Reopen">H5Freopen</a>
@@ -926,6 +898,54 @@ facilitate moving easily between them.</i>
-->
</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Funmount" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="File-Unmount">H5Funmount</a>
+<dt><strong>Signature:</strong>
+ <dd><em>herr_t</em> <code>H5Funmount</code>(<em>hid_t</em> <code>loc_id</code>,
+ <em>const char *</em><code>name</code>
+ )
+<dt><strong>Purpose:</strong>
+ <dd>Unmounts a file.
+<dt><strong>Description:</strong>
+ <dd>Given a mount point, <code>H5Funmount</code>
+ dissassociates the mount point's file
+ from the file mounted there. This function
+ does not close either file.
+ <p>
+ The mount point can be either the group in the
+ parent or the root group of the mounted file
+ (both groups have the same name). If the mount
+ point was opened before the mount then it is the
+ group in the parent; if it was opened after the
+ mount then it is the root group of the child.
+ <p>
+ Note that <code>loc_id</code> is either a file or group identifier
+ and <code>name</code> is relative to <code>loc_id</code>.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>hid_t</em> <code>loc_id</code>
+ <dd>IN: File or group identifier for the location at which
+ the specified file is to be unmounted.
+ <dt><em>const char *</em><code>name</code>
+ <dd>IN: Name of the mount point.
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd>Returns a non-negative value if successful;
+ otherwise returns a negative value.
+<dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5f_FORTRAN.html#h5funmount_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+
+
+
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
<center>
@@ -960,14 +980,15 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
+<hr><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
<br>
Describes HDF5 Release 1.6.0, July 2003
-</address><!-- #EndLibraryItem -->
-
-Last modified: 6 June 2003
+</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
+<!--
+document.writeln("Last modified: 3 October 2003");
+-->
+</SCRIPT>
</body>
</html>
diff --git a/doc/html/RM_H5Front.html b/doc/html/RM_H5Front.html
index ea79e7d..480f01f 100644
--- a/doc/html/RM_H5Front.html
+++ b/doc/html/RM_H5Front.html
@@ -1,5 +1,7 @@
<html>
-<head><title>
+<head>
+<a name="TopofRM"></a>
+<title>
HDF5 API Specification
</title>
@@ -27,6 +29,9 @@ HDF5 API Specification
<body bgcolor="#FFFFFF">
+<!-- HEADER LEFT "HDF5 Reference Manual -->
+<!-- FOOTER $PAGE (format=1) -->
+
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
<center>
@@ -129,7 +134,13 @@ See <a href="#F90andCPPlus">below</a> for the FORTRAN90 and C++ APIs.
<a name="F90andCPPlus">
<hr>
-<p align=right>To top of <a href="#TopofRM"><cite>Reference Manual</cite></a>.
+
+<SCRIPT LANGUAGE="JAVASCRIPT">
+<!--
+document.writeln("<div align=right><a href='#TopofRM'>To top of <cite>Reference Manual</cite></a></div>");
+-->
+</SCRIPT>
+
<h3>The Fortran90 and C++ APIs to HDF5</h3>
</a>
@@ -152,7 +163,8 @@ These APIs are described in the following documents.
H5R, H5S, and H5T interfaces and are described on those pages.
<p>
In general, each Fortran subroutine performs exactly the same task
- as the corresponding C function. The links at the top of each reference
+ as the corresponding C function. In the electronic version of this manual,
+ the links at the top of each reference
manual section go to the C function descriptions, which serve as general
descriptions for both the C and Fortran APIs. A button, under
<strong>Non-C API(s)</strong> at the end of the C function description,
@@ -217,23 +229,30 @@ And in this document, the
</table>
</center>
<hr>
-<!-- #EndLibraryItem --><address>
-<table width=100% border=0>
+<!-- #EndLibraryItem --><table width=100% border=0>
<tr><td align=left valign=top>
<!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
<br>
Describes HDF5 Release 1.6.0, July 2003
-</address><!-- #EndLibraryItem -->
-
-Last modified: 9 April 2003
+</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
+<!--
+document.writeln("Last modified: 9 April 2003");
+-->
+</SCRIPT>
+
</td><td align=right valign=top>
-<a href="Copyright.html">Copyright</a>&nbsp;&nbsp;
+<SCRIPT LANGUAGE="JAVASCRIPT">
+<!--
+document.writeln("<a href=../Copyright.html>Copyright</a>&nbsp;&nbsp;");
+-->
+</SCRIPT>
</td></tr>
</table>
-
</body>
</html>
+
+
diff --git a/doc/html/RM_H5S.html b/doc/html/RM_H5S.html
index 0d73fd7..7bb5286 100644
--- a/doc/html/RM_H5S.html
+++ b/doc/html/RM_H5S.html
@@ -25,6 +25,7 @@ HDF5/H5S API Specification
<!-- #EndLibraryItem --></head>
<body bgcolor="#FFFFFF">
+<!-- HEADER RIGHT " " -->
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
@@ -60,8 +61,7 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><center>
+<hr><!-- #EndLibraryItem --><center>
<h1>H5S: Dataspace Interface</h1>
</center>
@@ -159,20 +159,20 @@ elements of a dataset.
</tr>
</table>
-<p>
+<br>
<strong>The FORTRAN90 Interfaces:</strong>
<br>
<font size=-1>
<i>In general, each FORTRAN90 subroutine performs exactly the same task
-as the corresponding C function. The links below go to the C function
+as the corresponding C function. The links below (electronic versions only) go to the C function
descriptions, which serve as general descriptions for both. A button,
under <strong>Non-C API(s)</strong> at the end of the C function description,
opens an external browser window displaying the FORTRAN90-specific
information. You will probably want to adjust the size and location of
this external window so that both browser windows are visible and to
facilitate moving easily between them.</i>
-</font>
+</font><br>
<table border=0>
<tr><td valign=top>
@@ -241,7 +241,73 @@ of the <cite>HDF5 User's Guide.</cite>.
</table>
-->
+<!-- NEW PAGE -->
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sclose" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="Dataspace-Close">H5Sclose</a>
+<dt><strong>Signature:</strong>
+ <dd><em>herr_t </em><code>H5Sclose</code>(<em>hid_t </em><code>space_id</code>
+ )
+<dt><strong>Purpose:</strong>
+ <dd>Releases and terminates access to a dataspace.
+<dt><strong>Description:</strong>
+ <dd><code>H5Sclose</code> releases a dataspace.
+ Further access through the dataspace identifier is illegal.
+ Failure to release a dataspace with this call will
+ result in resource leaks.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>hid_t</em> <code>space_id</code>
+ <dd>Identifier of dataspace to release.
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd>Returns a non-negative value if successful;
+ otherwise returns a negative value.
+<dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sclose_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Scopy" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="Dataspace-Copy">H5Scopy</a>
+<dt><strong>Signature:</strong>
+ <dd><em>hid_t </em><code>H5Scopy</code>(<em>hid_t </em><code>space_id</code>
+ )
+<dt><strong>Purpose:</strong>
+ <dd>Creates an exact copy of a dataspace.
+<dt><strong>Description:</strong>
+ <dd><code>H5Scopy</code> creates a new dataspace which is an exact
+ copy of the dataspace identified by <code>space_id</code>.
+ The dataspace identifier returned from this function should be
+ released with <code>H5Sclose</code> or resource leaks will occur.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>hid_t</em> <code>space_id</code>
+ <dd>Identifier of dataspace to copy.
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd>Returns a dataspace identifier if successful;
+ otherwise returns a negative value.
+<dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5s_FORTRAN.html#h5scopy_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Screate" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataspace-Create">H5Screate</a>
@@ -272,7 +338,8 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Screate_simple" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataspace-CreateSimple">H5Screate_simple</a>
@@ -326,30 +393,35 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sextent_copy" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-Copy">H5Scopy</a>
+<dt><strong>Name:</strong> <a name="Dataspace-ExtentCopy">H5Sextent_copy</a>
<dt><strong>Signature:</strong>
- <dd><em>hid_t </em><code>H5Scopy</code>(<em>hid_t </em><code>space_id</code>
+ <dd><em>herr_t</em> <code>H5Sextent_copy</code>(<em>hid_t</em> <code>dest_space_id</code>,
+ <em>hid_t</em> <code>source_space_id</code>
)
<dt><strong>Purpose:</strong>
- <dd>Creates an exact copy of a dataspace.
+ <dd>Copies the extent of a dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Scopy</code> creates a new dataspace which is an exact
- copy of the dataspace identified by <code>space_id</code>.
- The dataspace identifier returned from this function should be
- released with <code>H5Sclose</code> or resource leaks will occur.
+ <dd><code>H5Sextent_copy</code> copies the extent from
+ <code>source_space_id</code> to <code>dest_space_id</code>.
+ This action may change the type of the dataspace.
<dt><strong>Parameters:</strong>
<dl>
- <dt><em>hid_t</em> <code>space_id</code>
- <dd>Identifier of dataspace to copy.
+ <dt><em>hid_t</em> <code>dest_space_id</code>
+ <dd>IN: The identifier for the dataspace to which
+ the extent is copied.
+ <dt><em>hid_t</em> <code>source_space_id</code>
+ <dd>IN: The identifier for the dataspace from which
+ the extent is copied.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a dataspace identifier if successful;
+ <dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5scopy_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sextent_copy_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -357,112 +429,82 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_select_bounds" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SelectElements">H5Sselect_elements</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SelectBounds">H5Sget_select_bounds</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Sselect_elements</code>(<em>hid_t </em><code>space_id</code>,
- <em>H5S_seloper_t</em> <code>op</code>,
- <em>const size_t</em> <code>num_elements</code>,
- <em>const hssize_t *</em><code>coord</code>[ ]
+ <dd><em>herr_t </em><code>H5Sget_select_bounds</code>(<em>hid_t </em><code>space_id</code>,
+ <em>hssize_t *</em><code>start</code>,
+ <em>hssize_t *</em><code>end</code>
)
<dt><strong>Purpose:</strong>
- <dd>Selects array elements to be included in the selection for a dataspace.
+ <dd>Gets the bounding box containing the current selection.
<dt><strong>Description:</strong>
- <dd><code>H5Sselect_elements</code> selects array elements to be
- included in the selection for the <code>space_id</code>
- dataspace. The number of elements selected must be set with
- the <code>num_elements</code>. The <code>coord</code> array
- is a two-dimensional array of size <em>dataspace rank</em>
- by <code>num_elements</code> (ie. a list of coordinates in
- the array). The order of the element coordinates in the
- <code>coord</code> array also specifies the order in which
- the array elements are iterated through when I/O is performed.
- Duplicate coordinate locations are not checked for.
+ <dd><code>H5Sget_select_bounds</code> retrieves the coordinates of
+ the bounding box containing the current selection and places
+ them into user-supplied buffers.
<p>
- The selection operator <code>op</code> determines how the
- new selection is to be combined with the previously existing
- selection for the dataspace.
- The following operators are supported:
- <center>
- <table width=90% border=0>
- <tr><td valign=top>
- <code>H5S_SELECT_SET</code>
- </td><td valign=top>
- Replaces the existing selection with the parameters from this call.
- Overlapping blocks are not supported with this operator.
-<!-- </td></tr><tr><td valign=top>
- <code>H5S_SELECT_OR</code>
- </td><td valign=top>
---> Adds the new selection to the existing selection.
- </td></tr><tr><td valign=top>
- <code>H5S_SELECT_APPEND</code>
- </td><td valign=top>
- Adds the new selection following the last element of the existing selection.
- </td></tr><tr><td valign=top>
- <code>H5S_SELECT_PREPEND&nbsp;&nbsp;</code>
- </td><td valign=top>
- Adds the new selection preceding the first element of the existing selection.
- </td></tr>
- </table>
- </center>
-<!-- When operator <code>H5S_SELECT_OR</code>
- is used to combine a new selection with an existing selection,
- the selection ordering is reset to C array ordering.
--->
+ The <code>start</code> and <code>end</code> buffers must be large
+ enough to hold the dataspace rank number of coordinates.
+ <p>
+ The bounding box exactly contains the selection.
+ I.e., if a 2-dimensional element selection is currently
+ defined as containing the points (4,5), (6,8), and (10,7),
+ then the bounding box will be (4, 5), (10, 8).
+ <p>
+ The bounding box calculation includes the current offset of the
+ selection within the dataspace extent.
+ <p>
+ Calling this function on a <code>none</code> selection will
+ return <code>FAIL</code>.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>Identifier of the dataspace.
- <dt><em>H5S_seloper_t</em> <code>op</code>
- <dd>operator specifying how the new selection is to be
- combined with the existing selection for the dataspace.
- <dt><em>const size_t</em> <code>num_elements</code>
- <dd>Number of elements to be selected.
- <dt><em>const hssize_t *</em><code>coord</code>[ ]
- <dd>A 2-dimensional array specifying the coordinates of the
- elements being selected.
+ <dd>IN: Identifier of dataspace to query.
+ <dt><em>hssize_t *</em><code>start</code>
+ <dd>OUT: Starting coordinates of the bounding box.
+ <dt><em>hssize_t *</em><code>end</code>
+ <dd>OUT: Ending coordinates of the bounding box,
+ i.e., the coordinates of the diagonally opposite corner.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
+ <dd>Returns a non-negative value if successful;
otherwise returns a negative value.
+<!--
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sselect_elements_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_bounds_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
+--> <!--
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_select_elem_npoints" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SelectAll">H5Sselect_all</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SelectElemNPoints">H5Sget_select_elem_npoints</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Sselect_all</code>(<em>hid_t</em> <code>space_id</code>)
+ <dd><em>hssize_t </em><code>H5Sget_select_elem_npoints</code>(<em>hid_t </em><code>space_id</code>
+ )
<dt><strong>Purpose:</strong>
- <dd>Selects the entire dataspace.
+ <dd>Gets the number of element points in the current selection.
<dt><strong>Description:</strong>
- <dd><code>H5Sselect_all</code> selects the entire extent
- of the dataspace <code>space_id</code>.
- <p>
- More specifically, <code>H5Sselect_all</code> selects
- the special <tt>5S_SELECT_ALL</tt> region for the dataspace
- <code>space_id</code>. <tt>H5S_SELECT_ALL</tt> selects the
- entire dataspace for any dataspace it is applied to.
+ <dd><code>H5Sget_select_elem_npoints</code> returns
+ the number of element points in the current dataspace selection.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>IN: The identifier for the dataspace in which the
- selection is being made.
+ <dd>IN: Identifier of dataspace to query.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
+ <dd>Returns the number of element points in the current dataspace selection if successful.
+ Otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sselect_all_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_elem_npoints_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -470,28 +512,58 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_select_elem_pointlist" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SelectNone">H5Sselect_none</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SelectElemPointList">H5Sget_select_elem_pointlist</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Sselect_none</code>(<em>hid_t</em> <code>space_id</code>)
+ <dd><em>herr_t </em><code>H5Sget_select_elem_pointlist</code>(<em>hid_t </em><code>space_id</code>,
+ <em>hsize_t </em><code>startpoint</code>,
+ <em>hsize_t </em><code>numpoints</code>,
+ <em>hsize_t *</em><code>buf</code>
+ )
<dt><strong>Purpose:</strong>
- <dd>Resets the selection region to include no elements.
+ <dd>Gets the list of element points currently selected.
<dt><strong>Description:</strong>
- <dd><code>H5Sselect_none</code> resets the selection region
- for the dataspace <code>space_id</code> to include no elements.
+ <dd><code>H5Sget_select_elem_pointlist</code> returns the list of
+ element points in the current dataspace selection. Starting with
+ the <code>startpoint</code>-th point in the list of points,
+ <code>numpoints</code> points are put into the user's buffer.
+ If the user's buffer fills up before <code>numpoints</code>
+ points are inserted, the buffer will contain only as many
+ points as fit.
+ <p>
+ The element point coordinates have the same dimensionality (rank)
+ as the dataspace they are located within. The list of element points
+ is formatted as follows:
+ <br>&nbsp;&nbsp;&nbsp;&nbsp;
+ &lt;coordinate&gt;, followed by
+ <br>&nbsp;&nbsp;&nbsp;&nbsp;
+ the next coordinate,
+ <br>&nbsp;&nbsp;&nbsp;&nbsp;
+ etc.
+ <br>
+ until all of the selected element points have been listed.
+ <p>
+ The points are returned in the order they will be iterated through
+ when the selection is read/written from/to disk.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>IN: The identifier for the dataspace in which the
- selection is being reset.
+ <dd>IN: Dataspace identifier of selection to query.
+ <dt><em>hsize_t </em><code>startpoint</code>
+ <dd>IN: Element point to start with.
+ <dt><em>hsize_t </em><code>numpoints</code>
+ <dd>IN: Number of element points to get.
+ <dt><em>hsize_t *</em><code>buf</code>
+ <dd>OUT: List of element points selected.
</dl>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sselect_none_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_elem_pointlist_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -499,31 +571,59 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_select_hyper_blocklist" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SelectValid">H5Sselect_valid</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperBlockList">H5Sget_select_hyper_blocklist</a>
<dt><strong>Signature:</strong>
- <dd><em>htri_t</em> <code>H5Sselect_valid</code>(<em>hid_t</em> <code>space_id</code>)
+ <dd><em>herr_t </em><code>H5Sget_select_hyper_blocklist</code>(<em>hid_t </em><code>space_id</code>,
+ <em>hsize_t </em><code>startblock</code>,
+ <em>hsize_t </em><code>numblocks</code>,
+ <em>hsize_t *</em><code>buf</code>
+ )
<dt><strong>Purpose:</strong>
- <dd>Verifies that the selection is within the extent of the dataspace.
+ <dd>Gets the list of hyperslab blocks currently selected.
<dt><strong>Description:</strong>
- <dd><code>H5Sselect_valid</code> verifies that the selection
- for the dataspace <code>space_id</code> is within the extent
- of the dataspace if the current offset for the dataspace is used.
+ <dd><code>H5Sget_select_hyper_blocklist</code> returns a list of
+ the hyperslab blocks currently selected. Starting with the
+ <code>startblock</code>-th block in the list of blocks,
+ <code>numblocks</code> blocks are put into the user's buffer.
+ If the user's buffer fills up before <code>numblocks</code>
+ blocks are inserted, the buffer will contain only as many
+ blocks as fit.
+ <p>
+ The block coordinates have the same dimensionality (rank)
+ as the dataspace they are located within. The list of blocks
+ is formatted as follows:
+ <br>&nbsp;&nbsp;&nbsp;&nbsp;
+ &lt;"start" coordinate&gt;, immediately followed by
+ <br>&nbsp;&nbsp;&nbsp;&nbsp;
+ &lt;"opposite" corner coordinate&gt;, followed by
+ <br>&nbsp;&nbsp;&nbsp;&nbsp;
+ the next "start" and "opposite" coordinates,
+ <br>&nbsp;&nbsp;&nbsp;&nbsp;
+ etc.
+ <br>
+ until all of the selected blocks have been listed.
+ <p>
+ No guarantee is implied as the order in which blocks are listed.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>The identifier for the dataspace being queried.
+ <dd>IN: Dataspace identifier of selection to query.
+ <dt><em>hsize_t </em><code>startblock</code>
+ <dd>IN: Hyperslab block to start with.
+ <dt><em>hsize_t </em><code>numblocks</code>
+ <dd>IN: Number of hyperslab blocks to get.
+ <dt><em>hsize_t *</em><code>buf</code>
+ <dd>OUT: List of hyperslab blocks selected.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a positive value, for <code>TRUE</code>,
- if the selection is contained within the extent
- or <code>0</code> (zero), for <code>FALSE</code>, if it is not.
- Returns a negative value on error conditions
- such as the selection or extent not being defined.
+ <dd>Returns a non-negative value if successful;
+ otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sselect_valid_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_hyper_blocklist_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -531,28 +631,30 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_select_hyper_nblocks" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-ExtentNpoints">H5Sget_simple_extent_npoints</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperNBlocks">H5Sget_select_hyper_nblocks</a>
<dt><strong>Signature:</strong>
- <dd><em>hssize_t</em> <code>H5Sget_simple_extent_npoints</code>(<em>hid_t </em><code>space_id</code>)
+ <dd><em>hssize_t </em><code>H5Sget_select_hyper_nblocks</code>(<em>hid_t </em><code>space_id</code>
+ )
<dt><strong>Purpose:</strong>
- <dd>Determines the number of elements in a dataspace.
+ <dd>Get number of hyperslab blocks.
<dt><strong>Description:</strong>
- <dd><code>H5Sget_simple_extent_npoints</code> determines the number of elements
- in a dataspace. For example, a simple 3-dimensional dataspace
- with dimensions 2, 3, and 4 would have 24 elements.
+ <dd><code>H5Sget_select_hyper_nblocks</code> returns the
+ number of hyperslab blocks in the current dataspace selection.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>ID of the dataspace object to query
+ <dd>IN: Identifier of dataspace to query.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns the number of elements in the dataspace if successful;
- otherwise returns 0.
+ <dd>Returns the number of hyperslab blocks in
+ the current dataspace selection if successful.
+ Otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sget_simple_extent_npoints_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_hyper_nblocks_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -560,7 +662,8 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_select_npoints" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataspace-SelectNpoints">H5Sget_select_npoints</a>
@@ -588,27 +691,53 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_select_type" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-ExtentNdims">H5Sget_simple_extent_ndims</a>
+<dt><strong>Name:</strong> <a name="Dataspace-GetSelectType">H5Sget_select_type</a>
<dt><strong>Signature:</strong>
- <dd><em>int</em> <code>H5Sget_simple_extent_ndims</code>(<em>hid_t</em> <code>space_id</code>)
+ <dd><em>H5S_sel_type</em> <code>H5Sget_select_type</code>(<em>hid_t</em> <code>space_id</code>)
<dt><strong>Purpose:</strong>
- <dd>Determines the dimensionality of a dataspace.
+ <dd>Determines the type of the dataspace selection.
<dt><strong>Description:</strong>
- <dd><code>H5Sget_simple_extent_ndims</code> determines the dimensionality (or rank)
- of a dataspace.
+ <dd><code>H5Sget_select_type</code> retrieves the
+ type of selection currently defined for the dataspace
+ <code>space_id</code>.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>Identifier of the dataspace
+ <dd>Dataspace identifier.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns the number of dimensions in the dataspace if successful;
- otherwise returns a negative value.
+ <dd>Returns the dataspace selection type, a value of
+ the enumerated datatype <code>H5S_sel_type</code>,
+ if successful.
+ Valid return values are as follows:
+ <center>
+ <table width=90% border=0>
+ <tr><td valign=top>
+ <code>H5S_SEL_NONE</code>
+ </td><td valign=top>
+ No selection is defined.
+ </td></tr><tr><td valign=top>
+ <code>H5S_SEL_POINTS</code>
+ </td><td valign=top>
+ A sequence of points is selected.
+ </td></tr><tr><td valign=top>
+ <code>H5S_SEL_HYPERSLABS</code>
+ </td><td valign=top>
+ A hyperslab or compound hyperslab is selected.
+ </td></tr><tr><td valign=top>
+ <code>H5S_SEL_ALL</code>
+ </td><td valign=top>
+ The entire dataset is selected.
+ </td></tr>
+ </table>
+ </center>
+ Otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sget_simple_extent_ndims_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_type_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -616,7 +745,8 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_simple_extent_dims" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataspace-ExtentDims">H5Sget_simple_extent_dims</a>
@@ -659,32 +789,28 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_simple_extent_ndims" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-ExtentType">H5Sget_simple_extent_type</a>
+<dt><strong>Name:</strong> <a name="Dataspace-ExtentNdims">H5Sget_simple_extent_ndims</a>
<dt><strong>Signature:</strong>
- <dd><em>H5S_class_t</em> <code>H5Sget_simple_extent_type</code>(<em>hid_t</em> <code>space_id</code>)
+ <dd><em>int</em> <code>H5Sget_simple_extent_ndims</code>(<em>hid_t</em> <code>space_id</code>)
<dt><strong>Purpose:</strong>
- <dd>Determine the current class of a dataspace.
+ <dd>Determines the dimensionality of a dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Sget_simple_extent_type</code> queries a dataspace to determine the
- current class of a dataspace.
- <p>
- The function returns a class name, one of the following:
- <code>H5S_SCALAR</code>,
- <code>H5S_SIMPLE</code>, or
- <code>H5S_NONE</code>.
+ <dd><code>H5Sget_simple_extent_ndims</code> determines the dimensionality (or rank)
+ of a dataspace.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>Dataspace identifier.
+ <dd>Identifier of the dataspace
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a dataspace class name if successful;
- otherwise H5S_NO_CLASS (-1).
+ <dd>Returns the number of dimensions in the dataspace if successful;
+ otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sget_simple_extent_type_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sget_simple_extent_ndims_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -692,50 +818,63 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_simple_extent_npoints" -->
+<hr>
+<dl>
+<dt><strong>Name:</strong> <a name="Dataspace-ExtentNpoints">H5Sget_simple_extent_npoints</a>
+<dt><strong>Signature:</strong>
+ <dd><em>hssize_t</em> <code>H5Sget_simple_extent_npoints</code>(<em>hid_t </em><code>space_id</code>)
+<dt><strong>Purpose:</strong>
+ <dd>Determines the number of elements in a dataspace.
+<dt><strong>Description:</strong>
+ <dd><code>H5Sget_simple_extent_npoints</code> determines the number of elements
+ in a dataspace. For example, a simple 3-dimensional dataspace
+ with dimensions 2, 3, and 4 would have 24 elements.
+<dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>hid_t</em> <code>space_id</code>
+ <dd>ID of the dataspace object to query
+ </dl>
+<dt><strong>Returns:</strong>
+ <dd>Returns the number of elements in the dataspace if successful;
+ otherwise returns 0.
+<dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sget_simple_extent_npoints_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sget_simple_extent_type" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SetExtentSimple">H5Sset_extent_simple</a>
+<dt><strong>Name:</strong> <a name="Dataspace-ExtentType">H5Sget_simple_extent_type</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Sset_extent_simple</code>(<em>hid_t</em> <code>space_id</code>,
- <em>int</em> <code>rank</code>,
- <em>const hsize_t *</em><code>current_size</code>,
- <em>const hsize_t *</em><code>maximum_size</code>
- )
+ <dd><em>H5S_class_t</em> <code>H5Sget_simple_extent_type</code>(<em>hid_t</em> <code>space_id</code>)
<dt><strong>Purpose:</strong>
- <dd>Sets or resets the size of an existing dataspace.
+ <dd>Determine the current class of a dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Sset_extent_simple</code> sets or resets the size of
- an existing dataspace.
- <p>
- <code>rank</code> is the dimensionality, or number of
- dimensions, of the dataspace.
- <p>
- <code>current_size</code> is an array of size <code>rank</code>
- which contains the new size of each dimension in the dataspace.
- <code>maximum_size</code> is an array of size <code>rank</code>
- which contains the maximum size of each dimension in the
- dataspace.
+ <dd><code>H5Sget_simple_extent_type</code> queries a dataspace to determine the
+ current class of a dataspace.
<p>
- Any previous extent is removed from the dataspace, the dataspace
- type is set to <code>H5S_SIMPLE</code>, and the extent is set as
- specified.
+ The function returns a class name, one of the following:
+ <code>H5S_SCALAR</code>,
+ <code>H5S_SIMPLE</code>, or
+ <code>H5S_NONE</code>.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
<dd>Dataspace identifier.
- <dt><em>int</em> <code>rank</code>
- <dd>Rank, or dimensionality, of the dataspace.
- <dt><em>const hsize_t *</em><code>current_size</code>
- <dd>Array containing current size of dataspace.
- <dt><em>const hsize_t *</em><code>maximum_size</code>
- <dd>Array containing maximum size of dataspace.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a dataspace identifier if successful;
- otherwise returns a negative value.
+ <dd>Returns a dataspace class name if successful;
+ otherwise H5S_NO_CLASS (-1).
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sset_extent_simple_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sget_simple_extent_type_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -743,7 +882,8 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sis_simple" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataspace-IsSimple">H5Sis_simple</a>
@@ -773,7 +913,8 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Soffset_simple" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataspace-OffsetSimple">H5Soffset_simple</a>
@@ -813,68 +954,34 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
-<!-- NOT YET IMPLEMENTED (R1.2 -- 9908)
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sselect_all" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-ExtentClass">H5Sextent_class</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SelectAll">H5Sselect_all</a>
<dt><strong>Signature:</strong>
- <dd><em>H5S_class_t</em> <code>H5Sextent_class</code>(<em>hid_t</em> <code>space_id</code>)
+ <dd><em>herr_t</em> <code>H5Sselect_all</code>(<em>hid_t</em> <code>space_id</code>)
<dt><strong>Purpose:</strong>
- <dd>Determine the current class of a dataspace.
+ <dd>Selects the entire dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Sextent_class</code> queries a dataspace to determine the
- current class of a dataspace.
- <p>
- The function returns a class name, one of the following:
- <code>H5S_SCALAR</code>,
- <code>H5S_SIMPLE</code>.
+ <dd><code>H5Sselect_all</code> selects the entire extent
+ of the dataspace <code>space_id</code>.
+ <p>
+ More specifically, <code>H5Sselect_all</code> selects
+ the special <tt>5S_SELECT_ALL</tt> region for the dataspace
+ <code>space_id</code>. <tt>H5S_SELECT_ALL</tt> selects the
+ entire dataspace for any dataspace it is applied to.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>Dataspace identifier.
- </dl>
-<dt><strong>Returns:</strong>
- <dd>Returns a dataspace class name if successful;
- otherwise H5S_NO_CLASS (-1).
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sextent_class_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
-</dl>
-
--->
-
-
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-ExtentCopy">H5Sextent_copy</a>
-<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Sextent_copy</code>(<em>hid_t</em> <code>dest_space_id</code>,
- <em>hid_t</em> <code>source_space_id</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Copies the extent of a dataspace.
-<dt><strong>Description:</strong>
- <dd><code>H5Sextent_copy</code> copies the extent from
- <code>source_space_id</code> to <code>dest_space_id</code>.
- This action may change the type of the dataspace.
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>hid_t</em> <code>dest_space_id</code>
- <dd>IN: The identifier for the dataspace to which
- the extent is copied.
- <dt><em>hid_t</em> <code>source_space_id</code>
- <dd>IN: The identifier for the dataspace from which
- the extent is copied.
+ <dd>IN: The identifier for the dataspace in which the
+ selection is being made.
</dl>
<dt><strong>Returns:</strong>
<dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sextent_copy_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sselect_all_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -882,28 +989,79 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sselect_elements" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SetExtentNone">H5Sset_extent_none</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SelectElements">H5Sselect_elements</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Sset_extent_none</code>(<em>hid_t</em> <code>space_id</code>)
+ <dd><em>herr_t</em> <code>H5Sselect_elements</code>(<em>hid_t </em><code>space_id</code>,
+ <em>H5S_seloper_t</em> <code>op</code>,
+ <em>const size_t</em> <code>num_elements</code>,
+ <em>const hssize_t *</em><code>coord</code>[ ]
+ )
<dt><strong>Purpose:</strong>
- <dd>Removes the extent from a dataspace.
+ <dd>Selects array elements to be included in the selection for a dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Sset_extent_none</code> removes the extent from
- a dataspace and sets the type to <tt>H5S_NO_CLASS</tt>.
+ <dd><code>H5Sselect_elements</code> selects array elements to be
+ included in the selection for the <code>space_id</code>
+ dataspace. The number of elements selected must be set with
+ the <code>num_elements</code>. The <code>coord</code> array
+ is a two-dimensional array of size <em>dataspace rank</em>
+ by <code>num_elements</code> (ie. a list of coordinates in
+ the array). The order of the element coordinates in the
+ <code>coord</code> array also specifies the order in which
+ the array elements are iterated through when I/O is performed.
+ Duplicate coordinate locations are not checked for.
+ <p>
+ The selection operator <code>op</code> determines how the
+ new selection is to be combined with the previously existing
+ selection for the dataspace.
+ The following operators are supported:
+ <center>
+ <table width=90% border=0>
+ <tr><td valign=top>
+ <code>H5S_SELECT_SET</code>
+ </td><td valign=top>
+ Replaces the existing selection with the parameters from this call.
+ Overlapping blocks are not supported with this operator.
+<!-- </td></tr><tr><td valign=top>
+ <code>H5S_SELECT_OR</code>
+ </td><td valign=top>
+--> Adds the new selection to the existing selection.
+ </td></tr><tr><td valign=top>
+ <code>H5S_SELECT_APPEND</code>
+ </td><td valign=top>
+ Adds the new selection following the last element of the existing selection.
+ </td></tr><tr><td valign=top>
+ <code>H5S_SELECT_PREPEND&nbsp;&nbsp;</code>
+ </td><td valign=top>
+ Adds the new selection preceding the first element of the existing selection.
+ </td></tr>
+ </table>
+ </center>
+<!-- When operator <code>H5S_SELECT_OR</code>
+ is used to combine a new selection with an existing selection,
+ the selection ordering is reset to C array ordering.
+-->
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>The identifier for the dataspace from which
- the extent is to be removed.
+ <dd>Identifier of the dataspace.
+ <dt><em>H5S_seloper_t</em> <code>op</code>
+ <dd>operator specifying how the new selection is to be
+ combined with the existing selection for the dataspace.
+ <dt><em>const size_t</em> <code>num_elements</code>
+ <dd>Number of elements to be selected.
+ <dt><em>const hssize_t *</em><code>coord</code>[ ]
+ <dd>A 2-dimensional array specifying the coordinates of the
+ elements being selected.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
+ <dd>Returns a non-negative value if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sset_extent_none_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sselect_elements_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -911,7 +1069,8 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sselect_hyperslab" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperslab">H5Sselect_hyperslab</a>
@@ -1047,29 +1206,29 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sselect_none" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperNBlocks">H5Sget_select_hyper_nblocks</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SelectNone">H5Sselect_none</a>
<dt><strong>Signature:</strong>
- <dd><em>hssize_t </em><code>H5Sget_select_hyper_nblocks</code>(<em>hid_t </em><code>space_id</code>
- )
+ <dd><em>herr_t</em> <code>H5Sselect_none</code>(<em>hid_t</em> <code>space_id</code>)
<dt><strong>Purpose:</strong>
- <dd>Get number of hyperslab blocks.
+ <dd>Resets the selection region to include no elements.
<dt><strong>Description:</strong>
- <dd><code>H5Sget_select_hyper_nblocks</code> returns the
- number of hyperslab blocks in the current dataspace selection.
+ <dd><code>H5Sselect_none</code> resets the selection region
+ for the dataspace <code>space_id</code> to include no elements.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>IN: Identifier of dataspace to query.
+ <dd>IN: The identifier for the dataspace in which the
+ selection is being reset.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns the number of hyperslab blocks in
- the current dataspace selection if successful.
- Otherwise returns a negative value.
+ <dd>Returns a non-negative value if successful;
+ otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_hyper_nblocks_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sselect_none_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -1077,58 +1236,32 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sselect_valid" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperBlockList">H5Sget_select_hyper_blocklist</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SelectValid">H5Sselect_valid</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Sget_select_hyper_blocklist</code>(<em>hid_t </em><code>space_id</code>,
- <em>hsize_t </em><code>startblock</code>,
- <em>hsize_t </em><code>numblocks</code>,
- <em>hsize_t *</em><code>buf</code>
- )
+ <dd><em>htri_t</em> <code>H5Sselect_valid</code>(<em>hid_t</em> <code>space_id</code>)
<dt><strong>Purpose:</strong>
- <dd>Gets the list of hyperslab blocks currently selected.
+ <dd>Verifies that the selection is within the extent of the dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Sget_select_hyper_blocklist</code> returns a list of
- the hyperslab blocks currently selected. Starting with the
- <code>startblock</code>-th block in the list of blocks,
- <code>numblocks</code> blocks are put into the user's buffer.
- If the user's buffer fills up before <code>numblocks</code>
- blocks are inserted, the buffer will contain only as many
- blocks as fit.
- <p>
- The block coordinates have the same dimensionality (rank)
- as the dataspace they are located within. The list of blocks
- is formatted as follows:
- <br>&nbsp;&nbsp;&nbsp;&nbsp;
- &lt;"start" coordinate&gt;, immediately followed by
- <br>&nbsp;&nbsp;&nbsp;&nbsp;
- &lt;"opposite" corner coordinate&gt;, followed by
- <br>&nbsp;&nbsp;&nbsp;&nbsp;
- the next "start" and "opposite" coordinates,
- <br>&nbsp;&nbsp;&nbsp;&nbsp;
- etc.
- <br>
- until all of the selected blocks have been listed.
- <p>
- No guarantee is implied as the order in which blocks are listed.
+ <dd><code>H5Sselect_valid</code> verifies that the selection
+ for the dataspace <code>space_id</code> is within the extent
+ of the dataspace if the current offset for the dataspace is used.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>IN: Dataspace identifier of selection to query.
- <dt><em>hsize_t </em><code>startblock</code>
- <dd>IN: Hyperslab block to start with.
- <dt><em>hsize_t </em><code>numblocks</code>
- <dd>IN: Number of hyperslab blocks to get.
- <dt><em>hsize_t *</em><code>buf</code>
- <dd>OUT: List of hyperslab blocks selected.
+ <dd>The identifier for the dataspace being queried.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
+ <dd>Returns a positive value, for <code>TRUE</code>,
+ if the selection is contained within the extent
+ or <code>0</code> (zero), for <code>FALSE</code>, if it is not.
+ Returns a negative value on error conditions
+ such as the selection or extent not being defined.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_hyper_blocklist_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sselect_valid_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -1136,29 +1269,29 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sset_extent_none" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SelectElemNPoints">H5Sget_select_elem_npoints</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SetExtentNone">H5Sset_extent_none</a>
<dt><strong>Signature:</strong>
- <dd><em>hssize_t </em><code>H5Sget_select_elem_npoints</code>(<em>hid_t </em><code>space_id</code>
- )
+ <dd><em>herr_t</em> <code>H5Sset_extent_none</code>(<em>hid_t</em> <code>space_id</code>)
<dt><strong>Purpose:</strong>
- <dd>Gets the number of element points in the current selection.
+ <dd>Removes the extent from a dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Sget_select_elem_npoints</code> returns
- the number of element points in the current dataspace selection.
+ <dd><code>H5Sset_extent_none</code> removes the extent from
+ a dataspace and sets the type to <tt>H5S_NO_CLASS</tt>.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>IN: Identifier of dataspace to query.
+ <dd>The identifier for the dataspace from which
+ the extent is to be removed.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns the number of element points in the current dataspace selection if successful.
- Otherwise returns a negative value.
+ <dd>Returns a non-negative value if successful;
+ otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_elem_npoints_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sset_extent_none_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -1166,57 +1299,51 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
</dl>
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Sset_extent_simple" -->
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SelectElemPointList">H5Sget_select_elem_pointlist</a>
+<dt><strong>Name:</strong> <a name="Dataspace-SetExtentSimple">H5Sset_extent_simple</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Sget_select_elem_pointlist</code>(<em>hid_t </em><code>space_id</code>,
- <em>hsize_t </em><code>startpoint</code>,
- <em>hsize_t </em><code>numpoints</code>,
- <em>hsize_t *</em><code>buf</code>
+ <dd><em>herr_t</em> <code>H5Sset_extent_simple</code>(<em>hid_t</em> <code>space_id</code>,
+ <em>int</em> <code>rank</code>,
+ <em>const hsize_t *</em><code>current_size</code>,
+ <em>const hsize_t *</em><code>maximum_size</code>
)
<dt><strong>Purpose:</strong>
- <dd>Gets the list of element points currently selected.
+ <dd>Sets or resets the size of an existing dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Sget_select_elem_pointlist</code> returns the list of
- element points in the current dataspace selection. Starting with
- the <code>startpoint</code>-th point in the list of points,
- <code>numpoints</code> points are put into the user's buffer.
- If the user's buffer fills up before <code>numpoints</code>
- points are inserted, the buffer will contain only as many
- points as fit.
+ <dd><code>H5Sset_extent_simple</code> sets or resets the size of
+ an existing dataspace.
<p>
- The element point coordinates have the same dimensionality (rank)
- as the dataspace they are located within. The list of element points
- is formatted as follows:
- <br>&nbsp;&nbsp;&nbsp;&nbsp;
- &lt;coordinate&gt;, followed by
- <br>&nbsp;&nbsp;&nbsp;&nbsp;
- the next coordinate,
- <br>&nbsp;&nbsp;&nbsp;&nbsp;
- etc.
- <br>
- until all of the selected element points have been listed.
+ <code>rank</code> is the dimensionality, or number of
+ dimensions, of the dataspace.
<p>
- The points are returned in the order they will be iterated through
- when the selection is read/written from/to disk.
+ <code>current_size</code> is an array of size <code>rank</code>
+ which contains the new size of each dimension in the dataspace.
+ <code>maximum_size</code> is an array of size <code>rank</code>
+ which contains the maximum size of each dimension in the
+ dataspace.
+ <p>
+ Any previous extent is removed from the dataspace, the dataspace
+ type is set to <code>H5S_SIMPLE</code>, and the extent is set as
+ specified.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>IN: Dataspace identifier of selection to query.
- <dt><em>hsize_t </em><code>startpoint</code>
- <dd>IN: Element point to start with.
- <dt><em>hsize_t </em><code>numpoints</code>
- <dd>IN: Number of element points to get.
- <dt><em>hsize_t *</em><code>buf</code>
- <dd>OUT: List of element points selected.
+ <dd>Dataspace identifier.
+ <dt><em>int</em> <code>rank</code>
+ <dd>Rank, or dimensionality, of the dataspace.
+ <dt><em>const hsize_t *</em><code>current_size</code>
+ <dd>Array containing current size of dataspace.
+ <dt><em>const hsize_t *</em><code>maximum_size</code>
+ <dd>Array containing maximum size of dataspace.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
+ <dd>Returns a dataspace identifier if successful;
otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_elem_pointlist_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sset_extent_simple_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
@@ -1225,62 +1352,38 @@ of the <cite>HDF5 User's Guide.</cite>.
</dl>
+<!-- NOT YET IMPLEMENTED (R1.2 -- 9908)
<hr>
<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-SelectBounds">H5Sget_select_bounds</a>
+<dt><strong>Name:</strong> <a name="Dataspace-ExtentClass">H5Sextent_class</a>
<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Sget_select_bounds</code>(<em>hid_t </em><code>space_id</code>,
- <em>hssize_t *</em><code>start</code>,
- <em>hssize_t *</em><code>end</code>
- )
+ <dd><em>H5S_class_t</em> <code>H5Sextent_class</code>(<em>hid_t</em> <code>space_id</code>)
<dt><strong>Purpose:</strong>
- <dd>Gets the bounding box containing the current selection.
+ <dd>Determine the current class of a dataspace.
<dt><strong>Description:</strong>
- <dd><code>H5Sget_select_bounds</code> retrieves the coordinates of
- the bounding box containing the current selection and places
- them into user-supplied buffers.
- <p>
- The <code>start</code> and <code>end</code> buffers must be large
- enough to hold the dataspace rank number of coordinates.
- <p>
- The bounding box exactly contains the selection.
- I.e., if a 2-dimensional element selection is currently
- defined as containing the points (4,5), (6,8), and (10,7),
- then the bounding box will be (4, 5), (10, 8).
- <p>
- The bounding box calculation includes the current offset of the
- selection within the dataspace extent.
+ <dd><code>H5Sextent_class</code> queries a dataspace to determine the
+ current class of a dataspace.
<p>
- Calling this function on a <code>none</code> selection will
- return <code>FAIL</code>.
+ The function returns a class name, one of the following:
+ <code>H5S_SCALAR</code>,
+ <code>H5S_SIMPLE</code>.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>space_id</code>
- <dd>IN: Identifier of dataspace to query.
- <dt><em>hssize_t *</em><code>start</code>
- <dd>OUT: Starting coordinates of the bounding box.
- <dt><em>hssize_t *</em><code>end</code>
- <dd>OUT: Ending coordinates of the bounding box,
- i.e., the coordinates of the diagonally opposite corner.
+ <dd>Dataspace identifier.
</dl>
<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<!--
+ <dd>Returns a dataspace class name if successful;
+ otherwise H5S_NO_CLASS (-1).
<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_bounds_f"
+ <dd><a href="fortran/h5s_FORTRAN.html#h5sextent_class_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
---> <!--
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
- -->
</dl>
-
-
-
-
+-->
<!--<hr>
@@ -1331,90 +1434,6 @@ of the <cite>HDF5 User's Guide.</cite>.
-->
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-GetSelectType">H5Sget_select_type</a>
-<dt><strong>Signature:</strong>
- <dd><em>H5S_sel_type</em> <code>H5Sget_select_type</code>(<em>hid_t</em> <code>space_id</code>)
-<dt><strong>Purpose:</strong>
- <dd>Determines the type of the dataspace selection.
-<dt><strong>Description:</strong>
- <dd><code>H5Sget_select_type</code> retrieves the
- type of selection currently defined for the dataspace
- <code>space_id</code>.
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>hid_t</em> <code>space_id</code>
- <dd>Dataspace identifier.
- </dl>
-<dt><strong>Returns:</strong>
- <dd>Returns the dataspace selection type, a value of
- the enumerated datatype <code>H5S_sel_type</code>,
- if successful.
- Valid return values are as follows:
- <center>
- <table width=90% border=0>
- <tr><td valign=top>
- <code>H5S_SEL_NONE</code>
- </td><td valign=top>
- No selection is defined.
- </td></tr><tr><td valign=top>
- <code>H5S_SEL_POINTS</code>
- </td><td valign=top>
- A sequence of points is selected.
- </td></tr><tr><td valign=top>
- <code>H5S_SEL_HYPERSLABS</code>
- </td><td valign=top>
- A hyperslab or compound hyperslab is selected.
- </td></tr><tr><td valign=top>
- <code>H5S_SEL_ALL</code>
- </td><td valign=top>
- The entire dataset is selected.
- </td></tr>
- </table>
- </center>
- Otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sget_select_type_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataspace-Close">H5Sclose</a>
-<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Sclose</code>(<em>hid_t </em><code>space_id</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Releases and terminates access to a dataspace.
-<dt><strong>Description:</strong>
- <dd><code>H5Sclose</code> releases a dataspace.
- Further access through the dataspace identifier is illegal.
- Failure to release a dataspace with this call will
- result in resource leaks.
-<dt><strong>Parameters:</strong>
- <dl>
- <dt><em>hid_t</em> <code>space_id</code>
- <dd>Identifier of dataspace to release.
- </dl>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5s_FORTRAN.html#h5sclose_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
<center>
<table border=0 width=98%>
@@ -1448,14 +1467,15 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
+<hr><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
<br>
Describes HDF5 Release 1.6.0, July 2003
-</address><!-- #EndLibraryItem -->
-
-Last modified: 10 June 2003
+</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
+<!--
+document.writeln("Last modified: 3 October 2003");
+-->
+</SCRIPT>
</body>
</html>
diff --git a/doc/html/RM_H5Z.html b/doc/html/RM_H5Z.html
index b73394b..87fb4e2 100644
--- a/doc/html/RM_H5Z.html
+++ b/doc/html/RM_H5Z.html
@@ -26,6 +26,7 @@ HDF5/H5Z API Specification
<!-- #EndLibraryItem --></head>
<body bgcolor="#FFFFFF">
+<!-- HEADER RIGHT " " -->
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
@@ -61,8 +62,7 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><center>
+<hr><!-- #EndLibraryItem --><center>
<h1>H5Z: Filter and Compression Interface</h1>
</center>
@@ -119,20 +119,20 @@ See <a href="Datasets.html"><cite>The Dataset Interface (H5D)</cite></a>
in the <cite>HDF5 User's Guide</cite> for further information regarding
data compression.
-<p>
+<br>
<strong>The FORTRAN90 Interfaces:</strong>
<br>
<font size=-1>
<i>In general, each FORTRAN90 subroutine performs exactly the same task
-as the corresponding C function. The links below go to the C function
+as the corresponding C function. The links below (electronic versions only) go to the C function
descriptions, which serve as general descriptions for both. A button,
under <strong>Non-C API(s)</strong> at the end of the C function description,
opens an external browser window displaying the FORTRAN90-specific
information. You will probably want to adjust the size and location of
this external window so that both browser windows are visible and to
facilitate moving easily between them.</i>
-</font>
+</font><br>
<table border=0 width=80%>
<tr><td valign=top>
@@ -151,7 +151,38 @@ facilitate moving easily between them.</i>
</td></tr>
</table>
+<!-- NEW PAGE -->
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Zfilter_avail" -->
+<hr>
+<dl>
+ <dt><strong>Name:</strong> <a name="Compression-FilterAvail">H5Zfilter_avail</a>
+ <dt><strong>Signature:</strong>
+ <dd><em>herr_t</em> <code>H5Zfilter_avail</code>(<em>H5Z_filter_t</em> <code>filter</code>)
+ <dt><strong>Purpose:</strong>
+ <dd>Determines whether a filter is available.
+ <dt><strong>Description:</strong>
+ <dd><code>H5Zfilter_avail</code> determines whether the filter
+ specified in <code>filter</code> is available to the application.
+ <dt><strong>Parameters:</strong>
+ <dl>
+ <dt><em>H5Z_filter_t</em> <code>filter</code>
+ <dd>IN: Filter identifier.
+ </dl>
+ <dt><strong>Returns:</strong>
+ <dd>Returns a non-negative value if successful;
+ otherwise returns a negative value.
+ <dt><strong>Non-C API(s):</strong>
+ <dd><a href="fortran/h5z_FORTRAN.html#h5zfilter_avail_f"
+ target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
+ <!--
+ <img src="Graphics/Java.gif">
+ <img src="Graphics/C++.gif">
+ -->
+</dl>
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Zregister" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Compression-Register">H5Zregister</a>
@@ -357,9 +388,8 @@ facilitate moving easily between them.</i>
-->
</dl>
-
-
-
+<!-- NEW PAGE -->
+<!-- HEADER RIGHT "H5Zunregister" -->
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Compression-Unregister">H5Zunregister</a>
@@ -391,39 +421,6 @@ facilitate moving easily between them.</i>
-->
</dl>
-<hr>
-<dl>
- <dt><strong>Name:</strong> <a name="Compression-FilterAvail">H5Zfilter_avail</a>
- <dt><strong>Signature:</strong>
- <dd><em>herr_t</em> <code>H5Zfilter_avail</code>(<em>H5Z_filter_t</em> <code>filter</code>)
- <dt><strong>Purpose:</strong>
- <dd>Determines whether a filter is available.
- <dt><strong>Description:</strong>
- <dd><code>H5Zfilter_avail</code> determines whether the filter
- specified in <code>filter</code> is available to the application.
- <dt><strong>Parameters:</strong>
- <dl>
- <dt><em>H5Z_filter_t</em> <code>filter</code>
- <dd>IN: Filter identifier.
- </dl>
- <dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
- <dt><strong>Non-C API(s):</strong>
- <dd><a href="fortran/h5z_FORTRAN.html#h5zfilter_avail_f"
- target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
- <!--
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-
-
-
-
-
-
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
<center>
@@ -458,14 +455,15 @@ And in this document, the
</td></tr>
</table>
</center>
-<hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
+<hr><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
<br>
Describes HDF5 Release 1.6.0, July 2003
-</address><!-- #EndLibraryItem -->
-
-Last modified: 10 June 2003
+</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
+<!--
+document.writeln("Last modified: 3 October 2003");
+-->
+</SCRIPT>
</body>
</html>