hdf5/doc/html/RM_H5I.html
Frank Baker 4146d79af1 [svn-r7159]
Purpose:
    Changed "HDF5 User's Guide" links (in navigation bars, primarily)
    to point to new user's guide, which will reside for a while yet on
    the HDF server.
    The old user's guide will still go out with the distribution under
    the label "HDF5 User's Guide, Release 1.4.5."

Platforms tested:
    IE 5
2003-07-03 14:40:03 -05:00

284 lines
9.7 KiB
HTML

<html>
<head><title>
HDF5/H5I 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">
<!-- #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="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>H5I: Identifier Interface</h1>
</center>
<h2>Identifier API Functions</h2>
These functions provides tools for working with object identifiers and
object names.
<p>
<strong>The C Interface:</strong>
<table border=0>
<tr><td valign=top>
<ul>
<li><a href="#Identify-GetName">H5Iget_name</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
<li><a href="#Identify-GetType">H5Iget_type</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
&nbsp;
</ul>
</td></tr>
</table>
<p>
<strong>The FORTRAN90 Interface:</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
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>
<table border=0>
<tr><td valign=top>
<ul>
<li><a href="#Identify-GetName">h5iget_name_f</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
<li><a href="#Identify-GetType">h5iget_type_f</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
&nbsp;
</ul>
</td></tr>
</table>
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Identify-GetType">H5Iget_type</a>
<dt><strong>Signature:</strong>
<dd><em>H5I_type_t</em> <code>H5Iget_type</code>(<em>hid_t</em> <code>obj_id</code>)
<dt><strong>Purpose:</strong>
<dd>Retrieves the type of an object.
<dt><strong>Description:</strong>
<dd><code>H5Iget_type</code> retrieves the type of the object
identified by <code>obj_id</code>.
<p>
Valid types returned by the function are
<table>
<tr><td width=200><code>&nbsp;&nbsp;&nbsp;&nbsp;H5I_FILE</code>
</td><td>File</td></tr>
<tr><td><code>&nbsp;&nbsp;&nbsp;&nbsp;H5I_GROUP</code>
</td><td>Group</td></tr>
<tr><td><code>&nbsp;&nbsp;&nbsp;&nbsp;H5I_DATATYPE</code>
</td><td>Datatype</td></tr>
<tr><td><code>&nbsp;&nbsp;&nbsp;&nbsp;H5I_DATASPACE</code>
</td><td>Dataspace</td></tr>
<tr><td><code>&nbsp;&nbsp;&nbsp;&nbsp;H5I_DATASET</code>
</td><td>Dataset</td></tr>
<tr><td><code>&nbsp;&nbsp;&nbsp;&nbsp;H5I_ATTR</code>
</td><td>Attribute</td></tr>
</table>
If no valid type can be determined or the identifier
submitted is invalid, the function returns
<table>
<tr><td width=200><code>&nbsp;&nbsp;&nbsp;&nbsp;H5I_BADID</code>
</td><td>Invalid identifier</td></tr>
</table>
<p>
This function is of particular value in determining the
type of object closing function (<code>H5Dclose</code>,
<code>H5Gclose</code>, etc.) to call after a call to
<code>H5Rdereference</code>.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>obj_id</code>
<dd>IN: Object identifier whose type is to be determined.
</dl>
<dt><strong>Returns:</strong>
<dd>Returns the object type if successful;
otherwise <code>H5I_BADID</code>.
<dt><strong>Non-C API(s):</strong>
<dd><a href="fortran/h5i_FORTRAN.html#h5iget_type_f"
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
<!--
<img src="Graphics/Java.gif">
<img src="Graphics/C++.gif">
-->
</dl>
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Identify-GetName">H5Iget_name</a>
<dt><strong>Signature:</strong>
<dd><em>ssize_t</em> <code>H5Iget_name</code>(<em>hid_t</em> <code>obj_id</code>,
<em>char *</em><code>name</code>,
<em>size_t</em> <code>size</code>
)
<dt><strong>Purpose:</strong> </dt>
<dd>Retrieves a name of an object based on the object identifier.
<dt><strong>Description:</strong>
<dd><code>H5Iget_name</code> retrieves a name for the object identified
by <code>obj_id</code>.
<p>
Up to <code>size</code> characters of the name are returned in
<code>name</code>; additional characters, if any, are not returned
to the user application.
<p>
If the length of the name, which determines the required
value of <code>size</code>, is unknown, a preliminary
<code>H5Iget_name</code> call can be made.
The return value of this call will be the size of the
object name.
That value can then be assigned to <code>size</code>
for a second <code>H5Iget_name</code> call,
which will retrieve the actual name.
<p>
If there is no name associated with the object identifier
or if the name is <code>NULL</code>, <code>H5Iget_name</code>
returns <code>0</code> (zero).
<p>
Note that an object in an HDF5 file may have multiple names,
varying according to the path through the HDF5 group
hierarchy used to reach that object.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>obj_id</code>
<dd>IN: Identifier of the object.
This identifier can refer to a group, dataset, or
named datatype.
<dt><em>char *</em><code>name</code>
<dd>OUT: A name associated with the identifier.
<dt><em>size_t size</em>
<dd>IN: The size of the <code>name</code> buffer.
</dl>
<dt><strong>Returns:</strong>
<dd>Returns the length of the name if successful,
returning <code>0</code> (zero) if no name is associated with the identifier.
Otherwise returns a negative value.
<dt><strong>Non-C API(s):</strong>
<dd><a href="fortran/h5i_FORTRAN.html#h5iget_name_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%>
<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="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.6.0, July 2003
</address><!-- #EndLibraryItem -->
Last modified: 10 June 2003
</body>
</html>