[svn-r6210]

Purpose:
    Adding H5Gmove2 and H5Glink2.
Description:
    Added H5Gmove2 and H5Glink2.
    Renamed H5Gmove parameters for consistency.
Platforms tested:
    IE 5
This commit is contained in:
Frank Baker 2002-12-16 16:45:09 -05:00
parent a30c07c9cf
commit 53886f93a6

View File

@ -59,14 +59,16 @@ of objects in an HDF5 file.
<li><a href="#Group-Create">H5Gcreate</a>
<li><a href="#Group-Open">H5Gopen</a>
<li><a href="#Group-Close">H5Gclose</a>
<li><a href="#Group-Iterate">H5Giterate</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
<li><a href="#Group-Link">H5Glink</a>
<li><a href="#Group-Unlink">H5Gunlink</a>
<li><a href="#Group-Iterate">H5Giterate</a>
<li><a href="#Group-Move">H5Gmove</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td valign=top> <ul>
<li><a href="#Group-Link">H5Glink</a>
<li><a href="#Group-Link2">H5Glink2</a>
<li><a href="#Group-Unlink">H5Gunlink</a>
<li><a href="#Group-Move">H5Gmove</a>
<li><a href="#Group-Move2">H5Gmove2</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
<li><a href="#Group-GetObjinfo">H5Gget_objinfo</a>
@ -98,15 +100,16 @@ facilitate moving easily between them.</i>
<li><a href="#Group-Create">h5gcreate_f</a>
<li><a href="#Group-Open">h5gopen_f</a>
<li><a href="#Group-Close">h5gclose_f</a>
<!--<li><a href="#Group-Link">h5glink_f</a>
-->
<li><a href="#Group-Iterate">h5gget_obj_info_idx_f</a>
<li><a href="#Group-Iterate">h5gn_members_f</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
<li><a href="#Group-Link">h5glink_f</a>
<li><a href="#Group-Link2">h5glink2_f</a>
<li><a href="#Group-Unlink">h5gunlink_f</a>
<li><a href="#Group-Iterate">h5gget_obj_info_idx_f</a>
<li><a href="#Group-Iterate">h5gn_members_f</a>
<li><a href="#Group-Move">h5gmove_f</a>
<li><a href="#Group-Move2">h5gmove2_f</a>
</ul>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
<ul>
@ -340,6 +343,69 @@ create or access function.
</dl>
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Group-Link2">H5Glink2</a>
<dt><strong>Signature:</strong>
<dd><em>herr_t</em> <code>H5Glink2</code>(
<em>hid_t</em> <code>curr_loc_id</code>, <em>const char *</em><code>current_name</code>,
<em>H5G_link_t</em> <code>link_type</code>,
<em>hid_t</em> <code>new_loc_id</code>, <em>const char *</em><code>new_name</code> )
<dt><strong>Purpose:</strong>
<dd>Creates a link of the specified type from <code>new_name</code>
to <code>current_name</code>.
<dt><strong>Description:</strong>
<dd><code>H5Glink2</code> creates a new name for an object that has some current
name, possibly one of many names it currently has.
<p>
If <code>link_type</code> is <code>H5G_LINK_HARD</code>, then <code>current_name</code>
must specify the name of an existing object.
In this case, <code>current_name</code> and <code>new_name</code> are interpreted
relative to <code>curr_loc_id</code> and <code>new_loc_id</code>, respectively,
which are either file or group identifiers.
<p>
If <code>link_type</code> is <code>H5G_LINK_SOFT</code>, then
<code>current_name</code> can be anything and is interpreted at
lookup time relative to the group which contains the final
component of <code>new_name</code>. For instance, if
<code>current_name</code> is <code>./foo</code>,
<code>new_name</code> is <code>./x/y/bar</code>, and a request
is made for <code>./x/y/bar</code>, then the actual object looked
up is <code>./x/y/./foo</code>.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>curr_loc_id</code>
<dd>IN: The file or group identifier for the original object.
<dt><em>const char *</em> <code>current_name</code>
<dd>IN: Name of the existing object if link is a hard link.
Can be anything for the soft link.
<dt><em>H5G_link_t</em> <code>link_type</code>
<dd>IN: Link type.
Possible values are <code>H5G_LINK_HARD</code> and
<code>H5G_LINK_SOFT</code>.
<dt><em>hid_t</em> <code>new_loc_id</code>
<dd>IN: The file or group identifier for the new link.
<dt><em>const char *</em> <code>new_name</code>
<dd>IN: New name for the object.
</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/h5g_FORTRAN.html#h5glink_f" target="FortWin" onClick="window.open(&quot;fortran/h5g_FORTRAN.html#h5glink_f&quot;,&quot;FortWin&nquot;,&quot;toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=1,width=500,height=250,titlebar=yes&quot;)"><img src="Graphics/FORTRAN.gif"></a>
-->
<dd><a href="fortran/h5g_FORTRAN.html#h5glink2_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="Group-Unlink">H5Gunlink</a>
@ -506,15 +572,15 @@ create or access function.
<dt><strong>Name:</strong> <a name="Group-Move">H5Gmove</a>
<dt><strong>Signature:</strong>
<dd><em>herr_t</em> <code>H5Gmove</code>(<em>hid_t</em> <code>loc_id</code>,
<em>const char</em> <code>*src</code>,
<em>const char</em> <code>*dst</code>
<em>const char</em> <code>*src_name</code>,
<em>const char</em> <code>*dst_name</code>
)
<dt><strong>Purpose:</strong>
<dd>Renames an object within an HDF5 file.
<dt><strong>Description:</strong>
<dd><code>H5Gmove</code> renames an object within an HDF5 file.
The original name, <code>src</code>, is unlinked from the
group graph and the new name, <code>dst</code>, is inserted
The original name, <code>src_name</code>, is unlinked from the
group graph and the new name, <code>dst_name</code>, is inserted
as an atomic operation. Both names are interpreted relative
to <code>loc_id</code>, which is either a file or a group
identifier.
@ -527,9 +593,9 @@ create or access function.
<dl>
<dt><em>hid_t</em> <code>loc_id</code>
<dd>IN: File or group identifier.
<dt><em>const char</em> <code>*src</code>
<dt><em>const char</em> <code>*src_name</code>
<dd>IN: Object's original name.
<dt><em>const char</em> <code>*dst</code>
<dt><em>const char</em> <code>*dst_name</code>
<dd>IN: Object's new name.
</dl>
<dt><strong>Returns:</strong>
@ -545,6 +611,51 @@ create or access function.
</dl>
<hr>
<dl>
<dt><strong>Name:</strong> <a name="Group-Move2">H5Gmove2</a>
<dt><strong>Signature:</strong>
<dd><em>herr_t</em> <code>H5Gmove2</code>( <em>hid_t</em> <code>src_loc_id</code>,
<em>const char</em> <code>*src_name</code>, <em>hid_t</em> <code>dst_loc_id</code>,
<em>const char</em> <code>*dst_name</code> )
<dt><strong>Purpose:</strong>
<dd>Renames an object within an HDF5 file.
<dt><strong>Description:</strong>
<dd><code>H5Gmove2</code> renames an object within an HDF5 file. The original
name, <code>src_name</code>, is unlinked from the group graph and the new
name, <code>dst_name</code>, is inserted as an atomic operation.
<p>
</p><code>src_name</code> and <code>dst_name</code> are interpreted relative to
<code>src_name</code> and <code>dst_name</code>, respectively,
which are either file or group identifiers.
<dt><strong>Warning:</strong>
<dd>Exercise care in moving groups as it is possible to render data in a file
inaccessible with <code>H5Gmove</code>. See <a href="Groups.html#H5GUnlinkToCorrupt">The
Group Interface</a> in the <cite>HDF5 User's Guide</cite>.
<dt><strong>Parameters:</strong>
<dl>
<dt><em>hid_t</em> <code>src_loc_id</code>
<dd>IN: Original file or group identifier.
<dt><em>const char</em> <code>*src_name</code>
<dd>IN: Object's original name.
<dt><em>hid_t</em> <code>dst_loc_id</code>
<dd>IN: Destination file or group identifier.
<dt><em>const char</em> <code>*dst_name</code>
<dd>IN: Object's new name.
</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/h5g_FORTRAN.html#h5gmove2_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="Group-GetObjinfo">H5Gget_objinfo</a>
@ -837,7 +948,7 @@ H5G&nbsp;&nbsp;
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
<br>
Last modified: 18 April 2002
Last modified: 12 August 2002
<br>
Describes HDF5 Release 1.5, Unreleased Development Branch