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.html1584
1 files changed, 0 insertions, 1584 deletions
diff --git a/doc/html/RM_H5D.html b/doc/html/RM_H5D.html
deleted file mode 100644
index f6e313a..0000000
--- a/doc/html/RM_H5D.html
+++ /dev/null
@@ -1,1584 +0,0 @@
-<html>
-<head><title>
-HDF5/H5D API Specification
-</title>
-
-<!-- #BeginLibraryItem "/ed_libs/styles_RM.lbi" -->
-
-<!--
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois. *
- * All rights reserved. *
- * *
- * This file is part of HDF5. The full HDF5 copyright notice, including *
- * terms governing use, modification, and redistribution, is contained in *
- * the files COPYING and Copyright.html. COPYING can be found at the root *
- * of the source code distribution tree; Copyright.html can be found at the *
- * root level of an installed copy of the electronic HDF5 document set and *
- * is linked from the top-level documents page. It can also be found at *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- -->
-
-<link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem --></head>
-
-<body bgcolor="#FFFFFF">
-<!-- HEADER RIGHT " " -->
-
-
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
-<center>
-<table border=0 width=98%>
-<tr><td valign=top align=left>
-<a href="index.html">HDF5 documents and links</a>&nbsp;<br>
-<a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
-<!--
-<a href="Glossary.html">Glossary</a><br>
--->
-</td>
-<td valign=top align=right>
-And in this document, the
-<a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;&nbsp;
-<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5im.html">H5IM</a>&nbsp;&nbsp;
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5lt.html">H5LT</a>&nbsp;&nbsp;
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5pt.html">H5PT</a>&nbsp;&nbsp;
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5tb.html">H5TB</a>&nbsp;&nbsp;
-<br>
-<a href="RM_H5.html">H5</a>&nbsp;&nbsp;
-<a href="RM_H5A.html">H5A</a>&nbsp;&nbsp;
-<a href="RM_H5D.html">H5D</a>&nbsp;&nbsp;
-<a href="RM_H5E.html">H5E</a>&nbsp;&nbsp;
-<a href="RM_H5F.html">H5F</a>&nbsp;&nbsp;
-<a href="RM_H5G.html">H5G</a>&nbsp;&nbsp;
-<a href="RM_H5I.html">H5I</a>&nbsp;&nbsp;
-<a href="RM_H5P.html">H5P</a>&nbsp;&nbsp;
-<br>
-<a href="RM_H5R.html">H5R</a>&nbsp;&nbsp;
-<a href="RM_H5S.html">H5S</a>&nbsp;&nbsp;
-<a href="RM_H5T.html">H5T</a>&nbsp;&nbsp;
-<a href="RM_H5Z.html">H5Z</a>&nbsp;&nbsp;
-<a href="Tools.html">Tools</a>&nbsp;&nbsp;
-<a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
-</td></tr>
-</table>
-</center>
-<hr><!-- #EndLibraryItem --><center>
-<h1>H5D: Datasets Interface</h1>
-</center>
-
-<h2>Dataset Object API Functions</h2>
-
-These functions create and manipulate dataset objects,
-and set and retrieve their constant or persistent properties.
-
-<p>
-<strong>The C Interfaces:</strong>
-
-<table border=0>
-<tr><td valign=top>
-<ul>
- <li><a href="#Dataset-Create">H5Dcreate</a>
- <li><a href="#Dataset-Open">H5Dopen</a>
- <li><a href="#Dataset-Close">H5Dclose</a>
- <li><a href="#Dataset-GetSpace">H5Dget_space</a>
- <li><a href="#Dataset-GetSpaceStatus">H5Dget_space_status</a>
-
-</ul>
-</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
-<ul>
- <li><a href="#Dataset-GetType">H5Dget_type</a>
- <li><a href="#Dataset-GetCreatePlist">H5Dget_create_plist</a>
- <li><a href="#Dataset-GetOffset">H5Dget_offset</a>
- <li><a href="#Dataset-GetStorageSize">H5Dget_storage_size</a>
- <li><a href="#Dataset-VLGetBuf">H5Dvlen_get_buf_size</a>
- <li><a href="#Dataset-VLReclaim">H5Dvlen_reclaim</a>
-</ul>
-</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
-<ul>
-<!--
- <li><a href="#Dataset-Debug">H5Ddebug</a>
- This function is in the distributed source code and is technically
- a public function, but it is NOT intended for public use.
- It is used only by certain tools.
- DO NOT list it in the Reference Manual.
- -->
- <li><a href="#Dataset-Read">H5Dread</a>
- <li><a href="#Dataset-Write">H5Dwrite</a>
- <li><a href="#Dataset-Iterate">H5Diterate</a>
- <li><a href="#Dataset-Extend">H5Dextend</a>
- <li><a href="#Dataset-Fill">H5Dfill</a>
-</ul>
-</td></tr>
-</table>
-<br>
-
-<i>Alphabetical Listing</i>
-
-<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>
- </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>
-
-<br>
-<strong>The FORTRAN90 Interfaces:</strong>
-<br>
-In general, each FORTRAN90 subroutine performs exactly the same task
-as the corresponding C function.
-<br>
-
-<table border=0>
-<tr><td valign=top>
-<ul>
- <li><a href="#Dataset-Create">h5dcreate_f</a>
- <li><a href="#Dataset-Open">h5dopen_f</a>
- <li><a href="#Dataset-Close">h5dclose_f</a>
- <li><a href="#Dataset-GetSpace">h5dget_space_f</a>
- <li><a href="#Dataset-GetSpaceStatus">h5dget_space_status_f</a>
-</ul>
-</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
-<ul>
- <li><a href="#Dataset-GetType">h5dget_type_f</a>
- <li><a href="#Dataset-GetCreatePlist">h5dget_create_plist_f</a>
- <li><a href="#Dataset-GetOffset">h5dget_offset_f</a>
- <li><a href="#Dataset-GetStorageSize">h5dget_storage_size_f</a>
- <li><a href="#Dataset-VLGetBuf">h5dvlen_get_max_len_f</a>
-<!--<li><a href="#Dataset-VLReclaim">h5dvlen_reclaim_f</a> -->
-</ul>
-</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
-<ul>
- <li><a href="#Dataset-Read">h5dread_f</a>
- <li><a href="#Dataset-Write">h5dwrite_f</a>
-<!--<li><a href="#Dataset-Iterate">h5diterate_f</a> -->
-<!--<li><a href="#Dataset-Debug">h5ddebug_f</a> -->
- <li><a href="#Dataset-Extend">h5dextend_f</a>
- <li><a href="#Dataset-Fill">h5dfill_f</a>
-</ul>
-</td></tr>
-</table>
-
-<!-- NEW PAGE -->
-<!-- HEADER RIGHT " " -->
-<!-- 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>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>dataset_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the dataset to close access to.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dclose_f
- <dd>
- <pre>
-SUBROUTINE h5dclose_f(dset_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dclose_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <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>
-<dt><strong>Signature:</strong>
- <dd><em>hid_t </em><code>H5Dcreate</code>(<em>hid_t </em><code>loc_id</code>,
- <em>const char *</em><code>name</code>,
- <em>hid_t</em> <code>type_id</code>,
- <em>hid_t</em> <code>space_id</code>,
- <em>hid_t</em> <code>create_plist_id</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Creates a dataset at the specified location.
-<dt><strong>Description:</strong>
- <dd><code>H5Dcreate</code> creates a data set with a name,
- <code>name</code>, in the file or in the group specified by
- the identifier <code>loc_id</code>.
- The dataset has the datatype and dataspace identified by
- <code>type_id</code> and <code>space_id</code>, respectively.
- The specified datatype and dataspace are the datatype and
- dataspace of the dataset as it will exist in the file,
- which may be different than in application memory.
- Dataset creation properties are specified by the argument
- <code>create_plist_id</code>.
- <p>
- Dataset names within a group are unique:
- <code>H5Dcreate</code> will return an error if a dataset with
- the name specified in <code>name</code> already exists at the
- location specified in <code>loc_id</code>.
- <p>
- <code>create_plist_id</code> is a <code>H5P_DATASET_CREATE</code>
- property list created with <code>H5Pcreate</code> and
- initialized with the various functions described above.
- <p>
- <code>H5Dcreate</code> returns an error if the dataset's datatype
- includes a variable-length (VL) datatype and the fill value
- is undefined, i.e., set to <code>NULL</code> in the
- dataset creation property list.
- Such a VL datatype may be directly included,
- indirectly included as part of a compound or array datatype, or
- indirectly included as part of a nested compound or array datatype.
- <p>
- <code>H5Dcreate</code> returns a dataset identifier for success
- or a negative value for failure.
- The dataset identifier should eventually be closed by
- calling <code>H5Dclose</code> to release resources it uses.
- <p>
- <strong>Fill values and space allocation:</strong><br>
- The HDF5 library provides flexible means
- of specifying a fill value,
- of specifying when space will be allocated for a dataset, and
- 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</cite></a>
- and the descriptions of the following HDF5 functions in this
- <cite>HDF5 Reference Manual</cite>:
- <table width=80% border="0">
- <tr valign="top" align="left"><td width=10%>&nbsp;
- </td><td width=45%>
- <a href="#Dataset-Fill"><code>H5Dfill</code></a><br>
- <a href="RM_H5P.html#Property-SetFillValue"><code>H5Pset_fill_value</code></a><br>
- <a href="RM_H5P.html#Property-GetFillValue"><code>H5Pget_fill_value</code></a><br>
- <a href="RM_H5P.html#Property-FillValueDefined"><code>H5Pfill_value_defined</code></a>
- </td><td width=45%>
- <a href="RM_H5P.html#Property-SetFillTime"><code>H5Pset_fill_time</code></a><br>
- <a href="RM_H5P.html#Property-GetFillTime"><code>H5Pget_fill_time</code></a><br>
- <a href="RM_H5P.html#Property-SetAllocTime"><code>H5Pset_alloc_time</code></a><br>
- <a href="RM_H5P.html#Property-GetAllocTime"><code>H5Pget_alloc_time</code></a>
- </td></tr>
- </table>
- This information is also included in the
- &ldquo;HDF5 Datasets&rdquo; chapter of
- the new <cite>HDF5 User's Guide</cite>,
- which is being prepared for release.
-<dt><strong>Note:</strong>
- <dd><code>H5Dcreate</code> can fail if there has been an error
- in setting up an element of the dataset creation property list.
- In such cases, each item in the property list must be examined
- to ensure that the setup satisfies to all required conditions.
- This problem is most likely to occur with the use of filters.
- <p>
- For example, <code>H5Dcreate</code> will fail without a meaningful
- explanation if
- <ul>
- <li>SZIP compression is being used on the dataset and
- <li>the SZIP parameter <code>pixels_per_block</code>
- is set to an inappropriate value.
- </ul>
- <p>
- In such a case, one would refer to the description of
- <a href="RM_H5P.html#Property-SetSzip"><code>H5Pset_szip</code></a>,
- looking for any conditions or requirements that might affect the
- local computing environment.
- <!--
- <p>
- Other known similar problems can occur with . . .
- -->
-<dt><strong>Parameters:</strong>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em> <code>loc_id</code></td>
- <td valign="top">IN: Identifier of the file or group
- within which to create the dataset.</td></tr>
- <tr>
- <td valign="top"><em>const char *</em> <code>name</code></td>
- <td valign="top">IN: The name of the dataset to create.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>type_id</code></td>
- <td valign="top">IN: Identifier of the datatype to use
- when creating the dataset.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>space_id</code></td>
- <td valign="top">IN: Identifier of the dataspace to use
- when creating the dataset.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>create_plist_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the set creation property list.</td></tr>
- </table></ul>
-<!-- NEW PAGE -->
-<dt><strong>Returns:</strong>
- <dd>Returns a dataset identifier if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dcreate_f
- <dd>
- <pre>
-SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, &
- hdferr, creation_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp
- ! Dataset creation propertly
- ! list identifier , default
- ! value is H5P_DEFAULT_F (6)
-END SUBROUTINE h5dcreate_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-<!-- NEW PAGE -->
-<!-- HEADER RIGHT "H5Dextend" -->
-<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>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em> <code>dataset_id</code></td>
- <td valign="top">IN: Identifier of the dataset.</td></tr>
- <tr>
- <td valign="top"><em>const&nbsp;hsize_t&nbsp;*</em>&nbsp;<code>size&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Array containing the new magnitude of each dimension.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dextend_f
- <dd>
- <pre>
-SUBROUTINE h5dextend_f(dataset_id, size, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
- ! Array containing
- ! dimensions' sizes
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dextend_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-<!-- NEW PAGE -->
-<!-- HEADER RIGHT "H5Dfill" -->
-<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>
- <ul><table>
- <tr>
- <td valign="top"><em>const void *</em><code>fill</code></td>
- <td valign="top">IN: Pointer to the fill value to be used.</td></tr>
- <tr>
- <td valign="top"><em>hid_t&nbsp;</em><code>fill_type_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Fill value datatype identifier.</td></tr>
- <tr>
- <td valign="top"><em>void *</em><code>buf</code></td>
- <td valign="top">IN/OUT: Pointer to the memory buffer containing the
- selection to be filled.</td></tr>
- <tr>
- <td valign="top"><em>hid_t </em><code>buf_type_id</code></td>
- <td valign="top">IN: Datatype of dataspace elements to be filled.</td></tr>
- <tr>
- <td valign="top"><em>hid_t </em><code>space_id</code></td>
- <td valign="top">IN: Dataspace describing memory buffer and
- containing the selection to be filled.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dfill_f
- <dd>
- <pre>
-SUBROUTINE h5dfill_f(fill_value, space_id, buf, hdferr)
- IMPLICIT NONE
- TYPE, INTENET(IN) :: fill_value ! Fill value; may be have one of the
- ! following types:
- ! INTEGER, REAL, DOUBLE PRECISION,
- ! CHARACTER
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- TYPE, DIMENSION(*) :: buf ! Memory buffer to fill in; must have
- ! the same datatype as fill value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dfill_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-<!-- NEW PAGE -->
-<!-- HEADER RIGHT "H5Dget_create_plist" -->
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataset-GetCreatePlist">H5Dget_create_plist</a>
-<dt><strong>Signature:</strong>
- <dd><em>hid_t </em><code>H5Dget_create_plist</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.
-<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.
-<dt><strong>Parameters:</strong>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>dataset_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the dataset to query.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a dataset creation property list identifier if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dget_create_plist_f
- <dd>
- <pre>
-SUBROUTINE h5dget_create_plist_f(dataset_id, creation_prp, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(OUT) :: creation_id ! Dataset creation
- ! property list identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dget_create_plist_f
-
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-<!-- NEW PAGE -->
-<!-- HEADER RIGHT "H5Dget_offset" -->
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataset-GetOffset">H5Dget_offset</a>
-<dt><strong>Signature:</strong>
- <dd><em>haddr_t </em><code>H5Dget_offset</code>(<em>hid_t </em><code>dset_id</code>)
-<dt><strong>Purpose:</strong>
- <dd>Returns dataset address in file.
-<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.
-<dt><strong>Parameters:</strong>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t&nbsp;</em><code>dset_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">Dataset identifier.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns the offset in bytes;
- otherwise returns <code>HADDR_UNDEF</code>, a negative value.
-<dt><strong>Fortran90 Interface:</strong>
- <dd>None.
-<!--
- <pre>
-SUBROUTINE
- </pre>
--->
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <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-GetSpace">H5Dget_space</a>
-<dt><strong>Signature:</strong>
- <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 dataspace for a dataset.
-<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.
-<dt><strong>Parameters:</strong>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>dataset_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the dataset to query.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a dataspace identifier if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dget_space_f
- <dd>
- <pre>
-SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dget_space_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-<!-- NEW PAGE -->
-<!-- HEADER RIGHT "H5Dget_space_status" -->
-<hr>
-<dl>
-<dt><strong>Name:</strong> <a name="Dataset-GetSpaceStatus">H5Dget_space_status</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>)
-<dt><strong>Purpose:</strong>
- <dd>Determines whether space has been allocated 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>
- <code>H5D_SPACE_STATUS_NOT_ALLOCATED</code>
- </td><td>
- Space has not been allocated for this dataset.
- </td></tr><tr valign="top"><td>
- <code>H5D_SPACE_STATUS_ALLOCATED</code>
- </td><td>
- Space has been allocated for this dataset.
- </td></tr><tr valign="top"><td>
- <code>H5D_SPACE_STATUS_PART_ALLOCATED</code>&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>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em> <code>dset_id</code></td>
- <td valign="top">IN: Identifier of the dataset to query.</td></tr>
- <tr>
- <td valign="top"><em>H5D_space_status_t&nbsp;*</em><code>status&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">OUT: Space allocation status.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dget_space_status_f
- <dd>
- <pre>
-SUBROUTINE h5dget_space_status_f(dset_id, flag, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER, INTENET(OUT) :: flag ! Status flag ; possible values:
- ! H5D_SPACE_STS_ERROR_F
- ! H5D_SPACE_STS_NOT_ALLOCATED_F
- ! H5D_SPACE_STS_PART_ALLOCATED_F
- ! H5D_SPACE_STS_ALLOCATED_F
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dget_space_status_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <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>
-<dt><strong>Signature:</strong>
- <dd><em>hsize_t </em><code>H5Dget_storage_size</code>(<em>hid_t </em><code>dataset_id</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Returns the amount of storage required for a dataset.
-<dt><strong>Description:</strong>
- <dd><code>H5Dget_storage_size</code> returns the amount of storage
- that is required for the specified dataset, <code>dataset_id</code>.
- For chunked datasets, this is the number of allocated chunks times
- the chunk size.
- The return value may be zero if no data has been stored.
-<dt><strong>Parameters:</strong>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>dataset_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the dataset to query.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns the amount of storage space allocated for the dataset,
- not counting meta data;
- otherwise returns 0 (zero).
-<dt><strong>Fortran90 Interface:</strong> h5dget_storage_size_f
- <dd>
- <pre>
-SUBROUTINE h5dget_storage_size_f(dset_id, size, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HSIZE_T), INTENT(OUT) :: size ! Amount of storage required
- ! for dataset
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dget_storage_size_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-<!-- NEW PAGE -->
-<!-- HEADER RIGHT "H5Dget_type" -->
-<hr>
-<dl>
-<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>Returns an identifier for a copy of the datatype for a dataset.
-<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.
-<dt><strong>Parameters:</strong>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>dataset_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the dataset to query.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a datatype identifier if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dget_type_f
- <dd>
- <pre>
-SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dget_type_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <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-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>
- <ul><table>
- <tr>
- <td valign="top"><em>void *</em><code>buf</code></td>
- <td valign="top">IN/OUT: Pointer to the buffer in memory containing the
- elements to iterate over.</td></tr>
- <tr>
- <td valign="top"><em>hid_t </em><code>type_id</code></td>
- <td valign="top">IN: Datatype identifier for the elements stored in
- <code>buf</code>.</td></tr>
- <tr>
- <td valign="top"><em>hid_t </em><code>space_id</code></td>
- <td valign="top">IN: Dataspace identifier for <code>buf</code>.
- Also contains the selection to iterate over.</td></tr>
- <tr>
- <td valign="top"><em>H5D_operator_t&nbsp;</em><code>operator&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Function pointer to the routine to be called
- for each element in <code>buf</code> iterated over.</td></tr>
- <tr>
- <td valign="top"><em>void *</em><code>operator_data</code></td>
- <td valign="top">IN/OUT: Pointer to any user-defined data associated
- with the operation.</td></tr>
- </table></ul>
-<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>Fortran90 Interface:</strong>
- <dd>None.
-<!--
- <pre>
-SUBROUTINE
- </pre>
--->
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</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>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em> <code>loc_id</code></td>
- <td valign="top">IN: Identifier of the file or group
- within which the dataset to be accessed will be found.</td></tr>
- <tr>
- <td valign="top"><em>const&nbsp;char&nbsp;*</em>&nbsp;<code>name&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: The name of the dataset to access.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a dataset identifier if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dopen_f
- <dd>
- <pre>
-SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
- INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dopen_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <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>
-<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Dread</code>(<em>hid_t </em><code>dataset_id</code>,
- <em>hid_t</em> <code>mem_type_id</code>,
- <em>hid_t</em> <code>mem_space_id</code>,
- <em>hid_t</em> <code>file_space_id</code>,
- <em>hid_t</em> <code>xfer_plist_id</code>,
- <em>void *</em> <code>buf</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Reads raw data from a dataset into a buffer.
-<dt><strong>Description:</strong>
- <dd><code>H5Dread</code> reads a (partial) dataset, specified by its
- identifier <code>dataset_id</code>, from the
- file into an application memory buffer <code>buf</code>.
- Data transfer properties are defined by the argument
- <code>xfer_plist_id</code>.
- The memory datatype of the (partial) dataset is identified by
- the identifier <code>mem_type_id</code>.
- The part of the dataset to read is defined by
- <code>mem_space_id</code> and <code>file_space_id</code>.
- <p>
- <code>file_space_id</code> is used to specify only the selection within
- the file dataset's dataspace. Any dataspace specified in <code>file_space_id</code>
- is ignored by the library and the dataset's dataspace is always used.
- <code>file_space_id</code> can be the constant <code>H5S_ALL</code>.
- which indicates that the entire file dataspace, as defined by the
- current dimensions of the dataset, is to be selected.
- <p>
- <code>mem_space_id</code> is used to specify both the memory dataspace
- and the selection within that dataspace.
- <code>mem_space_id</code> can be the constant <code>H5S_ALL</code>,
- in which case the file dataspace is used for the memory dataspace and
- the selection defined with <code>file_space_id</code> is used for the
- selection within that dataspace.
- <p>
- If raw data storage space has not been allocated for the dataset
- and a fill value has been defined, the returned buffer <code>buf</code>
- is filled with the fill value.
- <p>
- The behavior of the library for the various combinations of valid
- dataspace identifiers and H5S_ALL for the <code>mem_space_id</code> and the
- <code>file_space_id</code> parameters is described below:
-
- <br><br>
- <table border=0>
- <tr>
- <th>
- <code>mem_space_id&nbsp;&nbsp;</code>
- </th>
- <th>
- <code>file_space_id&nbsp;&nbsp;</code>
- </th>
- <th>
- Behavior
- </th>
- </tr>
-
- <tr valign="top">
- <td>
- valid dataspace identifier
- </td>
- <td>
- valid dataspace identifier
- </td>
- <td>
- <code>mem_space_id</code> specifies the memory dataspace and the
- selection within it.
- <code>file_space_id</code> specifies the selection within the file
- dataset's dataspace.
- </td>
- </tr>
-
- <tr valign="top">
- <td>
- <code>H5S_ALL</code>
- </td>
- <td>
- valid dataspace identifier
- </td>
- <td>
- The file dataset's dataspace is used for the memory dataspace and the
- selection specified with <code>file_space_id</code> specifies the
- selection within it.
- The combination of the file dataset's dataspace and the selection from
- <code>file_space_id</code> is used for memory also.
- </td>
- </tr>
-
- <tr valign="top">
- <td>
- valid dataspace identifier
- </td>
- <td>
- <code>H5S_ALL</code>
- </td>
- <td>
- <code>mem_space_id</code> specifies the memory dataspace and the
- selection within it.
- The selection within the file dataset's dataspace is set to the "all"
- selection.
- </td>
- </tr>
-
- <tr valign="top">
- <td>
- <code>H5S_ALL</code>
- </td>
- <td>
- <code>H5S_ALL</code>
- </td>
- <td>
- The file dataset's dataspace is used for the memory dataspace and the
- selection within the memory dataspace is set to the "all" selection.
- The selection within the file dataset's dataspace is set to the "all"
- selection.
- </td>
- </tr>
-
- </table>
-
- <p>
- Setting an <code>H5S_ALL</code> selection indicates that the entire dataspace, as
- defined by the current dimensions of a dataspace, will be selected.
- The number of elements selected in the memory dataspace must match the
- number of elements selected in the file dataspace.
- <p>
- <code>xfer_plist_id</code> can be the constant <code>H5P_DEFAULT</code>.
- in which case the default data transfer properties are used.
- <p>
- Data is automatically converted from the file datatype
- and dataspace to the memory datatype and dataspace
- at the time of the read. See the
- <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a>
- section of <cite>The Data Type Interface (H5T)</cite> in the
- <cite>HDF5 User's Guide</cite> for a discussion of
- data conversion, including the range of conversions currently
- supported by the HDF5 libraries.
-<dt><strong>Parameters:</strong>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em> <code>dataset_id</code></td>
- <td valign="top">IN: Identifier of the dataset read from.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>mem_type_id</code></td>
- <td valign="top">IN: Identifier of the memory datatype.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>mem_space_id</code></td>
- <td valign="top">IN: Identifier of the memory dataspace.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>file_space_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the dataset's dataspace in the file.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>xfer_plist_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of a transfer property list
- for this I/O operation.</td></tr>
- <tr>
- <td valign="top"><em>void *</em> <code>buf</code></td>
- <td valign="top">OUT: Buffer to receive data read from file.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dread_f
-
- <dd>
- <pre>
-SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, dims, hdferr, &amp;
- mem_space_id, file_space_id, xfer_prp)
-
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE, INTENT(INOUT) :: buf ! Data buffer; may be a scalar
- ! or an array
- DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims
- ! Array to hold corresponding
- ! dimension sizes of data
- ! buffer buf
- ! dim(k) has value of the k-th
- ! dimension of buffer buf
- ! Values are ignored if buf is
- ! a scalar
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- ! Default value is H5S_ALL_F
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- ! Default value is H5S_ALL_F
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
- ! Default value is H5P_DEFAULT_F
-END SUBROUTINE h5dread_f
- </pre>
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</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>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>dataset_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the dataset to query.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>type_id</code></td>
- <td valign="top">IN: Datatype identifier.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>space_id</code></td>
- <td valign="top">IN: Dataspace identifier.</td></tr>
- <tr>
- <td valign="top"><em>hsize_t</em> *<code>size</code></td>
- <td valign="top">OUT: The size in bytes of the memory
- buffer required to store the VL data.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dvlen_get_max_len_f
- <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
- <code>h5dvlen_get_max_len_f</code></a>.
- <br>
- <pre>
-SUBROUTINE h5dvlen_get_max_len_f(dset_id, size, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
-
- INTEGER(SIZE_T), INTENT(OUT) :: elem_len ! Maximum length of the element
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-END SUBROUTINE h5dvlen_get_max_len_f
- </pre>
-
- <!--
- <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>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em> <code>type_id</code></td>
- <td valign="top">IN: Identifier of the datatype.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>space_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the dataspace.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>plist_id</code></td>
- <td valign="top">IN: Identifier of the property list used to create the buffer.</td></tr>
- <tr>
- <td valign="top"><em>void</em> *<code>buf</code></td>
- <td valign="top">IN: Pointer to the buffer to be reclaimed.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong>
- <dd>None.
-<!--
- <pre>
-SUBROUTINE
- </pre>
--->
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <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>
-<dt><strong>Signature:</strong>
- <dd><em>herr_t </em><code>H5Dwrite</code>(<em>hid_t </em><code>dataset_id</code>,
- <em>hid_t</em> <code>mem_type_id</code>,
- <em>hid_t</em> <code>mem_space_id</code>,
- <em>hid_t</em> <code>file_space_id</code>,
- <em>hid_t</em> <code>xfer_plist_id</code>,
- <em>const void *</em> <code>buf</code>
- )
-<dt><strong>Purpose:</strong>
- <dd>Writes raw data from a buffer to a dataset.
-<dt><strong>Description:</strong>
- <dd><code>H5Dwrite</code> writes a (partial) dataset, specified by its
- identifier <code>dataset_id</code>, from the
- application memory buffer <code>buf</code> into the file.
- Data transfer properties are defined by the argument
- <code>xfer_plist_id</code>.
- The memory datatype of the (partial) dataset is identified by
- the identifier <code>mem_type_id</code>.
- The part of the dataset to write is defined by
- <code>mem_space_id</code> and <code>file_space_id</code>.
- <p>
- <code>file_space_id</code> is used to specify only the selection within
- the file dataset's dataspace. Any dataspace specified in <code>file_space_id</code>
- is ignored by the library and the dataset's dataspace is always used.
- <code>file_space_id</code> can be the constant <code>H5S_ALL</code>.
- which indicates that the entire file dataspace, as defined by the
- current dimensions of the dataset, is to be selected.
- <p>
- <code>mem_space_id</code> is used to specify both the memory dataspace
- and the selection within that dataspace.
- <code>mem_space_id</code> can be the constant <code>H5S_ALL</code>,
- in which case the file dataspace is used for the memory dataspace and
- the selection defined with <code>file_space_id</code> is used for the
- selection within that dataspace.
- <p>
- The behavior of the library for the various combinations of valid
- dataspace IDs and H5S_ALL for the <code>mem_space_id</code> and the
- <code>file_space_id</code> parameters is described below:
-
- <br><br>
- <table border=0>
- <tr>
- <th>
- <code>mem_space_id&nbsp;&nbsp;</code>
- </th>
- <th>
- <code>file_space_id&nbsp;&nbsp;</code>
- </th>
- <th>
- Behavior
- </th>
- </tr>
-
- <tr valign="top">
- <td>
- valid dataspace identifier
- </td>
- <td>
- valid dataspace identifier
- </td>
- <td>
- <code>mem_space_id</code> specifies the memory dataspace and the
- selection within it.
- <code>file_space_id</code> specifies the selection within the file
- dataset's dataspace.
- </td>
- </tr>
-
- <tr valign="top">
- <td>
- H5S_ALL
- </td>
- <td>
- valid dataspace identifier
- </td>
- <td>
- The file dataset's dataspace is used for the memory dataspace and the
- selection specified with <code>file_space_id</code> specifies the
- selection within it.
- The combination of the file dataset's dataspace and the selection from
- <code>file_space_id</code> is used for memory also.
- </td>
- </tr>
-
- <tr valign="top">
- <td>
- valid dataspace identifier
- </td>
- <td>
- H5S_ALL
- </td>
- <td>
- <code>mem_space_id</code> specifies the memory dataspace and the
- selection within it.
- The selection within the file dataset's dataspace is set to the "all"
- selection.
- </td>
- </tr>
-
- <tr valign="top">
- <td>
- H5S_ALL
- </td>
- <td>
- H5S_ALL
- </td>
- <td>
- The file dataset's dataspace is used for the memory dataspace and the
- selection within the memory dataspace is set to the "all" selection.
- The selection within the file dataset's dataspace is set to the "all"
- selection.
- </td>
- </tr>
- </table>
-
- <p>
- Setting an "all" selection indicates that the entire dataspace, as
- defined by the current dimensions of a dataspace, will be selected.
- The number of elements selected in the memory dataspace must match the
- number of elements selected in the file dataspace.
- <p>
- <code>xfer_plist_id</code> can be the constant <code>H5P_DEFAULT</code>.
- in which case the default data transfer properties are used.
- <p>
- Writing to an dataset will fail if the HDF5 file was
- not opened with write access permissions.
- <p>
- Data is automatically converted from the memory datatype
- and dataspace to the file datatype and dataspace
- at the time of the write. See the
- <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a>
- section of <cite>The Data Type Interface (H5T)</cite> in the
- <cite>HDF5 User's Guide</cite> for a discussion of
- data conversion, including the range of conversions currently
- supported by the HDF5 libraries.
- <p>
- If the dataset's space allocation time is set to
- <code>H5D_ALLOC_TIME_LATE</code> or <code>H5D_ALLOC_TIME_INCR</code>
- and the space for the dataset has not yet been allocated,
- that space is allocated when the first raw data is written to the
- dataset.
- Unused space in the dataset will be written with fill values at the
- same time 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>.)
- <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>
- <ul><table>
- <tr>
- <td valign="top"><em>hid_t</em> <code>dataset_id</code></td>
- <td valign="top">IN: Identifier of the dataset to write to.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>mem_type_id</code></td>
- <td valign="top">IN: Identifier of the memory datatype.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>mem_space_id</code></td>
- <td valign="top">IN: Identifier of the memory dataspace.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em>&nbsp;<code>file_space_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
- <td valign="top">IN: Identifier of the dataset's dataspace in the file.</td></tr>
- <tr>
- <td valign="top"><em>hid_t</em> <code>xfer_plist_id</code></td>
- <td valign="top">IN: Identifier of a transfer property list
- for this I/O operation.</td></tr>
- <tr>
- <td valign="top"><em>const void *</em> <code>buf</code></td>
- <td valign="top">IN: Buffer with data to be written to the file.</td></tr>
- </table></ul>
-<dt><strong>Returns:</strong>
- <dd>Returns a non-negative value if successful;
- otherwise returns a negative value.
-<dt><strong>Fortran90 Interface:</strong> h5dwrite_f
-
- <dd>
- <pre>
-SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, dims, hdferr, &amp;
- mem_space_id, file_space_id, xfer_prp)
-
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE, INTENT(IN) :: buf ! Data buffer; may be a scalar
- ! or an array</pre>
-<!-- NEW PAGE -->
-<pre>
- DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims
- ! Array to hold corresponding
- ! dimension sizes of data
- ! buffer buf; dim(k) has value
- ! of the k-th dimension of
- ! buffer buf; values are
- ! ignored if buf is a scalar
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- ! Default value is H5S_ALL_F
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- ! Default value is H5S_ALL_F
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list
- ! identifier; default value
- ! is H5P_DEFAULT_F
-
-END SUBROUTINE h5dwrite_f
- </pre>
-
-
- <!--<dt><strong>Non-C API(s):</strong>
- <dd>
-
- <img src="Graphics/Java.gif">
- <img src="Graphics/C++.gif">
- -->
-</dl>
-
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
-<center>
-<table border=0 width=98%>
-<tr><td valign=top align=left>
-<a href="index.html">HDF5 documents and links</a>&nbsp;<br>
-<a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
-<!--
-<a href="Glossary.html">Glossary</a><br>
--->
-</td>
-<td valign=top align=right>
-And in this document, the
-<a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;&nbsp;
-<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5im.html">H5IM</a>&nbsp;&nbsp;
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5lt.html">H5LT</a>&nbsp;&nbsp;
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5pt.html">H5PT</a>&nbsp;&nbsp;
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5tb.html">H5TB</a>&nbsp;&nbsp;
-<br>
-<a href="RM_H5.html">H5</a>&nbsp;&nbsp;
-<a href="RM_H5A.html">H5A</a>&nbsp;&nbsp;
-<a href="RM_H5D.html">H5D</a>&nbsp;&nbsp;
-<a href="RM_H5E.html">H5E</a>&nbsp;&nbsp;
-<a href="RM_H5F.html">H5F</a>&nbsp;&nbsp;
-<a href="RM_H5G.html">H5G</a>&nbsp;&nbsp;
-<a href="RM_H5I.html">H5I</a>&nbsp;&nbsp;
-<a href="RM_H5P.html">H5P</a>&nbsp;&nbsp;
-<br>
-<a href="RM_H5R.html">H5R</a>&nbsp;&nbsp;
-<a href="RM_H5S.html">H5S</a>&nbsp;&nbsp;
-<a href="RM_H5T.html">H5T</a>&nbsp;&nbsp;
-<a href="RM_H5Z.html">H5Z</a>&nbsp;&nbsp;
-<a href="Tools.html">Tools</a>&nbsp;&nbsp;
-<a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
-</td></tr>
-</table>
-</center>
-<hr><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
-<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
-<br>
-Describes HDF5 Release 1.7, the unreleased development branch; working toward HDF5 Release 1.8.0
-</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
-<!--
-document.writeln("Last modified: 2 August 2004");
--->
-</SCRIPT>
-
-</body>
-</html>