summaryrefslogtreecommitdiffstats
path: root/group___h5_l_a.html
diff options
context:
space:
mode:
authorbyrnHDF <byrnHDF@users.noreply.github.com>2023-06-26 19:22:17 (GMT)
committerbyrnHDF <byrnHDF@users.noreply.github.com>2023-06-26 19:22:17 (GMT)
commitd12e43bc201e15edffcdf94fe820aeae6ab44882 (patch)
tree90aa12006b20849b65b7bc8e3d4fe60a488f7247 /group___h5_l_a.html
parent4d49d1ee001bd4dff6b01e1830902bee22a19f3e (diff)
downloadhdf5-d12e43bc201e15edffcdf94fe820aeae6ab44882.zip
hdf5-d12e43bc201e15edffcdf94fe820aeae6ab44882.tar.gz
hdf5-d12e43bc201e15edffcdf94fe820aeae6ab44882.tar.bz2
deploy: ab4d2aec9779b7a37747c95bd7b514417b299f73
Diffstat (limited to 'group___h5_l_a.html')
-rw-r--r--group___h5_l_a.html311
1 files changed, 311 insertions, 0 deletions
diff --git a/group___h5_l_a.html b/group___h5_l_a.html
new file mode 100644
index 0000000..426b10d
--- /dev/null
+++ b/group___h5_l_a.html
@@ -0,0 +1,311 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>HDF5: Advanced Link Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+ $(document).ready(function() { init_search(); });
+/* @license-end */
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="hdf5doxy.css" rel="stylesheet" type="text/css">
+<!-- <link href="hdf5doxy.css" rel="stylesheet" type="text/css"/>
+ -->
+<script type="text/javascript" src="hdf5_navtree_hacks.js"></script>
+</head>
+<body>
+<div style="background:#FFDDDD;font-size:120%;text-align:center;margin:0;padding:5px">Please, help us to better serve our user community by answering the following short survey: <a href="https://www.hdfgroup.org/website-survey/">https://www.hdfgroup.org/website-survey/</a></div>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="HDFG-logo.png"/></td>
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname"><a href="https://www.hdfgroup.org">HDF5</a>
+ &#160;<span id="projectnumber">1.15.0.ab4d2ae</span>
+ </div>
+ <div id="projectbrief">API Reference</div>
+ </td>
+ <td> <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.svg"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
+ </span>
+ </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.1 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license-end */
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('group___h5_l_a.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Advanced Link Functions<div class="ingroups"><a class="el" href="group___h5_l.html">Links (H5L)</a></div></div> </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
+ <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for Advanced Link Functions:</div>
+<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
+</div>
+<div id="dynsection-0-content" class="dyncontent" style="display:none;">
+<div class="center"><img src="group___h5_l_a.png" border="0" usemap="#agroup______h5__l__a" alt=""/></div>
+<map name="agroup______h5__l__a" id="agroup______h5__l__a">
+<area shape="rect" href="group___h5_l.html" title=" " alt="" coords="5,5,100,31"/>
+<area shape="rect" title=" " alt="" coords="148,5,331,31"/>
+</map>
+</div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga5073a814de9878bad53e1d3c900ea77f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f">H5Lregister</a> (const <a class="el" href="struct_h5_l__class__t.html">H5L_class_t</a> *cls)</td></tr>
+<tr class="memdesc:ga5073a814de9878bad53e1d3c900ea77f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a user-defined link class or changes behavior of an existing class. <a href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f">More...</a><br /></td></tr>
+<tr class="separator:ga5073a814de9878bad53e1d3c900ea77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga01ddc889d27306a96a7cd27b6084a5ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l_a.html#ga01ddc889d27306a96a7cd27b6084a5ec">H5Lunregister</a> (<a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a> id)</td></tr>
+<tr class="memdesc:ga01ddc889d27306a96a7cd27b6084a5ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unregisters a class of user-defined links. <a href="group___h5_l_a.html#ga01ddc889d27306a96a7cd27b6084a5ec">More...</a><br /></td></tr>
+<tr class="separator:ga01ddc889d27306a96a7cd27b6084a5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga02c1cf38efea97d18e5e2f65df3f08a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l_a.html#ga02c1cf38efea97d18e5e2f65df3f08a2">H5Lis_registered</a> (<a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a> id)</td></tr>
+<tr class="memdesc:ga02c1cf38efea97d18e5e2f65df3f08a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether a class of user-defined links is registered. <a href="group___h5_l_a.html#ga02c1cf38efea97d18e5e2f65df3f08a2">More...</a><br /></td></tr>
+<tr class="separator:ga02c1cf38efea97d18e5e2f65df3f08a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ga02c1cf38efea97d18e5e2f65df3f08a2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga02c1cf38efea97d18e5e2f65df3f08a2">&#9670;&nbsp;</a></span>H5Lis_registered()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a> H5Lis_registered </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a>&#160;</td>
+ <td class="paramname"><em>id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Determines whether a class of user-defined links is registered. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>User-defined link class identifier</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns zero (false), a positive (true) or a negative (failure) value.</dd></dl>
+<p><a class="el" href="group___h5_l_a.html#ga02c1cf38efea97d18e5e2f65df3f08a2" title="Determines whether a class of user-defined links is registered.">H5Lis_registered()</a> tests whether a user-defined link class is currently registered, either by the HDF5 library or by the user through the use of <a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister()</a>.</p>
+<dl class="section note"><dt>Note</dt><dd>A link class must be registered to create new links of that type or to traverse existing links of that type.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
+
+</div>
+</div>
+<a id="ga5073a814de9878bad53e1d3c900ea77f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga5073a814de9878bad53e1d3c900ea77f">&#9670;&nbsp;</a></span>H5Lregister()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lregister </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="struct_h5_l__class__t.html">H5L_class_t</a> *&#160;</td>
+ <td class="paramname"><em>cls</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Registers a user-defined link class or changes behavior of an existing class. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">cls</td><td>Pointer to a buffer containing the struct describing the user-defined link class</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a non-negative value if successful; otherwise, returns a negative value.</dd></dl>
+<p><a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister()</a> registers a class of user-defined links, or changes the behavior of an existing class.</p>
+<p><code>cls</code> is a pointer to a buffer containing a copy of the <a class="el" href="struct_h5_l__class__t.html" title="Link prototype.">H5L_class_t</a> struct. This struct is defined in <a class="el" href="_h5_lpublic_8h.html">H5Lpublic.h</a> as follows: </p><div class="fragment"><div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line"> <span class="keywordtype">int</span> version; </div>
+<div class="line"> <a class="code" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a> id; </div>
+<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *comment; </div>
+<div class="line"> <a class="code" href="_h5_ldevelop_8h.html#a35f5eeac9ed28bfcc94d5037cac5af4a">H5L_create_func_t</a> create_func; </div>
+<div class="line"> <a class="code" href="_h5_ldevelop_8h.html#a923e0abe07eacf3101ba6e717665edf1">H5L_move_func_t</a> move_func; </div>
+<div class="line"> <a class="code" href="_h5_ldevelop_8h.html#a5800df80f7709b30fa99dfc5166468e5">H5L_copy_func_t</a> copy_func; </div>
+<div class="line"> <a class="code" href="_h5_ldevelop_8h.html#a7daba3925a1b3b28a1944788d2a88597">H5L_traverse_func_t</a> trav_func; </div>
+<div class="line"> <a class="code" href="_h5_ldevelop_8h.html#a4ef5c91e382760e74fb95a480f0773ca">H5L_delete_func_t</a> del_func; </div>
+<div class="line"> <a class="code" href="_h5_ldevelop_8h.html#a4ed3f3e89fe170d547cefd7d68549632">H5L_query_func_t</a> query_func; </div>
+<div class="line">} <a class="code" href="struct_h5_l__class__t.html">H5L_class_t</a>;</div>
+<div class="ttc" id="a_h5_ldevelop_8h_html_a35f5eeac9ed28bfcc94d5037cac5af4a"><div class="ttname"><a href="_h5_ldevelop_8h.html#a35f5eeac9ed28bfcc94d5037cac5af4a">H5L_create_func_t</a></div><div class="ttdeci">herr_t(* H5L_create_func_t)(const char *link_name, hid_t loc_group, const void *lnkdata, size_t lnkdata_size, hid_t lcpl_id)</div><div class="ttdoc">Link creation callback.</div><div class="ttdef"><b>Definition:</b> H5Ldevelop.h:55</div></div>
+<div class="ttc" id="a_h5_ldevelop_8h_html_a4ed3f3e89fe170d547cefd7d68549632"><div class="ttname"><a href="_h5_ldevelop_8h.html#a4ed3f3e89fe170d547cefd7d68549632">H5L_query_func_t</a></div><div class="ttdeci">ssize_t(* H5L_query_func_t)(const char *link_name, const void *lnkdata, size_t lnkdata_size, void *buf, size_t buf_size)</div><div class="ttdoc">Callback for querying the link.</div><div class="ttdef"><b>Definition:</b> H5Ldevelop.h:82</div></div>
+<div class="ttc" id="a_h5_ldevelop_8h_html_a4ef5c91e382760e74fb95a480f0773ca"><div class="ttname"><a href="_h5_ldevelop_8h.html#a4ef5c91e382760e74fb95a480f0773ca">H5L_delete_func_t</a></div><div class="ttdeci">herr_t(* H5L_delete_func_t)(const char *link_name, hid_t file, const void *lnkdata, size_t lnkdata_size)</div><div class="ttdoc">Callback for link deletion.</div><div class="ttdef"><b>Definition:</b> H5Ldevelop.h:75</div></div>
+<div class="ttc" id="a_h5_ldevelop_8h_html_a5800df80f7709b30fa99dfc5166468e5"><div class="ttname"><a href="_h5_ldevelop_8h.html#a5800df80f7709b30fa99dfc5166468e5">H5L_copy_func_t</a></div><div class="ttdeci">herr_t(* H5L_copy_func_t)(const char *new_name, hid_t new_loc, const void *lnkdata, size_t lnkdata_size)</div><div class="ttdoc">Callback for link copy.</div><div class="ttdef"><b>Definition:</b> H5Ldevelop.h:65</div></div>
+<div class="ttc" id="a_h5_ldevelop_8h_html_a7daba3925a1b3b28a1944788d2a88597"><div class="ttname"><a href="_h5_ldevelop_8h.html#a7daba3925a1b3b28a1944788d2a88597">H5L_traverse_func_t</a></div><div class="ttdeci">hid_t(* H5L_traverse_func_t)(const char *link_name, hid_t cur_group, const void *lnkdata, size_t lnkdata_size, hid_t lapl_id, hid_t dxpl_id)</div><div class="ttdoc">Callback during link traversal.</div><div class="ttdef"><b>Definition:</b> H5Ldevelop.h:70</div></div>
+<div class="ttc" id="a_h5_ldevelop_8h_html_a923e0abe07eacf3101ba6e717665edf1"><div class="ttname"><a href="_h5_ldevelop_8h.html#a923e0abe07eacf3101ba6e717665edf1">H5L_move_func_t</a></div><div class="ttdeci">herr_t(* H5L_move_func_t)(const char *new_name, hid_t new_loc, const void *lnkdata, size_t lnkdata_size)</div><div class="ttdoc">Callback for link move.</div><div class="ttdef"><b>Definition:</b> H5Ldevelop.h:60</div></div>
+<div class="ttc" id="a_h5_lpublic_8h_html_a1e3c5d37c60e7a59b0179e26a4094a48"><div class="ttname"><a href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a></div><div class="ttdeci">H5L_type_t</div><div class="ttdoc">Link class types.</div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:63</div></div>
+<div class="ttc" id="astruct_h5_l__class__t_html"><div class="ttname"><a href="struct_h5_l__class__t.html">H5L_class_t</a></div><div class="ttdoc">Link prototype.</div><div class="ttdef"><b>Definition:</b> H5Ldevelop.h:93</div></div>
+</div><!-- fragment --><p> The class definition passed with <code>cls</code> must include at least the following: </p><ul>
+<li>An <a class="el" href="struct_h5_l__class__t.html" title="Link prototype.">H5L_class_t</a> version (which should be <a class="el" href="_h5_ldevelop_8h.html#ac4ef431ffac7939c7d37a2e55e49cd63" title="Current version of the H5L_class_t struct.">H5L_LINK_CLASS_T_VERS</a>) </li>
+<li>A link class identifier, <code>class_id</code> </li>
+<li>A traversal function, <code>trav_func</code> </li>
+</ul>
+<p>Remaining <code>struct</code> members are optional and may be passed as NULL.</p>
+<p>The link class passed in <code>class_id</code> must be in the user-definable range between <a class="el" href="_h5_lpublic_8h.html#afd6fe1db1c142b14a7f879b8d277aa3f" title="Link ids at or above this value are &quot;user-defined&quot; link types.">H5L_TYPE_UD_MIN</a> and <a class="el" href="_h5_lpublic_8h.html#a6f9109ae61b6bd1b6668237cce13c75f" title="Maximum link id value for &quot;user-defined&quot; link types.">H5L_TYPE_UD_MAX</a> (see the table below) and will override any existing link class with that identifier.</p>
+<p>As distributed, valid values of <code>class_id</code> used in HDF5 include the following (defined in <a class="el" href="_h5_lpublic_8h.html">H5Lpublic.h</a>): </p><table class="doxtable">
+<tr>
+<td><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48ab90f13082490fcd293a228b2785489e3">H5L_TYPE_HARD</a></td><td>Hard link</td></tr>
+<tr>
+<td><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a38eb885df3f43f179b973f576fe996ed">H5L_TYPE_SOFT</a></td><td>Soft link</td></tr>
+<tr>
+<td><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06">H5L_TYPE_EXTERNAL</a></td><td>External link</td></tr>
+<tr>
+<td><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a4a582d434de3ee2c583384c4d3a3273d">H5L_TYPE_ERROR</a></td><td>Error</td></tr>
+</table>
+<p>The hard and soft link class identifiers cannot be modified or reassigned, but the external link class is implemented as an example in the user-definable link class identifier range. <a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister()</a> is used to register additional link classes. It could also be used to modify the behavior of the external link class, though that is not recommended.</p>
+<p>The following table summarizes existing link types and values and the reserved and user-definable link class identifier value ranges. </p><table class="doxtable">
+<tr>
+<th>Link class identifier or Value range </th><th>Description </th><th>Link class or label </th></tr>
+<tr>
+<td>0 to 63 </td><td>Reserved range </td><td></td></tr>
+<tr>
+<td>64 to 255 </td><td>User-definable range </td><td></td></tr>
+<tr>
+<td>64 </td><td>Minimum user-defined value </td><td><a class="el" href="_h5_lpublic_8h.html#afd6fe1db1c142b14a7f879b8d277aa3f" title="Link ids at or above this value are &quot;user-defined&quot; link types.">H5L_TYPE_UD_MIN</a> </td></tr>
+<tr>
+<td>64 </td><td>External link </td><td><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06">H5L_TYPE_EXTERNAL</a> </td></tr>
+<tr>
+<td>255 </td><td>Maximum user-defined value </td><td><a class="el" href="_h5_lpublic_8h.html#a6f9109ae61b6bd1b6668237cce13c75f" title="Maximum link id value for &quot;user-defined&quot; link types.">H5L_TYPE_UD_MAX</a> </td></tr>
+<tr>
+<td>255 </td><td>Maximum value </td><td><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a810ce4b5dddcd41521557af0273dd5cd">H5L_TYPE_MAX</a> </td></tr>
+<tr>
+<td>-1 </td><td>Error </td><td><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a4a582d434de3ee2c583384c4d3a3273d">H5L_TYPE_ERROR</a> </td></tr>
+</table>
+<p>Note that HDF5 internally registers user-defined link classes only by the numeric value of the link class identifier. An application, on the other hand, will generally use a name for a user-defined class, if for no other purpose than as a variable name. Assume, for example, that a complex link type is registered with the link class identifier 73 and that the code includes the following assignment: </p><div class="fragment"><div class="line">H5L_TYPE_COMPLEX_A = 73</div>
+</div><!-- fragment --><p> The application can refer to the link class with a term, <code>H5L_TYPE_COMPLEX_A</code>, that conveys meaning to a human reviewing the code, while HDF5 recognizes it by the more cryptic numeric identifier, 73.</p>
+<dl class="section attention"><dt>Attention</dt><dd>Important details and considerations include the following: <ul>
+<li>If you plan to distribute files or software with a user-defined link class, please contact the Help Desk at The HDF Group to help prevent collisions between <code>class_id</code> values. See below. </li>
+<li>As distributed with HDF5, the external link class is implemented as an example of a user-defined link class with <a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06">H5L_TYPE_EXTERNAL</a> equal to <a class="el" href="_h5_lpublic_8h.html#afd6fe1db1c142b14a7f879b8d277aa3f" title="Link ids at or above this value are &quot;user-defined&quot; link types.">H5L_TYPE_UD_MIN</a>. <code>class_id</code> in the <a class="el" href="struct_h5_l__class__t.html" title="Link prototype.">H5L_class_t</a> <code>struct</code> must not equal <a class="el" href="_h5_lpublic_8h.html#afd6fe1db1c142b14a7f879b8d277aa3f" title="Link ids at or above this value are &quot;user-defined&quot; link types.">H5L_TYPE_UD_MIN</a> unless you intend to overwrite or modify the behavior of external links. </li>
+<li><a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister()</a> can be used only with link class identifiers in the user-definable range (see table above). </li>
+<li>The hard and soft links defined by the HDF5 library, <a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48ab90f13082490fcd293a228b2785489e3">H5L_TYPE_HARD</a> and <a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a38eb885df3f43f179b973f576fe996ed">H5L_TYPE_SOFT</a>, reside in the reserved range below <a class="el" href="_h5_lpublic_8h.html#afd6fe1db1c142b14a7f879b8d277aa3f" title="Link ids at or above this value are &quot;user-defined&quot; link types.">H5L_TYPE_UD_MIN</a> and cannot be redefined or modified. </li>
+<li><a class="el" href="group___h5_l_a.html#ga02c1cf38efea97d18e5e2f65df3f08a2" title="Determines whether a class of user-defined links is registered.">H5Lis_registered()</a> can be used to determine whether a desired link class identifier is available. <em>Note that this function will tell you only whether the link class identifier has been registered with the installed copy of HDF5; it cannot tell you whether the link class has been registered with The HDF Group.</em> </li>
+<li><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a810ce4b5dddcd41521557af0273dd5cd">H5L_TYPE_MAX</a> is the maximum allowed value for a link type identifier. </li>
+<li><a class="el" href="_h5_lpublic_8h.html#afd6fe1db1c142b14a7f879b8d277aa3f" title="Link ids at or above this value are &quot;user-defined&quot; link types.">H5L_TYPE_UD_MIN</a> equals <a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06">H5L_TYPE_EXTERNAL</a>. </li>
+<li><a class="el" href="_h5_lpublic_8h.html#a6f9109ae61b6bd1b6668237cce13c75f" title="Maximum link id value for &quot;user-defined&quot; link types.">H5L_TYPE_UD_MAX</a> equals <a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a810ce4b5dddcd41521557af0273dd5cd">H5L_TYPE_MAX</a>. </li>
+<li><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a4a582d434de3ee2c583384c4d3a3273d">H5L_TYPE_ERROR</a> indicates that an error has occurred.</li>
+</ul>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd><b>Registration with The HDF Group:</b><br />
+ There are sometimes reasons to take a broader approach to registering a user-defined link class than just invoking <a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister()</a>. For example: <ul>
+<li>A user-defined link class is intended for use across an organization, among collaborators, or across a community of users. </li>
+<li>An application or library overlying HDF5 invokes a user-defined link class that must be shipped with the software. </li>
+<li>Files are distributed that make use of a user-defined link class. </li>
+<li>Or simply, a specific user-defined link class is thought to be widely useful.</li>
+</ul>
+In such cases, you are encouraged to register that link class with The HDF Group's Helpdesk. The HDF Group maintains a registry of known user-defined link classes and tracks the selected link class identifiers. This registry is intended to reduce the risk of collisions between <code>class_id</code> values and to help coordinate the use of specialized link classes.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
+
+</div>
+</div>
+<a id="ga01ddc889d27306a96a7cd27b6084a5ec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga01ddc889d27306a96a7cd27b6084a5ec">&#9670;&nbsp;</a></span>H5Lunregister()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Lunregister </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a>&#160;</td>
+ <td class="paramname"><em>id</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Unregisters a class of user-defined links. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>User-defined link class identifier</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns a non-negative value if successful; otherwise, returns a negative value.</dd></dl>
+<p><a class="el" href="group___h5_l_a.html#ga01ddc889d27306a96a7cd27b6084a5ec" title="Unregisters a class of user-defined links.">H5Lunregister()</a> unregisters a class of user-defined links, preventing them from being traversed, queried, moved, etc.</p>
+<dl class="section note"><dt>Note</dt><dd>A link class can be re-registered using <a class="el" href="group___h5_l_a.html#ga5073a814de9878bad53e1d3c900ea77f" title="Registers a user-defined link class or changes behavior of an existing class.">H5Lregister()</a>.</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated on Mon Jun 26 2023 19:01:35 for HDF5 by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.9.1 </li>
+ </ul>
+</div>
+</body>
+</html>