summaryrefslogtreecommitdiffstats
path: root/doc/html/RM_H5D.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/RM_H5D.html')
-rw-r--r--doc/html/RM_H5D.html807
1 files changed, 418 insertions, 389 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>