diff options
author | byrnHDF <byrnHDF@users.noreply.github.com> | 2023-06-26 19:22:17 (GMT) |
---|---|---|
committer | byrnHDF <byrnHDF@users.noreply.github.com> | 2023-06-26 19:22:17 (GMT) |
commit | d12e43bc201e15edffcdf94fe820aeae6ab44882 (patch) | |
tree | 90aa12006b20849b65b7bc8e3d4fe60a488f7247 /group___h5_l.html | |
parent | 4d49d1ee001bd4dff6b01e1830902bee22a19f3e (diff) | |
download | hdf5-d12e43bc201e15edffcdf94fe820aeae6ab44882.zip hdf5-d12e43bc201e15edffcdf94fe820aeae6ab44882.tar.gz hdf5-d12e43bc201e15edffcdf94fe820aeae6ab44882.tar.bz2 |
deploy: ab4d2aec9779b7a37747c95bd7b514417b299f73
Diffstat (limited to 'group___h5_l.html')
-rw-r--r-- | group___h5_l.html | 1783 |
1 files changed, 1783 insertions, 0 deletions
diff --git a/group___h5_l.html b/group___h5_l.html new file mode 100644 index 0000000..cca56b3 --- /dev/null +++ b/group___h5_l.html @@ -0,0 +1,1783 @@ +<!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: Links (H5L)</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&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> +  <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&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&dn=gpl-2.0.txt GPL-v2 */ +$(document).ready(function(){initNavTree('group___h5_l.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="#groups">Modules</a> | +<a href="#define-members">Macros</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Links (H5L)</div> </div> +</div><!--header--> +<div class="contents"> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<p>Use the functions in this module to manage HDF5 links and link types.</p> +<table class="doxtable"> +<tr> +<th>Create</th><th>Read </th></tr> +<tr valign="top"> +<td><div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  {</div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  __label__ fail_link, fail_prop, fail_lcpl, fail_create;</div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  </div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> file, lcpl;</div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  </div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">if</span> ((file = <a class="code" href="group___h5_f.html#gae64b51ee9ac0781bc4ccc599d98387f4">H5Fcreate</a>(<span class="stringliteral">"l1.h5"</span>, <a class="code" href="_h5_fpublic_8h.html#a5a2d6726f9ad8d2bca8df2b817e5ad6a">H5F_ACC_TRUNC</a>, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>)) == <a class="code" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>) {</div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">goto</span> fail_create;</div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  }</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  </div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="comment">// make link creation easier by auto-creating intermediate</span></div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="comment">// groups and UTF-8 encoding of link names</span></div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">if</span> ((lcpl = <a class="code" href="group___p_l_c_r.html#gaf1b11da01d4d45d788c45f8bc5f0cbfa">H5Pcreate</a>(<a class="code" href="_h5_ppublic_8h.html#ad2c1d10104f0262c826350ccbf7c49f2">H5P_LINK_CREATE</a>)) == <a class="code" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>) {</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">goto</span> fail_lcpl;</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">if</span> (<a class="code" href="group___l_c_p_l.html#ga66c4c5d3f34e5cf65d00e47a5387383c">H5Pset_create_intermediate_group</a>(lcpl, 1) < 0 || <a class="code" href="group___a_c_p_l.html#gad4fa8e2d17236786f770cf17eef908cc">H5Pset_char_encoding</a>(lcpl, <a class="code" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71aa41685667f69bf81eb7de5dd5f452e658">H5T_CSET_UTF8</a>) < 0) {</div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">goto</span> fail_prop;</div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// create a loop by hard linking the root group</span></div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">if</span> (<a class="code" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2">H5Lcreate_hard</a>(file, <span class="stringliteral">"."</span>, file, <span class="stringliteral">"√"</span>, lcpl, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>) < 0) {</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">goto</span> fail_link;</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  }</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="comment">// create a soft link to nowhere</span></div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">if</span> (<a class="code" href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78">H5Lcreate_soft</a>(<span class="stringliteral">"e1 62 80 87 04 09 43 ba 02 d3"</span>, file, <span class="stringliteral">"/path/to/nowhere"</span>, lcpl, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>) <</div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  0) {</div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">goto</span> fail_link;</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  }</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="comment">// create an external link to nowhere in a non-existent file</span></div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> (<a class="code" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683">H5Lcreate_external</a>(<span class="stringliteral">"non-existent-file.h5"</span>, <span class="stringliteral">"???"</span>, file, <span class="stringliteral">"external"</span>, lcpl, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>) < 0) {</div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">goto</span> fail_link;</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  }</div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> fail_link:</div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> fail_prop:</div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="group___p_l_c_r.html#ga5dce61149211d3ef319452aa598887fb">H5Pclose</a>(lcpl);</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> fail_lcpl:</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="group___h5_f.html#gac55cd91d80822e4f8c2a7f04ea71b124">H5Fclose</a>(file);</div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> fail_create:;</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div> +<div class="ttc" id="a_h5_fpublic_8h_html_a5a2d6726f9ad8d2bca8df2b817e5ad6a"><div class="ttname"><a href="_h5_fpublic_8h.html#a5a2d6726f9ad8d2bca8df2b817e5ad6a">H5F_ACC_TRUNC</a></div><div class="ttdeci">#define H5F_ACC_TRUNC</div><div class="ttdef"><b>Definition:</b> H5Fpublic.h:50</div></div> +<div class="ttc" id="a_h5_ipublic_8h_html_a0045db7ff9c22ad35db6ae91662e1943"><div class="ttname"><a href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a></div><div class="ttdeci">int64_t hid_t</div><div class="ttdef"><b>Definition:</b> H5Ipublic.h:60</div></div> +<div class="ttc" id="a_h5_ipublic_8h_html_a01eab13dccc91afd6909d74dccb780ba"><div class="ttname"><a href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a></div><div class="ttdeci">#define H5I_INVALID_HID</div><div class="ttdef"><b>Definition:</b> H5Ipublic.h:75</div></div> +<div class="ttc" id="a_h5_ppublic_8h_html_ad2c1d10104f0262c826350ccbf7c49f2"><div class="ttname"><a href="_h5_ppublic_8h.html#ad2c1d10104f0262c826350ccbf7c49f2">H5P_LINK_CREATE</a></div><div class="ttdeci">#define H5P_LINK_CREATE</div><div class="ttdef"><b>Definition:</b> H5Ppublic.h:67</div></div> +<div class="ttc" id="a_h5_ppublic_8h_html_afa85e97bfbf9bf1c58e39263846c568f"><div class="ttname"><a href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a></div><div class="ttdeci">#define H5P_DEFAULT</div><div class="ttdef"><b>Definition:</b> H5Ppublic.h:102</div></div> +<div class="ttc" id="a_h5_tpublic_8h_html_a03755b8370672668ddc7063add28e71aa41685667f69bf81eb7de5dd5f452e658"><div class="ttname"><a href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71aa41685667f69bf81eb7de5dd5f452e658">H5T_CSET_UTF8</a></div><div class="ttdeci">@ H5T_CSET_UTF8</div><div class="ttdef"><b>Definition:</b> H5Tpublic.h:96</div></div> +<div class="ttc" id="agroup___a_c_p_l_html_gad4fa8e2d17236786f770cf17eef908cc"><div class="ttname"><a href="group___a_c_p_l.html#gad4fa8e2d17236786f770cf17eef908cc">H5Pset_char_encoding</a></div><div class="ttdeci">herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding)</div><div class="ttdoc">Sets the character encoding used to encode link and attribute names.</div></div> +<div class="ttc" id="agroup___h5_f_html_gac55cd91d80822e4f8c2a7f04ea71b124"><div class="ttname"><a href="group___h5_f.html#gac55cd91d80822e4f8c2a7f04ea71b124">H5Fclose</a></div><div class="ttdeci">herr_t H5Fclose(hid_t file_id)</div><div class="ttdoc">Terminates access to an HDF5 file.</div></div> +<div class="ttc" id="agroup___h5_f_html_gae64b51ee9ac0781bc4ccc599d98387f4"><div class="ttname"><a href="group___h5_f.html#gae64b51ee9ac0781bc4ccc599d98387f4">H5Fcreate</a></div><div class="ttdeci">hid_t H5Fcreate(const char *filename, unsigned flags, hid_t fcpl_id, hid_t fapl_id)</div><div class="ttdoc">Creates an HDF5 file.</div></div> +<div class="ttc" id="agroup___h5_l_html_ga15dfaeb9b1c0b3136533cb97ee45e683"><div class="ttname"><a href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683">H5Lcreate_external</a></div><div class="ttdeci">herr_t H5Lcreate_external(const char *file_name, const char *obj_name, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id)</div><div class="ttdoc">Creates an external link, a soft link to an object in a different file.</div></div> +<div class="ttc" id="agroup___h5_l_html_ga69d50f7acdfd2f1dc7c4372397e63bd2"><div class="ttname"><a href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2">H5Lcreate_hard</a></div><div class="ttdeci">herr_t H5Lcreate_hard(hid_t cur_loc, const char *cur_name, hid_t dst_loc, const char *dst_name, hid_t lcpl_id, hid_t lapl_id)</div><div class="ttdoc">Creates a hard link to an object.</div></div> +<div class="ttc" id="agroup___h5_l_html_ga894444623b58ce1ac3bd35538245ac78"><div class="ttname"><a href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78">H5Lcreate_soft</a></div><div class="ttdeci">herr_t H5Lcreate_soft(const char *link_target, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id)</div><div class="ttdoc">Creates a soft link.</div></div> +<div class="ttc" id="agroup___l_c_p_l_html_ga66c4c5d3f34e5cf65d00e47a5387383c"><div class="ttname"><a href="group___l_c_p_l.html#ga66c4c5d3f34e5cf65d00e47a5387383c">H5Pset_create_intermediate_group</a></div><div class="ttdeci">herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd)</div><div class="ttdoc">Specifies in property list whether to create missing intermediate groups.</div></div> +<div class="ttc" id="agroup___p_l_c_r_html_ga5dce61149211d3ef319452aa598887fb"><div class="ttname"><a href="group___p_l_c_r.html#ga5dce61149211d3ef319452aa598887fb">H5Pclose</a></div><div class="ttdeci">herr_t H5Pclose(hid_t plist_id)</div><div class="ttdoc">Terminates access to a property list.</div></div> +<div class="ttc" id="agroup___p_l_c_r_html_gaf1b11da01d4d45d788c45f8bc5f0cbfa"><div class="ttname"><a href="group___p_l_c_r.html#gaf1b11da01d4d45d788c45f8bc5f0cbfa">H5Pcreate</a></div><div class="ttdeci">hid_t H5Pcreate(hid_t cls_id)</div><div class="ttdoc">Creates a new property list as an instance of a property list class.</div></div> +</div><!-- fragment --> </td><td><div class="fragment"><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <a class="code" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a></div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> iter_cb(<a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> group, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <a class="code" href="_h5version_8h.html#af542682cfe46de7b0759e52a1608d1e4">H5L_info_t</a> *info, <span class="keywordtype">void</span> *op_data)</div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> {</div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  printf(<span class="stringliteral">"Link \"%s\" is a"</span>, name);</div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <span class="keywordflow">switch</span> (info->type) {</div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <span class="keywordflow">case</span> <a class="code" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48ab90f13082490fcd293a228b2785489e3">H5L_TYPE_HARD</a>:</div> +<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  printf(<span class="stringliteral">" hard link.\n"</span>);</div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <span class="keywordflow">case</span> <a class="code" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a38eb885df3f43f179b973f576fe996ed">H5L_TYPE_SOFT</a>:</div> +<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  printf(<span class="stringliteral">" soft link.\n"</span>);</div> +<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keywordflow">case</span> <a class="code" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06">H5L_TYPE_EXTERNAL</a>:</div> +<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  printf(<span class="stringliteral">"n external link.\n"</span>);</div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keywordflow">default</span>:</div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  printf(<span class="stringliteral">" UFO link.\n"</span>);</div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  }</div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> }</div> +<div class="ttc" id="a_h5_lpublic_8h_html_a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06"><div class="ttname"><a href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06">H5L_TYPE_EXTERNAL</a></div><div class="ttdeci">@ H5L_TYPE_EXTERNAL</div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:67</div></div> +<div class="ttc" id="a_h5_lpublic_8h_html_a1e3c5d37c60e7a59b0179e26a4094a48a38eb885df3f43f179b973f576fe996ed"><div class="ttname"><a href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a38eb885df3f43f179b973f576fe996ed">H5L_TYPE_SOFT</a></div><div class="ttdeci">@ H5L_TYPE_SOFT</div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:66</div></div> +<div class="ttc" id="a_h5_lpublic_8h_html_a1e3c5d37c60e7a59b0179e26a4094a48ab90f13082490fcd293a228b2785489e3"><div class="ttname"><a href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48ab90f13082490fcd293a228b2785489e3">H5L_TYPE_HARD</a></div><div class="ttdeci">@ H5L_TYPE_HARD</div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:65</div></div> +<div class="ttc" id="a_h5public_8h_html_a3b079ecf932a5c599499cf7e298af160"><div class="ttname"><a href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a></div><div class="ttdeci">int herr_t</div><div class="ttdef"><b>Definition:</b> H5public.h:235</div></div> +<div class="ttc" id="a_h5version_8h_html_af542682cfe46de7b0759e52a1608d1e4"><div class="ttname"><a href="_h5version_8h.html#af542682cfe46de7b0759e52a1608d1e4">H5L_info_t</a></div><div class="ttdeci">#define H5L_info_t</div><div class="ttdef"><b>Definition:</b> H5version.h:1033</div></div> +</div><!-- fragment --> <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  __label__ fail_iterate, fail_read;</div> +<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> file;</div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> idx = 0;</div> +<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  </div> +<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">if</span> ((file = <a class="code" href="group___h5_f.html#gaa3f4f877b9bb591f3880423ed2bf44bc">H5Fopen</a>(<span class="stringliteral">"l1.h5"</span>, <a class="code" href="_h5_fpublic_8h.html#a1c406ffa89f4acf5a332144a2683d394">H5F_ACC_RDONLY</a>, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>)) == <a class="code" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>) {</div> +<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">goto</span> fail_read;</div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">if</span> (<a class="code" href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate</a>(file, <a class="code" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a>, <a class="code" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a>, &idx, iter_cb, NULL) < 0) {</div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">goto</span> fail_iterate;</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  </div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> fail_iterate:</div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="group___h5_f.html#gac55cd91d80822e4f8c2a7f04ea71b124">H5Fclose</a>(file);</div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> fail_read:;</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div> +<div class="ttc" id="a_h5_fpublic_8h_html_a1c406ffa89f4acf5a332144a2683d394"><div class="ttname"><a href="_h5_fpublic_8h.html#a1c406ffa89f4acf5a332144a2683d394">H5F_ACC_RDONLY</a></div><div class="ttdeci">#define H5F_ACC_RDONLY</div><div class="ttdef"><b>Definition:</b> H5Fpublic.h:48</div></div> +<div class="ttc" id="a_h5public_8h_html_a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01"><div class="ttname"><a href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></div><div class="ttdeci">@ H5_ITER_NATIVE</div><div class="ttdef"><b>Definition:</b> H5public.h:342</div></div> +<div class="ttc" id="a_h5public_8h_html_a7f81cce70fb546af88da24d9285d3c1c"><div class="ttname"><a href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a></div><div class="ttdeci">uint64_t hsize_t</div><div class="ttdef"><b>Definition:</b> H5public.h:291</div></div> +<div class="ttc" id="a_h5public_8h_html_a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e"><div class="ttname"><a href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></div><div class="ttdeci">@ H5_INDEX_NAME</div><div class="ttdef"><b>Definition:</b> H5public.h:363</div></div> +<div class="ttc" id="agroup___h5_f_html_gaa3f4f877b9bb591f3880423ed2bf44bc"><div class="ttname"><a href="group___h5_f.html#gaa3f4f877b9bb591f3880423ed2bf44bc">H5Fopen</a></div><div class="ttdeci">hid_t H5Fopen(const char *filename, unsigned flags, hid_t fapl_id)</div><div class="ttdoc">Opens an existing HDF5 file.</div></div> +<div class="ttc" id="agroup___t_r_a_v_html_ga55406698106930db68242987c11ba051"><div class="ttname"><a href="group___t_r_a_v.html#ga55406698106930db68242987c11ba051">H5Literate</a></div><div class="ttdeci">#define H5Literate</div><div class="ttdef"><b>Definition:</b> H5version.h:1045</div></div> +</div><!-- fragment --> </td></tr> +<tr> +<th>Update</th><th>Delete </th></tr> +<tr valign="top"> +<td><div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  __label__ fail_move, fail_update;</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> file;</div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  </div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">if</span> ((file = <a class="code" href="group___h5_f.html#gaa3f4f877b9bb591f3880423ed2bf44bc">H5Fopen</a>(<span class="stringliteral">"l1.h5"</span>, <a class="code" href="_h5_fpublic_8h.html#a402673dec5c537b27a49a9a8bd6140b4">H5F_ACC_RDWR</a>, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>)) == <a class="code" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>) {</div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">goto</span> fail_update;</div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  </div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="comment">// move the "√" link to the group at "/path/to"</span></div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="comment">// the cycle remains!</span></div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span> (<a class="code" href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb">H5Lmove</a>(file, <span class="stringliteral">"√"</span>, file, <span class="stringliteral">"path/to/√"</span>, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>) < 0) {</div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">goto</span> fail_move;</div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  </div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> fail_move:</div> +<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="group___h5_f.html#gac55cd91d80822e4f8c2a7f04ea71b124">H5Fclose</a>(file);</div> +<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> fail_update:;</div> +<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div> +<div class="ttc" id="a_h5_fpublic_8h_html_a402673dec5c537b27a49a9a8bd6140b4"><div class="ttname"><a href="_h5_fpublic_8h.html#a402673dec5c537b27a49a9a8bd6140b4">H5F_ACC_RDWR</a></div><div class="ttdeci">#define H5F_ACC_RDWR</div><div class="ttdef"><b>Definition:</b> H5Fpublic.h:49</div></div> +<div class="ttc" id="agroup___h5_l_html_ga0bbc7f9bf25c8aca9dd8433a325c8acb"><div class="ttname"><a href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb">H5Lmove</a></div><div class="ttdeci">herr_t H5Lmove(hid_t src_loc, const char *src_name, hid_t dst_loc, const char *dst_name, hid_t lcpl_id, hid_t lapl_id)</div><div class="ttdoc">Moves a link within an HDF5 file.</div></div> +</div><!-- fragment --> </td><td><div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  __label__ fail_delete, fail_file;</div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> file;</div> +<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  </div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">if</span> ((file = <a class="code" href="group___h5_f.html#gaa3f4f877b9bb591f3880423ed2bf44bc">H5Fopen</a>(<span class="stringliteral">"l1.h5"</span>, <a class="code" href="_h5_fpublic_8h.html#a402673dec5c537b27a49a9a8bd6140b4">H5F_ACC_RDWR</a>, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>)) == <a class="code" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>) {</div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">goto</span> fail_file;</div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  }</div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="comment">// delete the "external" link</span></div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span> (<a class="code" href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf">H5Ldelete</a>(file, <span class="stringliteral">"external"</span>, <a class="code" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>) < 0) {</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  ret_val = EXIT_FAILURE;</div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">goto</span> fail_delete;</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> fail_delete:</div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="group___h5_f.html#gac55cd91d80822e4f8c2a7f04ea71b124">H5Fclose</a>(file);</div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> fail_file:;</div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  }</div> +<div class="ttc" id="agroup___h5_l_html_ga5b4e7f59f5d4bdae94fd8ce6875295cf"><div class="ttname"><a href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf">H5Ldelete</a></div><div class="ttdeci">herr_t H5Ldelete(hid_t loc_id, const char *name, hid_t lapl_id)</div><div class="ttdoc">Removes a link from a group.</div></div> +</div><!-- fragment --> </td></tr> +</table> +<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 Links (H5L):</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.png" border="0" usemap="#agroup______h5__l" alt=""/></div> +<map name="agroup______h5__l" id="agroup______h5__l"> +<area shape="rect" title=" " alt="" coords="5,31,100,56"/> +<area shape="rect" href="group___t_r_a_v.html" title=" " alt="" coords="183,5,295,31"/> +<area shape="rect" href="group___h5_l_a.html" title=" " alt="" coords="148,55,331,80"/> +</map> +</div> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a> +Modules</h2></td></tr> +<tr class="memitem:group___h5_l_a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l_a.html">Advanced Link Functions</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:group___t_r_a_v"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_v.html">Link Traversal</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> +Macros</h2></td></tr> +<tr class="memitem:ga97279697f3010a6ad31dd7f4341eb698"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info</a>   <a class="el" href="group___h5_l.html#ga65e63c6e880fd0183c40486d6748e400">H5Lget_info2</a></td></tr> +<tr class="separator:ga97279697f3010a6ad31dd7f4341eb698"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4db00b8b944eae68233438165c784b67"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga4db00b8b944eae68233438165c784b67">H5Lget_info_by_idx</a>   <a class="el" href="group___h5_l.html#gaecfb3ef8520e9224b24a151ff8459ba9">H5Lget_info_by_idx2</a></td></tr> +<tr class="separator:ga4db00b8b944eae68233438165c784b67"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga0bbc7f9bf25c8aca9dd8433a325c8acb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb">H5Lmove</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> src_loc, const char *src_name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> dst_loc, const char *dst_name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lcpl_id, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga0bbc7f9bf25c8aca9dd8433a325c8acb"><td class="mdescLeft"> </td><td class="mdescRight">Moves a link within an HDF5 file. <a href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb">More...</a><br /></td></tr> +<tr class="separator:ga0bbc7f9bf25c8aca9dd8433a325c8acb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafd4624f1c040d5f1df36cb1e6986aac6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#gafd4624f1c040d5f1df36cb1e6986aac6">H5Lcopy</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> src_loc, const char *src_name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> dst_loc, const char *dst_name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lcpl_id, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:gafd4624f1c040d5f1df36cb1e6986aac6"><td class="mdescLeft"> </td><td class="mdescRight">Creates an identical copy of a link with the same creation time and target. The new link can have a different name and be in a different location than the original. <a href="group___h5_l.html#gafd4624f1c040d5f1df36cb1e6986aac6">More...</a><br /></td></tr> +<tr class="separator:gafd4624f1c040d5f1df36cb1e6986aac6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga69d50f7acdfd2f1dc7c4372397e63bd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2">H5Lcreate_hard</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> cur_loc, const char *cur_name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> dst_loc, const char *dst_name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lcpl_id, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga69d50f7acdfd2f1dc7c4372397e63bd2"><td class="mdescLeft"> </td><td class="mdescRight">Creates a hard link to an object. <a href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2">More...</a><br /></td></tr> +<tr class="separator:ga69d50f7acdfd2f1dc7c4372397e63bd2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga894444623b58ce1ac3bd35538245ac78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78">H5Lcreate_soft</a> (const char *link_target, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> link_loc_id, const char *link_name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lcpl_id, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga894444623b58ce1ac3bd35538245ac78"><td class="mdescLeft"> </td><td class="mdescRight">Creates a soft link. <a href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78">More...</a><br /></td></tr> +<tr class="separator:ga894444623b58ce1ac3bd35538245ac78"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5b4e7f59f5d4bdae94fd8ce6875295cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf">H5Ldelete</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga5b4e7f59f5d4bdae94fd8ce6875295cf"><td class="mdescLeft"> </td><td class="mdescRight">Removes a link from a group. <a href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf">More...</a><br /></td></tr> +<tr class="separator:ga5b4e7f59f5d4bdae94fd8ce6875295cf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaaf5f820856afdd34f9070a797a246805"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#gaaf5f820856afdd34f9070a797a246805">H5Ldelete_by_idx</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *group_name, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> n, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:gaaf5f820856afdd34f9070a797a246805"><td class="mdescLeft"> </td><td class="mdescRight">Removes the <em>n</em>-th link in a group. <a href="group___h5_l.html#gaaf5f820856afdd34f9070a797a246805">More...</a><br /></td></tr> +<tr class="separator:gaaf5f820856afdd34f9070a797a246805"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8eaacc372afc314e44521dfc1f66dcf4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga8eaacc372afc314e44521dfc1f66dcf4">H5Lget_val</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *name, void *buf, size_t size, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga8eaacc372afc314e44521dfc1f66dcf4"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of a link. <a href="group___h5_l.html#ga8eaacc372afc314e44521dfc1f66dcf4">More...</a><br /></td></tr> +<tr class="separator:ga8eaacc372afc314e44521dfc1f66dcf4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf7be56de947e09a8d084e9d13a90bf3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#gaf7be56de947e09a8d084e9d13a90bf3c">H5Lget_val_by_idx</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *group_name, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> n, void *buf, size_t size, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:gaf7be56de947e09a8d084e9d13a90bf3c"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves value of the <em>n</em>-th link in a group, according to the order within an index. <a href="group___h5_l.html#gaf7be56de947e09a8d084e9d13a90bf3c">More...</a><br /></td></tr> +<tr class="separator:gaf7be56de947e09a8d084e9d13a90bf3c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga171be6e41dc1a464edc402df0ebdf801"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#aa8f6c28736dbd0f18388c67911d38aca">htri_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801">H5Lexists</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga171be6e41dc1a464edc402df0ebdf801"><td class="mdescLeft"> </td><td class="mdescRight">Determines whether a link with the specified name exists in a group. <a href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801">More...</a><br /></td></tr> +<tr class="separator:ga171be6e41dc1a464edc402df0ebdf801"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga65e63c6e880fd0183c40486d6748e400"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga65e63c6e880fd0183c40486d6748e400">H5Lget_info2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *name, <a class="el" href="struct_h5_l__info2__t.html">H5L_info2_t</a> *linfo, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga65e63c6e880fd0183c40486d6748e400"><td class="mdescLeft"> </td><td class="mdescRight">Returns information about a link. <a href="group___h5_l.html#ga65e63c6e880fd0183c40486d6748e400">More...</a><br /></td></tr> +<tr class="separator:ga65e63c6e880fd0183c40486d6748e400"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaecfb3ef8520e9224b24a151ff8459ba9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#gaecfb3ef8520e9224b24a151ff8459ba9">H5Lget_info_by_idx2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *group_name, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> n, <a class="el" href="struct_h5_l__info2__t.html">H5L_info2_t</a> *linfo, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:gaecfb3ef8520e9224b24a151ff8459ba9"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves metadata for a link in a group, according to the order within a field or index. <a href="group___h5_l.html#gaecfb3ef8520e9224b24a151ff8459ba9">More...</a><br /></td></tr> +<tr class="separator:gaecfb3ef8520e9224b24a151ff8459ba9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga453ea40c3bb85ec8120dd17deed2bd90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#af629ed855824cf5955b54529adf78ad6">ssize_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga453ea40c3bb85ec8120dd17deed2bd90">H5Lget_name_by_idx</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *group_name, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> n, char *name, size_t size, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga453ea40c3bb85ec8120dd17deed2bd90"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves name of the <em>n</em>-th link in a group, according to the order within a specified field or index. <a href="group___h5_l.html#ga453ea40c3bb85ec8120dd17deed2bd90">More...</a><br /></td></tr> +<tr class="separator:ga453ea40c3bb85ec8120dd17deed2bd90"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadaf9732947c45cd4d2442e7f58873fc2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#gadaf9732947c45cd4d2442e7f58873fc2">H5Lcreate_ud</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> link_loc_id, const char *link_name, <a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a> link_type, const void *udata, size_t udata_size, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lcpl_id, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:gadaf9732947c45cd4d2442e7f58873fc2"><td class="mdescLeft"> </td><td class="mdescRight">Creates a link of a user-defined type. <a href="group___h5_l.html#gadaf9732947c45cd4d2442e7f58873fc2">More...</a><br /></td></tr> +<tr class="separator:gadaf9732947c45cd4d2442e7f58873fc2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gade0c3b274c185d148f000172fbdc3220"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#gade0c3b274c185d148f000172fbdc3220">H5Lunpack_elink_val</a> (const void *ext_linkval, size_t link_size, unsigned *flags, const char **filename, const char **obj_path)</td></tr> +<tr class="memdesc:gade0c3b274c185d148f000172fbdc3220"><td class="mdescLeft"> </td><td class="mdescRight">Decodes external link information. <a href="group___h5_l.html#gade0c3b274c185d148f000172fbdc3220">More...</a><br /></td></tr> +<tr class="separator:gade0c3b274c185d148f000172fbdc3220"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga15dfaeb9b1c0b3136533cb97ee45e683"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683">H5Lcreate_external</a> (const char *file_name, const char *obj_name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> link_loc_id, const char *link_name, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lcpl_id, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga15dfaeb9b1c0b3136533cb97ee45e683"><td class="mdescLeft"> </td><td class="mdescRight">Creates an external link, a soft link to an object in a different file. <a href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683">More...</a><br /></td></tr> +<tr class="separator:ga15dfaeb9b1c0b3136533cb97ee45e683"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gacc2ad7f2b402c4bf9bb122d7f43b98dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#gacc2ad7f2b402c4bf9bb122d7f43b98dc">H5Lget_info1</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *name, <a class="el" href="struct_h5_l__info1__t.html">H5L_info1_t</a> *linfo, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:gacc2ad7f2b402c4bf9bb122d7f43b98dc"><td class="mdescLeft"> </td><td class="mdescRight">Returns information about a link. <a href="group___h5_l.html#gacc2ad7f2b402c4bf9bb122d7f43b98dc">More...</a><br /></td></tr> +<tr class="separator:gacc2ad7f2b402c4bf9bb122d7f43b98dc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7ed207f47e0e0f768f0d540c73e37e2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___h5_l.html#ga7ed207f47e0e0f768f0d540c73e37e2a">H5Lget_info_by_idx1</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> loc_id, const char *group_name, <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> idx_type, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> order, <a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> n, <a class="el" href="struct_h5_l__info1__t.html">H5L_info1_t</a> *linfo, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> lapl_id)</td></tr> +<tr class="memdesc:ga7ed207f47e0e0f768f0d540c73e37e2a"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves metadata for a link in a group, according to the order within a field or index. <a href="group___h5_l.html#ga7ed207f47e0e0f768f0d540c73e37e2a">More...</a><br /></td></tr> +<tr class="separator:ga7ed207f47e0e0f768f0d540c73e37e2a"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<h2 class="groupheader">Macro Definition Documentation</h2> +<a id="ga97279697f3010a6ad31dd7f4341eb698"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga97279697f3010a6ad31dd7f4341eb698">◆ </a></span>H5Lget_info</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define H5Lget_info   <a class="el" href="group___h5_l.html#ga65e63c6e880fd0183c40486d6748e400">H5Lget_info2</a></td> + </tr> + </table> +</div><div class="memdoc"> +<p><a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info()</a> is a macro that is mapped to either <a class="el" href="group___h5_l.html#gacc2ad7f2b402c4bf9bb122d7f43b98dc" title="Returns information about a link.">H5Lget_info1()</a> or <a class="el" href="group___h5_l.html#ga65e63c6e880fd0183c40486d6748e400" title="Returns information about a link.">H5Lget_info2()</a>.<br /> +</p><dl class="section see"><dt>See also</dt><dd><a class="el" href="api-compat-macros.html">API Compatibility Macros</a> </dd></dl> + +</div> +</div> +<a id="ga4db00b8b944eae68233438165c784b67"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga4db00b8b944eae68233438165c784b67">◆ </a></span>H5Lget_info_by_idx</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define H5Lget_info_by_idx   <a class="el" href="group___h5_l.html#gaecfb3ef8520e9224b24a151ff8459ba9">H5Lget_info_by_idx2</a></td> + </tr> + </table> +</div><div class="memdoc"> +<p><a class="el" href="group___h5_l.html#ga4db00b8b944eae68233438165c784b67">H5Lget_info_by_idx()</a> is a macro that is mapped to either <a class="el" href="group___h5_l.html#ga7ed207f47e0e0f768f0d540c73e37e2a" title="Retrieves metadata for a link in a group, according to the order within a field or index.">H5Lget_info_by_idx1()</a> or <a class="el" href="group___h5_l.html#gaecfb3ef8520e9224b24a151ff8459ba9" title="Retrieves metadata for a link in a group, according to the order within a field or index.">H5Lget_info_by_idx2()</a>.<br /> +</p><dl class="section see"><dt>See also</dt><dd><a class="el" href="api-compat-macros.html">API Compatibility Macros</a> </dd></dl> + +</div> +</div> +<h2 class="groupheader">Function Documentation</h2> +<a id="gafd4624f1c040d5f1df36cb1e6986aac6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafd4624f1c040d5f1df36cb1e6986aac6">◆ </a></span>H5Lcopy()</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> H5Lcopy </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>src_loc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>src_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>dst_loc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>dst_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lcpl_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Creates an identical copy of a link with the same creation time and target. The new link can have a different name and be in a different location than the original. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">src_loc</td><td>Location identifier. The identifier may be that of a file, group, dataset, or named datatype. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">src_name</td><td>Name of the link to be copied </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">dst_loc</td><td>Location identifier. The identifier may be that of a file, group, dataset, or named datatype. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">dst_name</td><td>Name to be assigned to the new copy </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lcpl_id</td><td>Link creation property list identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#gafd4624f1c040d5f1df36cb1e6986aac6" title="Creates an identical copy of a link with the same creation time and target. The new link can have a d...">H5Lcopy()</a> copies the link specified by <code>src_name</code> from the location specified by <code>src_loc_id</code> to the location specified by <code>dst_loc_id</code>. The new copy of the link is created with the name <code>dst_name</code>.</p> +<p>If <code>dst_loc_id</code> is a file identifier, <code>dst_name</code> will be interpreted relative to that file’s root group.</p> +<p>The new link is created with the creation and access property lists specified by <code>lcpl_id</code> and <code>lapl_id</code>. The interpretation of <code>lcpl_id</code> is limited in the manner described in the next paragraph.</p> +<p><a class="el" href="group___h5_l.html#gafd4624f1c040d5f1df36cb1e6986aac6" title="Creates an identical copy of a link with the same creation time and target. The new link can have a d...">H5Lcopy()</a> retains the creation time and the target of the original link. However, since the link may be renamed, the character encoding is specified in <code>lcpl_id</code> rather than in that of the original link. Other link creation properties are ignored.</p> +<p>If the link is a soft link, also known as a symbolic link, its target is interpreted relative to the location of the copy.</p> +<p>Several properties are available to govern the behavior of <a class="el" href="group___h5_l.html#gafd4624f1c040d5f1df36cb1e6986aac6" title="Creates an identical copy of a link with the same creation time and target. The new link can have a d...">H5Lcopy()</a>. These properties are set in the link creation and access property lists, <code>lcpl_id</code> and <code>lapl_id</code>, respectively. The property controlling creation of missing intermediate groups is set in the link creation property list with <a class="el" href="group___l_c_p_l.html#ga66c4c5d3f34e5cf65d00e47a5387383c" title="Specifies in property list whether to create missing intermediate groups.">H5Pset_create_intermediate_group()</a>; this function ignores any other properties in the link creation property list. Properties controlling character encoding, link traversals, and external link prefixes are set in the link access property list with <a class="el" href="group___a_c_p_l.html#gad4fa8e2d17236786f770cf17eef908cc" title="Sets the character encoding used to encode link and attribute names.">H5Pset_char_encoding()</a>, <a class="el" href="group___l_a_p_l.html#gaa46c63c196a0cf5cd94dede039c030f4" title="Sets maximum number of soft or user-defined link traversals.">H5Pset_nlinks()</a>, and <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix()</a>.</p> +<dl class="section note"><dt>Note</dt><dd><a class="el" href="group___h5_l.html#gafd4624f1c040d5f1df36cb1e6986aac6" title="Creates an identical copy of a link with the same creation time and target. The new link can have a d...">H5Lcopy()</a> does not affect the object that the link points to.</dd></dl> +<dl class="section attention"><dt>Attention</dt><dd><a class="el" href="group___h5_l.html#gafd4624f1c040d5f1df36cb1e6986aac6" title="Creates an identical copy of a link with the same creation time and target. The new link can have a d...">H5Lcopy()</a> cannot copy hard links across files as a hard link is not valid without a target object; to copy objects from one file to another, see <a class="el" href="group___h5_o.html#gaa94449be6f67f499be5ddd3fc44f4225" title="Copies an object in an HDF5 file.">H5Ocopy()</a>.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___h5_o.html#gaa94449be6f67f499be5ddd3fc44f4225" title="Copies an object in an HDF5 file.">H5Ocopy()</a></dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="ga15dfaeb9b1c0b3136533cb97ee45e683"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga15dfaeb9b1c0b3136533cb97ee45e683">◆ </a></span>H5Lcreate_external()</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> H5Lcreate_external </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>file_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>obj_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>link_loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>link_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lcpl_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Creates an external link, a soft link to an object in a different file. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">file_name</td><td>Name of the target file containing the target object. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">obj_name</td><td>Path within the target file to the target object </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">link_loc_id</td><td>Location identifier. The identifier may be that of a file, group, dataset, or named datatype. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">link_name</td><td>Name of the new link, relative to <code>link_loc_id</code> </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lcpl_id</td><td>Link creation property list identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external()</a> creates a new external link. An external link is a soft link to an object in a different HDF5 file from the location of the link, i.e., to an external object.</p> +<p><code>file_name</code> identifies the target file containing the target object; <code>obj_name</code> specifies the path of the target object within that file. <code>obj_name</code> must be an absolute pathname in <code>file_name</code>, i.e., it must start at the target file’s root group, but it is not interpreted until an application attempts to traverse it.</p> +<p><code>link_loc_id</code> and <code>link_name</code> specify the location and name, respectively, of the new link. <code>link_name</code> is interpreted relative to <code>link_loc_id</code>.</p> +<p><code>lcpl_id</code> is the link creation property list used in creating the new link.</p> +<p><code>lapl_id</code> is the link access property list used in traversing the new link. Note that an external file opened by the traversal of an external link is always opened with the weak file close degree property setting, <a class="el" href="_h5_fpublic_8h.html#aa85fa00d037d2b0401cf72edf9a6475faea1127311a219b44e4af3cb12609035f">H5F_CLOSE_WEAK</a> (see <a class="el" href="group___f_a_p_l.html#ga60e3567f677fd3ade75b909b636d7b9c" title="Sets the file close degree.">H5Pset_fclose_degree()</a>); any file close degree property setting in <code>lapl_id</code> is ignored.</p> +<p>An external link behaves similarly to a soft link, and like a soft link in an HDF5 file, it may dangle: the target file and object need not exist at the time that the external link is created.</p> +<p>When the external link <code>link_name</code> is accessed, the library will search for the target file <code>file_name</code> as described below:</p> +<ul> +<li>If <code>file_name</code> is a relative pathname, the following steps are performed:<ul> +<li>The library will get the prefix(es) set in the environment variable <code>HDF5_EXT_PREFIX</code> and will try to prepend each prefix to <code>file_name</code> to form a new <code>file_name</code>.</li> +<li>If the new <code>file_name</code> does not exist or if <code>HDF5_EXT_PREFIX</code> is not set, the library will get the prefix set via <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix()</a> and prepend it to <code>file_name</code> to form a new <code>file_name</code>.</li> +<li>If the new <code>file_name</code> does not exist or no prefix is being set by <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix()</a>, then the path of the file associated with <code>link_loc_id</code> is obtained. This path can be the absolute path or the current working directory plus the relative path of that file when it is created/opened. The library will prepend this path to <code>file_name</code> to form a new <code>file_name</code>.</li> +<li>If the new <code>file_name</code> does not exist, then the library will look for <code>file_name</code> and will return failure/success accordingly.</li> +</ul> +</li> +<li>If <code>file_name</code> is an absolute pathname, the library will first try to find <code>file_name</code>. If <code>file_name</code> does not exist, <code>file_name</code> is stripped of directory paths to form a new <code>file_name</code>. The search for the new <code>file_name</code> then follows the same steps as described above for a relative pathname. See examples below illustrating how target_file_name is stripped to form a new <code>file_name</code>.</li> +</ul> +<p>Note that <code>file_name</code> is considered to be an absolute pathname when the following condition is true:</p> +<ul> +<li>For Unix, the first character of <code>file_name</code> is a slash (<code>/</code>). For example, consider a <code>file_name</code> of <code>/tmp/A</code>.h5. If that target file does not exist, the new <code>file_name</code> after stripping will be <code>A.h5</code>.</li> +<li>For Windows, there are 6 cases:<ol type="1"> +<li><code>file_name</code> is an absolute drive with an absolute pathname. For example, consider a <code>file_name</code> of <code>/tmp/A</code>.h5. If that target file does not exist, the new <code>file_name</code> after stripping will be <code>A.h5</code>.</li> +<li><code>file_name</code> is an absolute pathname without specifying drive name. For example, consider a <code>file_name</code> of <code>/tmp/A</code>.h5. If that target file does not exist, the new <code>file_name</code> after stripping will be <code>A.h5</code>.</li> +<li><code>file_name</code> is an absolute drive with a relative pathname. For example, consider a <code>file_name</code> of <code>/tmp/A</code>.h5. If that target file does not exist, the new <code>file_name</code> after stripping will be <code>tmp\A.h5</code>.</li> +<li><code>file_name</code> is in UNC (Uniform Naming Convention) format with a server name, share name, and pathname. For example, consider a <code>file_name</code> of <code>/tmp/A</code>.h5. If that target file does not exist, the new <code>file_name</code> after stripping will be <code>A.h5</code>.</li> +<li><code>file_name</code> is in Long UNC (Uniform Naming Convention) format with a server name, share name, and pathname. For example, consider a <code>file_name</code> of <code>/tmp/A</code>.h5. If that target file does not exist, the new <code>file_name</code> after stripping will be <code>A.h5</code>.</li> +<li><code>file_name</code> is in Long UNC (Uniform Naming Convention) format with an absolute drive and an absolute pathname. For example, consider a <code>file_name</code> of <code>/tmp/A</code>.h5. If that target file does not exist, the new <code>file_name</code> after stripping will be <code>A.h5</code>.</li> +</ol> +</li> +</ul> +<p>The library opens the target file <code>file_name</code> with the file access property list that is set via <a class="el" href="group___l_a_p_l.html#ga3895e8e60ce8f0b6f32ab7a22c715d1a" title="Sets a file access property list for use in accessing a file pointed to by an external link.">H5Pset_elink_fapl()</a> when the external link link_name is accessed. If no such property list is set, the library uses the file access property list associated with the file of <code>link_loc_id</code> to open the target file.</p> +<p>If an application requires additional control over file access flags or the file access property list, see <a class="el" href="group___l_a_p_l.html#ga8850042eed51777866d7bd0d050cfdc2" title="Sets the external link traversal callback function in a link access property list.">H5Pset_elink_cb()</a>; this function enables the use of an external link callback function as described in <a class="el" href="_h5_lpublic_8h.html#a96345937d04b66a13baec1ef1a6cff76" title="Callback for external link traversal.">H5L_elink_traverse_t()</a>.</p> +<dl class="section attention"><dt>Attention</dt><dd>A file close degree property setting (<a class="el" href="group___f_a_p_l.html#ga60e3567f677fd3ade75b909b636d7b9c" title="Sets the file close degree.">H5Pset_fclose_degree()</a>) in the external link file access property list or in the external link callback function will be ignored. A file opened by means of traversing an external link is always opened with the weak file close degree property setting, <a class="el" href="_h5_fpublic_8h.html#aa85fa00d037d2b0401cf72edf9a6475faea1127311a219b44e4af3cb12609035f">H5F_CLOSE_WEAK</a> .</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2" title="Creates a hard link to an object.">H5Lcreate_hard()</a>, <a class="el" href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78" title="Creates a soft link.">H5Lcreate_soft()</a>, <a class="el" href="group___h5_l.html#gadaf9732947c45cd4d2442e7f58873fc2" title="Creates a link of a user-defined type.">H5Lcreate_ud()</a></dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="ga69d50f7acdfd2f1dc7c4372397e63bd2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga69d50f7acdfd2f1dc7c4372397e63bd2">◆ </a></span>H5Lcreate_hard()</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> H5Lcreate_hard </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>cur_loc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>cur_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>dst_loc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>dst_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lcpl_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Creates a hard link to an object. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">cur_loc</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">cur_name</td><td>Name of the target object, which must already exist </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">dst_loc</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">dst_name</td><td>The name of the new link </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lcpl_id</td><td>Link creation property list identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#ga69d50f7acdfd2f1dc7c4372397e63bd2" title="Creates a hard link to an object.">H5Lcreate_hard()</a> creates a new hard link to a pre-existing object in an HDF5 file.</p> +<p><code>cur_loc</code> and <code>cur_name</code> specify the location and name, respectively, of the target object, i.e., the object that the new hard link points to. <code>dst_loc</code> and <code>dst_name</code> specify the location and name, respectively, of the new hard link.</p> +<p><code>cur_name</code> and <code>dst_name</code> are interpreted relative to <code>cur_loc</code> and <code>dst_loc</code>, respectively. If <code>cur_loc</code> and <code>dst_loc</code> are the same location, the HDF5 macro <a class="el" href="_h5_lpublic_8h.html#a484bbac16dab421b9e32c4d9c2128658" title="Macro to indicate operation occurs on same location.">H5L_SAME_LOC</a> can be used for either parameter (but not both).</p> +<p><code>lcpl_id</code> and <code>lapl_id</code> are the link creation and access property lists associated with the new link.</p> +<dl class="section note"><dt>Note</dt><dd>Hard and soft links are for use only if the target object is in the current file. If the desired target object is in a different file from the new link, an external link may be created with <a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external()</a>.</dd> +<dd> +The HDF5 library keeps a count of all hard links pointing to an object; if the hard link count reaches zero (0), the object will be deleted from the file. Creating new hard links to an object will prevent it from being deleted if other links are removed. The library maintains no similar count for soft links and they can dangle.</dd> +<dd> +The new link may be one of many that point to that object.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="ga894444623b58ce1ac3bd35538245ac78"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga894444623b58ce1ac3bd35538245ac78">◆ </a></span>H5Lcreate_soft()</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> H5Lcreate_soft </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>link_target</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>link_loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>link_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lcpl_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Creates a soft link. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">link_target</td><td>An HDF5 path name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">link_loc_id</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">link_name</td><td>The name of the new link </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lcpl_id</td><td>Link creation property list identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#ga894444623b58ce1ac3bd35538245ac78" title="Creates a soft link.">H5Lcreate_soft()</a> creates a new soft link to an object in an HDF5 file.</p> +<p><code>link_target</code> specifies the HDF5 path name the soft link contains. <code>link_target</code> can be an arbitrary HDF5 path name and is interpreted only at lookup time. This path may be absolute in the file or relative to <code>link_loc_id</code>.</p> +<p><code>link_loc_id</code> and <code>link_name</code> specify the location and name, respectively, of the new soft link. <code>link_name</code> is interpreted relative to <code>link_loc_id</code> and must contain only the name of the soft link; <code>link_name</code> may not contain any additional path elements.</p> +<p>If <code>link_loc_id</code> is a group identifier, the object pointed to by <code>link_name</code> will be accessed as a member of that group. If <code>link_loc_id</code> is a file identifier, the object will be accessed as a member of the file's root group.</p> +<p><code>lcpl_id</code> and <code>lapl_id</code> are the link creation and access property lists associated with the new link.</p> +<p>For instance, if target_path is <code></code>./foo, <code>link_loc_id</code> specifies <code></code>./x/y/bar, and the name of the new link is <code>new_link</code>, then a subsequent request for <code></code>./x/y/bar/new_link will return the same object as would be found at <code></code>./foo.</p> +<dl class="section note"><dt>Note</dt><dd><a class="el" href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78" title="Creates a soft link.">H5Lcreate_soft()</a> is for use only if the target object is in the current file. If the desired target object is in a different file from the new link, use <a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external()</a> to create an external link.</dd> +<dd> +Soft links and external links are also known as symbolic links as they use a name to point to an object; hard links employ an object’s address in the file.</dd> +<dd> +Unlike hard links, a soft link in an HDF5 file is allowed to dangle, meaning that the target object need not exist at the time that the link is created.</dd> +<dd> +The HDF5 library does not keep a count of soft links as it does of hard links.</dd> +<dd> +The new link may be one of many that point to that object.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2" title="Creates a hard link to an object.">H5Lcreate_hard()</a>, <a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external()</a></dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="gadaf9732947c45cd4d2442e7f58873fc2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gadaf9732947c45cd4d2442e7f58873fc2">◆ </a></span>H5Lcreate_ud()</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> H5Lcreate_ud </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>link_loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>link_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a> </td> + <td class="paramname"><em>link_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>udata</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>udata_size</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lcpl_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Creates a link of a user-defined type. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">link_loc_id</td><td>Location identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">link_name</td><td>Link name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">link_type</td><td>User-defined link class </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">udata</td><td>User-supplied link information </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">udata_size</td><td>Size of udata buffer </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lcpl_id</td><td>Link creation property list identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#gadaf9732947c45cd4d2442e7f58873fc2" title="Creates a link of a user-defined type.">H5Lcreate_ud()</a> creates a link of user-defined type <code>link_type</code> named <code>link_name</code> at the location specified in <code>link_loc_id</code> with user-specified data <code>udata</code>.</p> +<p><code>link_name</code> is interpreted relative to <code>link_loc_id</code>.</p> +<p>Valid values for the link class of the new link, <code>link_type</code>, include <a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06">H5L_TYPE_EXTERNAL</a> and any user-defined link classes that have been registered with the library. See <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 further information.</p> +<p>The format of the information pointed to by <code>udata</code> is defined by the user. <code>udata_size</code> specifies the size of the <code>udata</code> buffer. <code>udata</code> may be NULL if <code>udata_size</code> is zero (0).</p> +<p>The property lists specified by <code>lcpl_id</code> and <code>lapl_id</code> specify properties used to create and access the link.</p> +<dl class="section note"><dt>Note</dt><dd>The external link type, <a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06">H5L_TYPE_EXTERNAL</a>, included in the HDF5 library distribution, is implemented as a user-defined link type. This was done, in part, to provide a model for the implementation of other user-defined links.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="ga5b4e7f59f5d4bdae94fd8ce6875295cf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga5b4e7f59f5d4bdae94fd8ce6875295cf">◆ </a></span>H5Ldelete()</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> H5Ldelete </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Removes a link from a group. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the link to delete </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf" title="Removes a link from a group.">H5Ldelete()</a> removes the link specified by <code>name</code> from the location <code>loc_id</code>.</p> +<p>If the link being removed is a hard link, <a class="el" href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf" title="Removes a link from a group.">H5Ldelete()</a> also decrements the link count for the object to which name points. Unless there is a duplicate hard link in that group, this action removes the object to which name points from the group that previously contained it.</p> +<p>Object headers keep track of how many hard links refer to an object; when the hard link count, also referred to as the reference count, reaches zero, the object can be removed from the file. The file space associated will then be released, i.e., identified in memory as freespace. Objects which are open are not removed until all identifiers to the object are closed.</p> +<dl class="section attention"><dt>Attention</dt><dd>Exercise caution in the use of <a class="el" href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf" title="Removes a link from a group.">H5Ldelete()</a>; if the link being removed is on the only path leading to an HDF5 object, that object may become permanently inaccessible in the file.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2" title="Creates a hard link to an object.">H5Lcreate_hard()</a>, <a class="el" href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78" title="Creates a soft link.">H5Lcreate_soft()</a>, <a class="el" href="group___h5_l.html#ga15dfaeb9b1c0b3136533cb97ee45e683" title="Creates an external link, a soft link to an object in a different file.">H5Lcreate_external()</a></dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="gaaf5f820856afdd34f9070a797a246805"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaaf5f820856afdd34f9070a797a246805">◆ </a></span>H5Ldelete_by_idx()</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> H5Ldelete_by_idx </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>group_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> </td> + <td class="paramname"><em>n</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Removes the <em>n</em>-th link in a group. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">group_name</td><td>Name of subject group </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index or field which determines the order </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Order within field or index </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Link for which to retrieve information </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#gaaf5f820856afdd34f9070a797a246805" title="Removes the n-th link in a group.">H5Ldelete_by_idx()</a> removes the <em>n</em>-th link in a group according to the specified order, <code>order</code>, in the specified index, <code>index</code>.</p> +<p>If <code>loc_id</code> specifies the group in which the link resides, <code>group_name</code> can be a dot (<code></code>.).</p> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf" title="Removes a link from a group.">H5Ldelete()</a></dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="ga171be6e41dc1a464edc402df0ebdf801"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga171be6e41dc1a464edc402df0ebdf801">◆ </a></span>H5Lexists()</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> H5Lexists </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Determines whether a link with the specified name exists in a group. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Link name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> allows an application to determine whether the link <code>name</code> exists in the location specified by <code>loc_id</code>. The link may be of any type; only the presence of a link with that name is checked.</p> +<p>Note that <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> verifies only that the target link exists. If name includes either a relative path or an absolute path to the target link, intermediate steps along the path must be verified before the existence of the target link can be safely checked. If the path is not verified, and an intermediate element of the path does not exist, <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> will fail. The example in the next paragraph illustrates one step-by-step method for verifying the existence of a link with a relative or absolute path.</p> +<p><b>Example:</b> Use the following steps to verify the existence of the link <code>datasetD</code> in the <code>group</code> group1/group2/softlink_to_group3/, where <code>group1</code> is a member of the group specified by <code>loc_id:</code> </p> +<ol type="1"> +<li>First, use <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> to verify that the <code>group1</code> exists.</li> +<li>If <code>group1</code> exists, use <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> again, this time with name set to <code>group1/group2</code>, to verify that <code>group2</code> exists.</li> +<li>If <code>group2</code> exists, use <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> with name set to <code>group1/group2/softlink_to_group3</code> to verify that <code>softlink_to_group3</code> exists.</li> +<li>If <code>softlink_to_group3</code> exists, you can now safely use <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> with <code>name</code> set to <code>group1/group2/softlink_to_group3/datasetD</code> to verify that the target link, <code>datasetD</code>, exists.</li> +</ol> +<p>If the link to be verified is specified with an absolute path, the same approach should be used, but starting with the first link in the file’s root group. For instance, if <code>datasetD</code> were in <code>/group1/group2/softlink_to_group3</code>, the first call to <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> would have name set to <code>/group1</code>.</p> +<p>Note that this is an outline and does not include all the necessary details. Depending on circumstances, for example, you may need to verify that an intermediate link points to a group and that a soft link points to an existing target.</p> +<dl class="section note"><dt>Note</dt><dd>The behavior of <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> was changed in the 1.10 release in the case where the root group, <code>"/"</code>, is the name of the link. This change is described below: <ol> +<li> +Let <code>file</code> denote a valid HDF5 file identifier, and let <code>lapl</code> denote a valid link access property list identifier. A call to <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> with arguments <code>file</code>, <code>"/"</code>, and <code>lapl</code> returns a positive value; in other words, <code>H5Lexists(file, "/", lapl)</code> returns a positive value. In the HDF5 1.8 release, this function returns 0. </li> +<li> +Let <code>root</code> denote a valid HDF5 group identifier that refers to the root group of an HDF5 file, and let <code>lapl</code> denote a valid link access property list identifier. A call to <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> with arguments c root, <code>"/"</code>, and <code>lapl</code> returns a positive value; in other words, <code>H5Lexists(root, "/", lapl)</code> returns a positive value. In the HDF5 1.8 release, this function returns 0. </li> +</ol> +Note that the function accepts link names and path names. This is potentially misleading to callers, and we plan to separate the functionality for link names and path names in a future release.</dd></dl> +<dl class="section attention"><dt>Attention</dt><dd><a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists()</a> checks the existence of only the final element in a relative or absolute path; it does not check any other path elements. The function will therefore fail when both of the following conditions exist:<ul> +<li><code>name</code> is not local to the group specified by <code>loc_id</code> or, if <code>loc_id</code> is something other than a group identifier, <code>name</code> is not local to the root group.</li> +<li>Any element of the relative path or absolute path in name, except the target link, does not exist.</li> +</ul> +</dd></dl> +<dl class="section version"><dt>Version</dt><dd>1.10.0 Function behavior changed in this release. (See the note.) </dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="gacc2ad7f2b402c4bf9bb122d7f43b98dc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gacc2ad7f2b402c4bf9bb122d7f43b98dc">◆ </a></span>H5Lget_info1()</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> H5Lget_info1 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_h5_l__info1__t.html">H5L_info1_t</a> * </td> + <td class="paramname"><em>linfo</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Returns information about a link. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Link name </td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">linfo</td><td>Buffer in which link information is returned </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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> +<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000050">Deprecated:</a></b></dt><dd>As of HDF5-1.12 this function has been deprecated in favor of the function <a class="el" href="group___h5_l.html#ga65e63c6e880fd0183c40486d6748e400" title="Returns information about a link.">H5Lget_info2()</a> or the macro <a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info()</a>.</dd></dl> +<p><a class="el" href="group___h5_l.html#gacc2ad7f2b402c4bf9bb122d7f43b98dc" title="Returns information about a link.">H5Lget_info1()</a> returns information about the specified link through the <code>linfo</code> argument.</p> +<p>The location identifier, <code>loc_id</code>, specifies the location of the link. A link name, <code>name</code>, interpreted relative to <code>loc_id</code>, specifies the link being queried.</p> +<p><code>lapl_id</code> is the link access property list associated with the link <code>name</code>. In the general case, when default link access properties are acceptable, this can be passed in as <a class="el" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>. An example of a situation that requires a non-default link access property list is when the link is an external link; an external link may require that a link prefix be set in a link access property list (see <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix()</a>).</p> +<p><a class="el" href="group___h5_l.html#gacc2ad7f2b402c4bf9bb122d7f43b98dc" title="Returns information about a link.">H5Lget_info1()</a> returns information about name in the data structure <a class="el" href="struct_h5_l__info1__t.html">H5L_info1_t</a>, which is described below and defined in <a class="el" href="_h5_lpublic_8h.html">H5Lpublic.h</a>. This structure is returned in the buffer <code>linfo</code>. </p><div class="fragment"><div class="line"> </div> +<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div> +<div class="line"> <a class="code" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a> type; </div> +<div class="line"> <a class="code" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> corder_valid; </div> +<div class="line"> int64_t corder; </div> +<div class="line"> <a class="code" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71a">H5T_cset_t</a> cset; </div> +<div class="line"> <span class="keyword">union </span>{</div> +<div class="line"> <a class="code" href="_h5public_8h.html#a8c86e866f40d7167cf9a1934c72b856f">haddr_t</a> address; </div> +<div class="line"> <span class="keywordtype">size_t</span> val_size; </div> +<div class="line"> } u;</div> +<div class="line">} <a class="code" href="struct_h5_l__info1__t.html">H5L_info1_t</a>;</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="a_h5_tpublic_8h_html_a03755b8370672668ddc7063add28e71a"><div class="ttname"><a href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71a">H5T_cset_t</a></div><div class="ttdeci">H5T_cset_t</div><div class="ttdef"><b>Definition:</b> H5Tpublic.h:93</div></div> +<div class="ttc" id="a_h5public_8h_html_a8c86e866f40d7167cf9a1934c72b856f"><div class="ttname"><a href="_h5public_8h.html#a8c86e866f40d7167cf9a1934c72b856f">haddr_t</a></div><div class="ttdeci">uint64_t haddr_t</div><div class="ttdef"><b>Definition:</b> H5public.h:319</div></div> +<div class="ttc" id="a_h5public_8h_html_ad470b00eccd2115c707c02de5fa1120d"><div class="ttname"><a href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a></div><div class="ttdeci">bool hbool_t</div><div class="ttdef"><b>Definition:</b> H5public.h:243</div></div> +<div class="ttc" id="astruct_h5_l__info1__t_html"><div class="ttname"><a href="struct_h5_l__info1__t.html">H5L_info1_t</a></div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:1452</div></div> +</div><!-- fragment --><p> In the above struct, type specifies the link class. Valid values include the following: </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>There will be additional valid values if user-defined links have been registered.</p> +<p><code>corder</code> specifies the link’s creation order position while <code>corder_valid</code> indicates whether the value in <code>corder</code> is valid.</p> +<p>If <code>corder_valid</code> is <code>TRUE</code>, the value in <code>corder</code> is known to be valid; if <code>corder_valid</code> is <code>FALSE</code>, the value in <code>corder</code> is presumed to be invalid;</p> +<p><code>corder</code> starts at zero (0) and is incremented by one (1) as new links are created. But higher-numbered entries are not adjusted when a lower-numbered link is deleted; the deleted link’s creation order position is simply left vacant. In such situations, the value of <code>corder</code> for the last link created will be larger than the number of links remaining in the group.</p> +<p><code>cset</code> specifies the character set in which the link name is encoded. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71aa27383e03d1cad9b4c32d8611a145d663">H5T_CSET_ASCII</a></td><td>US ASCII</td></tr> +<tr> +<td><a class="el" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71aa41685667f69bf81eb7de5dd5f452e658">H5T_CSET_UTF8</a></td><td>UTF-8 Unicode encoding</td></tr> +</table> +<p>This value is set with <a class="el" href="group___a_c_p_l.html#gad4fa8e2d17236786f770cf17eef908cc" title="Sets the character encoding used to encode link and attribute names.">H5Pset_char_encoding</a>.</p> +<p><code>address</code> and <code>val_size</code> are returned for hard and symbolic links, respectively. Symbolic links include soft and external links and some user-defined links.</p> +<p>If the link is a hard link, <code>address</code> specifies the file address that the link points to.</p> +<p>If the link is a symbolic link, <code>val_size</code> will be the length of the link value, e.g., the length of the HDF5 path name with a null terminator.</p> +<dl class="section version"><dt>Version</dt><dd>1.12.0 Function was deprecated. </dd> +<dd> +1.8.2 Fortran subroutine added in this release. </dd> +<dd> +1.8.4 Fortran subroutine syntax changed in this release.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="ga65e63c6e880fd0183c40486d6748e400"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga65e63c6e880fd0183c40486d6748e400">◆ </a></span>H5Lget_info2()</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> H5Lget_info2 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_h5_l__info2__t.html">H5L_info2_t</a> * </td> + <td class="paramname"><em>linfo</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Returns information about a link. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Link name </td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">linfo</td><td>Buffer in which link information is returned </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#ga65e63c6e880fd0183c40486d6748e400" title="Returns information about a link.">H5Lget_info2()</a> returns information about the specified link through the <code>linfo</code> argument.</p> +<p>The location identifier, <code>loc_id</code>, specifies the location of the link. A link name, <code>name</code>, interpreted relative to <code>loc_id</code>, specifies the link being queried.</p> +<p><code>lapl_id</code> is the link access property list associated with the link name. In the general case, when default link access properties are acceptable, this can be passed in as <a class="el" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>. An example of a situation that requires a non-default link access property list is when the link is an external link; an external link may require that a link prefix be set in a link access property list (see <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix()</a>).</p> +<p><a class="el" href="group___h5_l.html#ga65e63c6e880fd0183c40486d6748e400" title="Returns information about a link.">H5Lget_info2()</a> returns information about name in the data structure <a class="el" href="struct_h5_l__info2__t.html" title="Information struct for links.">H5L_info2_t</a>, which is described below and defined in <a class="el" href="_h5_lpublic_8h.html">H5Lpublic.h</a>. This structure is returned in the buffer <code>linfo</code>. </p><div class="fragment"><div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div> +<div class="line"> <a class="code" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48">H5L_type_t</a> type; </div> +<div class="line"> <a class="code" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> corder_valid; </div> +<div class="line"> int64_t corder; </div> +<div class="line"> <a class="code" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71a">H5T_cset_t</a> cset; </div> +<div class="line"> <span class="keyword">union </span>{</div> +<div class="line"> <a class="code" href="struct_h5_o__token__t.html">H5O_token_t</a> token; </div> +<div class="line"> <span class="keywordtype">size_t</span> val_size; </div> +<div class="line"> } u;</div> +<div class="line">} <a class="code" href="struct_h5_l__info2__t.html">H5L_info2_t</a>;</div> +<div class="ttc" id="astruct_h5_l__info2__t_html"><div class="ttname"><a href="struct_h5_l__info2__t.html">H5L_info2_t</a></div><div class="ttdoc">Information struct for links.</div><div class="ttdef"><b>Definition:</b> H5Lpublic.h:87</div></div> +<div class="ttc" id="astruct_h5_o__token__t_html"><div class="ttname"><a href="struct_h5_o__token__t.html">H5O_token_t</a></div><div class="ttdef"><b>Definition:</b> H5public.h:394</div></div> +</div><!-- fragment --><p> In the above struct, <code>type</code> specifies the link class. Valid values include the following: </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>There will be additional valid values if user-defined links have been registered.</p> +<p><code>corder</code> specifies the link’s creation order position, while <code>corder_valid</code> indicates whether the value in corder is valid.</p> +<p>If <code>corder_valid</code> is <code>TRUE</code>, the value in <code>corder</code> is known to be valid; if <code>corder_valid</code> is <code>FALSE</code>, the value in <code>corder</code> is presumed to be invalid; <code>corder</code> starts at zero (0) and is incremented by one (1) as new links are created. But higher-numbered entries are not adjusted when a lower-numbered link is deleted; the deleted link's creation order position is simply left vacant. In such situations, the value of <code>corder</code> for the last link created will be larger than the number of links remaining in the group.</p> +<p><code>cset</code> specifies the character set in which the link name is encoded. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71aa27383e03d1cad9b4c32d8611a145d663">H5T_CSET_ASCII</a></td><td>US ASCII</td></tr> +<tr> +<td><a class="el" href="_h5_tpublic_8h.html#a03755b8370672668ddc7063add28e71aa41685667f69bf81eb7de5dd5f452e658">H5T_CSET_UTF8</a></td><td>UTF-8 Unicode encoding</td></tr> +</table> +<p>This value is set with <a class="el" href="group___a_c_p_l.html#gad4fa8e2d17236786f770cf17eef908cc" title="Sets the character encoding used to encode link and attribute names.">H5Pset_char_encoding</a>.</p> +<p><code>token</code> is the location that a hard link points to, and <code>val_size</code> is the size of a soft link or user-defined link value. <a class="el" href="struct_h5_o__token__t.html">H5O_token_t</a> is used in the VOL layer. It is defined in <a class="el" href="_h5public_8h.html">H5public.h</a> as: </p><div class="fragment"><div class="line"> </div> +<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct_h5_o__token__t.html">H5O_token_t</a> {</div> +<div class="line"> uint8_t <a class="code" href="struct_h5_o__token__t.html#adaac031833a234d10c1ff3130f6aa4cc">__data</a>[<a class="code" href="_h5public_8h.html#ac91e46b83ee173747f9792b33755ff0e">H5O_MAX_TOKEN_SIZE</a>];</div> +<div class="line">} <a class="code" href="struct_h5_o__token__t.html">H5O_token_t</a>;</div> +<div class="ttc" id="a_h5public_8h_html_ac91e46b83ee173747f9792b33755ff0e"><div class="ttname"><a href="_h5public_8h.html#ac91e46b83ee173747f9792b33755ff0e">H5O_MAX_TOKEN_SIZE</a></div><div class="ttdeci">#define H5O_MAX_TOKEN_SIZE</div><div class="ttdef"><b>Definition:</b> H5public.h:385</div></div> +<div class="ttc" id="astruct_h5_o__token__t_html_adaac031833a234d10c1ff3130f6aa4cc"><div class="ttname"><a href="struct_h5_o__token__t.html#adaac031833a234d10c1ff3130f6aa4cc">H5O_token_t::__data</a></div><div class="ttdeci">uint8_t __data[(16)]</div><div class="ttdef"><b>Definition:</b> H5public.h:395</div></div> +</div><!-- fragment --><p> If the link is a symbolic link, <code>val_size</code> will be the length of the link value, e.g., the length of the HDF5 path name with a null terminator.</p> +<dl class="section since"><dt>Since</dt><dd>1.12.0 </dd></dl> + +</div> +</div> +<a id="ga7ed207f47e0e0f768f0d540c73e37e2a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7ed207f47e0e0f768f0d540c73e37e2a">◆ </a></span>H5Lget_info_by_idx1()</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> H5Lget_info_by_idx1 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>group_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> </td> + <td class="paramname"><em>n</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_h5_l__info1__t.html">H5L_info1_t</a> * </td> + <td class="paramname"><em>linfo</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Retrieves metadata for a link in a group, according to the order within a field or index. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">group_name</td><td>Group name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Link position for which to retrieve information </td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">linfo</td><td>Buffer in which link information is returned </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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> +<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000051">Deprecated:</a></b></dt><dd>As of HDF5-1.12 this function has been deprecated in favor of the function <a class="el" href="group___h5_l.html#gaecfb3ef8520e9224b24a151ff8459ba9" title="Retrieves metadata for a link in a group, according to the order within a field or index.">H5Lget_info_by_idx2()</a> and the macro <a class="el" href="group___h5_l.html#ga4db00b8b944eae68233438165c784b67">H5Lget_info_by_idx()</a>.</dd></dl> +<p>H5get_info_by_idx1() returns the metadata for a link in a group according to a specified field or index and a specified order.</p> +<p>The link for which information is to be returned is specified by <code>idx_type</code>, <code>order</code>, and <code>n</code> as follows:</p> +<ul> +<li><code>idx_type</code> specifies the field by which the links in <code>group_name</code> are ordered. The links may be indexed on this field, in which case operations seeking specific links are likely to complete more quickly.</li> +<li><code>order</code> specifies the order in which the links are to be referenced for the purposes of this function.</li> +<li><code>n</code> specifies the position of the subject link. Note that this count is zero-based; 0 (zero) indicates that the function will return the value of the first link; if <code>n</code> is 5, the function will return the value of the sixth link; etc.</li> +</ul> +<p>For example, assume that <code>idx_type</code>, <code>order</code>, and <code>n</code> are <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a>, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a>, and 5, respectively. <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a> indicates that the links are accessed in lexicographic order by their names. <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a> specifies that the list be traversed in reverse order, or in decremented order. And 5 specifies that this call to the function will return the metadata for the 6th link (<code>n</code> + 1) from the end.</p> +<p>See <a class="el" href="group___t_r_a_v.html#ga1e7c0a8cf17699563c02e128f27042f1" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate1()</a> for a list of valid values and further discussion regarding <code>idx_type</code> and <code>order</code>.</p> +<p>If <code>loc_id</code> specifies the group in which the link resides, <code>group_name</code> can be a dot (<code></code>.).</p> +<dl class="section version"><dt>Version</dt><dd>1.12.0 Function was renamed to H5Lget_index_by_idx1() and deprecated. </dd> +<dd> +1.8.4 Fortran subroutine syntax changed in this release. </dd> +<dd> +1.8.2 Fortran subroutine added in this release.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="gaecfb3ef8520e9224b24a151ff8459ba9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaecfb3ef8520e9224b24a151ff8459ba9">◆ </a></span>H5Lget_info_by_idx2()</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> H5Lget_info_by_idx2 </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>group_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> </td> + <td class="paramname"><em>n</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="struct_h5_l__info2__t.html">H5L_info2_t</a> * </td> + <td class="paramname"><em>linfo</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Retrieves metadata for a link in a group, according to the order within a field or index. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">group_name</td><td>Group name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Link position for which to retrieve information </td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">linfo</td><td>Buffer in which link information is returned </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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>H5get_info_by_idx2() returns the metadata for a link in a group according to a specified field or index and a specified order. The link for which information is to be returned is specified by <code>idx_type</code>, <code>order</code>, and <code>n</code> as follows:</p> +<ul> +<li><code>idx_type</code> specifies the field by which the links in <code>group_name</code> are ordered. The links may be indexed on this field, in which case operations seeking specific links are likely to complete more quickly.</li> +<li><code>order</code> specifies the order in which the links are to be referenced for the purposes of this function.</li> +<li><code>n</code> specifies the position of the subject link. Note that this count is zero-based; 0 (zero) indicates that the function will return the value of the first link; if <code>n</code> is 5, the function will return the value of the sixth link; etc.</li> +</ul> +<p>For example, assume that <code>idx_type</code>, <code>order</code>, and <code>n</code> are <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a>, <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a>, and 5, respectively. <a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a> indicates that the links are accessed in lexicographic order by their names. <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a> specifies that the list be traversed in reverse order, or in decremented order. And 5 specifies that this call to the function will return the metadata for the 6th link (<code>n</code> + 1) from the end.</p> +<p>See <a class="el" href="group___t_r_a_v.html#gad7ca4206f06b5ada85b6ec5867ec6c73" title="Iterates over links in a group, with user callback routine, according to the order within an index.">H5Literate2()</a> for a list of valid values and further discussion regarding <code>idx_type</code> and <code>order</code>.</p> +<p>If <code>loc_id</code> specifies the group in which the link resides, <code>group_name</code> can be a dot (<code></code>.).</p> +<dl class="section since"><dt>Since</dt><dd>1.12.0</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___h5_l.html#ga65e63c6e880fd0183c40486d6748e400" title="Returns information about a link.">H5Lget_info2()</a> </dd></dl> + +</div> +</div> +<a id="ga453ea40c3bb85ec8120dd17deed2bd90"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga453ea40c3bb85ec8120dd17deed2bd90">◆ </a></span>H5Lget_name_by_idx()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="_h5public_8h.html#af629ed855824cf5955b54529adf78ad6">ssize_t</a> H5Lget_name_by_idx </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>group_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> </td> + <td class="paramname"><em>n</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char * </td> + <td class="paramname"><em>name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>size</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Retrieves name of the <em>n</em>-th link in a group, according to the order within a specified field or index. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">group_name</td><td>Group name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Index type </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Iteration order </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Link position for which to retrieve information </td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">name</td><td>Buffer in which link name is returned </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size in bytes of <code>name</code> </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list identifier</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Returns the size of the link name if successful; otherwise returns a negative value.</dd></dl> +<p>H5get_name_by_idx() retrieves the name of the <em>n</em>-th link in a group, according to the specified order, <code>order</code>, within a specified field or index, <code>idx_type</code>.</p> +<p><code>idx_type</code> specifies the index that is used. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a644e6701706be4d37660864336c7bd3e">H5_INDEX_NAME</a></td><td>Lexicographic order on name</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3a315475479b34056043b4b6583bafb280">H5_INDEX_CRT_ORDER</a></td><td>Index on creation order</td></tr> +</table> +<p><code>order</code> specifies the order in which objects are inspected along the index specified in <code>idx_type</code>. Valid values include the following: </p><table class="doxtable"> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a></td><td>Increasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a></td><td>Decreasing order</td></tr> +<tr> +<td><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a></td><td>Fastest available order</td></tr> +</table> +<p>If <code>loc_id</code> specifies the group in which the link resides, <code>group_name</code> can be a dot (<code></code>.).</p> +<p>The size in bytes of name is specified in <code>size</code>. If <code>size</code> is unknown, it can be determined via an initial <a class="el" href="group___h5_l.html#ga453ea40c3bb85ec8120dd17deed2bd90" title="Retrieves name of the n-th link in a group, according to the order within a specified field or index.">H5Lget_name_by_idx()</a> call with name set to NULL; the function's return value will be the size of the name.</p> +<dl class="section note"><dt>Note</dt><dd>Please note that in order for the specified index to correspond to the creation order index, <code>order</code> must be set to <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a80c3e083c0a77063b1a66553decfcb08">H5_ITER_INC</a> or <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a2f123d7a4d68054e8aa2d0f1d0a3fcd2">H5_ITER_DEC</a> when calling <a class="el" href="group___h5_l.html#ga453ea40c3bb85ec8120dd17deed2bd90" title="Retrieves name of the n-th link in a group, according to the order within a specified field or index.">H5Lget_name_by_idx()</a>. </dd> +<dd> +The index <code>n</code> passed to <a class="el" href="group___h5_l.html#ga453ea40c3bb85ec8120dd17deed2bd90" title="Retrieves name of the n-th link in a group, according to the order within a specified field or index.">H5Lget_name_by_idx()</a> is the index of the link within the link table, sorted according to <code>order</code> and <code>idx_type</code>. If order is <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a>, then the link table is not sorted, and it does not matter what <code>idx_type</code> is. Specifying <a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9a15eebaf7d85d5e37e918858634e29d01">H5_ITER_NATIVE</a> does not guarantee any particular order, only that it remains consistent.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="ga8eaacc372afc314e44521dfc1f66dcf4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8eaacc372afc314e44521dfc1f66dcf4">◆ </a></span>H5Lget_val()</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> H5Lget_val </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>buf</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>size</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Returns the value of a link. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Link name </td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>The buffer to hold the link value </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Maximum number of bytes of link value to be returned </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#ga8eaacc372afc314e44521dfc1f66dcf4" title="Returns the value of a link.">H5Lget_val()</a> returns the value of link <code>name</code>. For symbolic links, this is the path to which the link points, including the null terminator. For external and user-defined links, it is the link buffer.</p> +<p><code>size</code> is the size of <code>buf</code> and should be the size of the link value being returned. This size value can be determined through a call to <a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info()</a>; it is returned in the <code>val_size</code> field of the <a class="el" href="_h5version_8h.html#af542682cfe46de7b0759e52a1608d1e4">H5L_info_t</a> <code>struct</code>.</p> +<p>If <code>size</code> is smaller than the size of the returned value, then the string stored in <code>buf</code> will be truncated to <code>size</code> bytes. For soft links, this means that the value will not be null terminated.</p> +<p>In the case of external links, the target file and object names are extracted from <code>buf</code> by calling <a class="el" href="group___h5_l.html#gade0c3b274c185d148f000172fbdc3220" title="Decodes external link information.">H5Lunpack_elink_val()</a>.</p> +<p>The link class of link <code>name</code> can be determined with a call to <a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info()</a>.</p> +<p><code>lapl_id</code> specifies the link access property list associated with the link <code>name</code>. In the general case, when default link access properties are acceptable, this can be passed in as <a class="el" href="_h5_ppublic_8h.html#afa85e97bfbf9bf1c58e39263846c568f">H5P_DEFAULT</a>. An example of a situation that requires a non-default link access property list is when the link is an external link; an external link may require that a link prefix be set in a link access property list (see <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix()</a>).</p> +<p>This function should be used only after <a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info()</a> has been called to verify that <code>name</code> is a symbolic link. This can be determined from the <code>link_type</code> field of the <a class="el" href="_h5version_8h.html#af542682cfe46de7b0759e52a1608d1e4">H5L_info_t</a> <code>struct</code>.</p> +<dl class="section note"><dt>Note</dt><dd>This function will fail if called on a hard link.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___h5_l.html#gaf7be56de947e09a8d084e9d13a90bf3c" title="Retrieves value of the n-th link in a group, according to the order within an index.">H5Lget_val_by_idx()</a></dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="gaf7be56de947e09a8d084e9d13a90bf3c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf7be56de947e09a8d084e9d13a90bf3c">◆ </a></span>H5Lget_val_by_idx()</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> H5Lget_val_by_idx </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>loc_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>group_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a8203c78e10ab2d89d8bce688a31afad3">H5_index_t</a> </td> + <td class="paramname"><em>idx_type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a6a6ddd1504d1ed61939d46d91d9441b9">H5_iter_order_t</a> </td> + <td class="paramname"><em>order</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5public_8h.html#a7f81cce70fb546af88da24d9285d3c1c">hsize_t</a> </td> + <td class="paramname"><em>n</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>buf</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>size</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Retrieves value of the <em>n</em>-th link in a group, according to the order within an index. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">loc_id</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">group_name</td><td>Group name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">idx_type</td><td>Type of index </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>Order within field or index </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Link position for which to retrieve information </td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>The buffer to hold the link value </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Maximum number of bytes of link value to be returned </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#gaf7be56de947e09a8d084e9d13a90bf3c" title="Retrieves value of the n-th link in a group, according to the order within an index.">H5Lget_val_by_idx()</a> retrieves the value of the <em>n</em>-th link in a group, according to the specified order, <code>order</code>, within an index, <code>index</code>.</p> +<p>For soft links, the value is an HDF5 path name.</p> +<p>For external links, this is a compound value containing file and path name information; to use this external link information, it must first be decoded with <a class="el" href="group___h5_l.html#gade0c3b274c185d148f000172fbdc3220" title="Decodes external link information.">H5Lunpack_elink_val()</a></p> +<p>For user-defined links, this value will be described in the definition of the user-defined link type.</p> +<p><code>loc_id</code> specifies the location identifier of the group specified by <code>group_name</code>.</p> +<p><code>group_name</code> specifies the group in which the link exists. If <code>loc_id</code> already specifies the group in which the link exists, <code>group_name</code> must be a dot (<code></code>.).</p> +<p>The size in bytes of link_val is specified in <code>size</code>. The size value can be determined through a call to <a class="el" href="group___h5_l.html#ga4db00b8b944eae68233438165c784b67">H5Lget_info_by_idx()</a>; it is returned in the <code>val_size</code> field of the <a class="el" href="_h5version_8h.html#af542682cfe46de7b0759e52a1608d1e4">H5L_info_t</a> <code>struct</code>. If size is smaller than the size of the returned value, then the string stored in link_val will be truncated to size bytes. For soft links, this means that the value will not be null terminated.</p> +<p>If the type of the link is unknown or uncertain, <a class="el" href="group___h5_l.html#gaf7be56de947e09a8d084e9d13a90bf3c" title="Retrieves value of the n-th link in a group, according to the order within an index.">H5Lget_val_by_idx()</a> should be called only after the type has been determined via a call to <a class="el" href="group___h5_l.html#ga4db00b8b944eae68233438165c784b67">H5Lget_info_by_idx()</a>.</p> +<dl class="section note"><dt>Note</dt><dd>This function will fail if called on a hard link.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___h5_l.html#ga8eaacc372afc314e44521dfc1f66dcf4" title="Returns the value of a link.">H5Lget_val()</a></dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl> + +</div> +</div> +<a id="ga0bbc7f9bf25c8aca9dd8433a325c8acb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0bbc7f9bf25c8aca9dd8433a325c8acb">◆ </a></span>H5Lmove()</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> H5Lmove </td> + <td>(</td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>src_loc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>src_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>dst_loc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>dst_name</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lcpl_id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td> + <td class="paramname"><em>lapl_id</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Moves a link within an HDF5 file. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">src_loc</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">src_name</td><td>Original link name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">dst_loc</td><td>Location identifier. The identifier may be that of a file, group, dataset, named datatype, or attribute. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">dst_name</td><td>New link name </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lcpl_id</td><td>Link creation property list identifier </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">lapl_id</td><td>Link access property list 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.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb" title="Moves a link within an HDF5 file.">H5Lmove()</a> moves a link within an HDF5 file. The original link, <code>src_name</code>, is removed from <code>src_loc</code> and the new link, <code>dst_name</code>, is inserted at dst_loc. This change is accomplished as an atomic operation.</p> +<p><code>src_loc</code> and <code>src_name</code> identify the original link. <code>src_loc</code> is the original location identifier; <code>src_name</code> is the path to the link and is interpreted relative to <code>src_loc</code>.</p> +<p><code>dst_loc</code> and <code>dst_name</code> identify the new link. <code>dst_loc</code> is either a file or group identifier; <code>dst_name</code> is the path to the link and is interpreted relative to <code>dst_loc</code>.</p> +<p><code>lcpl_id</code> and <code>lapl_id</code> are the link creation and link access property lists, respectively, associated with the new link, <code>dst_name</code>.</p> +<p>Through these property lists, several properties are available to govern the behavior of <a class="el" href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb" title="Moves a link within an HDF5 file.">H5Lmove()</a>. The property controlling creation of missing intermediate groups is set in the link creation property list with <a class="el" href="group___l_c_p_l.html#ga66c4c5d3f34e5cf65d00e47a5387383c" title="Specifies in property list whether to create missing intermediate groups.">H5Pset_create_intermediate_group()</a>; <a class="el" href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb" title="Moves a link within an HDF5 file.">H5Lmove()</a> ignores any other properties in the link creation property list. Properties controlling character encoding, link traversals, and external link prefixes are set in the link access property list with <a class="el" href="group___a_c_p_l.html#gad4fa8e2d17236786f770cf17eef908cc" title="Sets the character encoding used to encode link and attribute names.">H5Pset_char_encoding()</a>, <a class="el" href="group___l_a_p_l.html#gaa46c63c196a0cf5cd94dede039c030f4" title="Sets maximum number of soft or user-defined link traversals.">H5Pset_nlinks()</a>, and <a class="el" href="group___l_a_p_l.html#gafa5eced13ba3a00cdd65669626dc7294" title="Sets prefix to be applied to external link paths.">H5Pset_elink_prefix()</a>, respectively.</p> +<dl class="section note"><dt>Note</dt><dd>Note that <a class="el" href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb" title="Moves a link within an HDF5 file.">H5Lmove()</a> does not modify the value of the link; the new link points to the same object as the original link pointed to. Furthermore, if the object pointed to by the original link was already open with a valid object identifier, that identifier will remain valid after the call to <a class="el" href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb" title="Moves a link within an HDF5 file.">H5Lmove()</a>.</dd></dl> +<dl class="section attention"><dt>Attention</dt><dd>Exercise care in moving links as it is possible to render data in a file inaccessible with <a class="el" href="group___h5_l.html#ga0bbc7f9bf25c8aca9dd8433a325c8acb" title="Moves a link within an HDF5 file.">H5Lmove()</a>. If the link being moved is on the only path leading to an HDF5 object, that object may become permanently inaccessible in the file.</dd></dl> +<dl class="section since"><dt>Since</dt><dd>1.8.0</dd></dl> +<hr /> + +</div> +</div> +<a id="gade0c3b274c185d148f000172fbdc3220"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gade0c3b274c185d148f000172fbdc3220">◆ </a></span>H5Lunpack_elink_val()</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> H5Lunpack_elink_val </td> + <td>(</td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>ext_linkval</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>link_size</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned * </td> + <td class="paramname"><em>flags</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char ** </td> + <td class="paramname"><em>filename</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char ** </td> + <td class="paramname"><em>obj_path</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Decodes external link information. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">ext_linkval</td><td>Buffer containing external link information </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">link_size</td><td>Size, in bytes, of the <code>ext_linkval</code> buffer </td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td>External link flags, packed as a bitmap (<em>Reserved as a bitmap for flags; no flags are currently defined, so the only valid value * is 0.</em>) </td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">filename</td><td>Returned filename</td></tr> + <tr><td class="paramdir">[out]</td><td class="paramname">obj_path</td><td>Returned object path, relative to <code>filename</code> </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.html#gade0c3b274c185d148f000172fbdc3220" title="Decodes external link information.">H5Lunpack_elink_val()</a> decodes the external link information returned by <a class="el" href="group___h5_l.html#ga8eaacc372afc314e44521dfc1f66dcf4" title="Returns the value of a link.">H5Lget_val()</a> in the <code>ext_linkval</code> buffer.</p> +<p><code>ext_linkval</code> should be the buffer set by <a class="el" href="group___h5_l.html#ga8eaacc372afc314e44521dfc1f66dcf4" title="Returns the value of a link.">H5Lget_val()</a> and will consist of two NULL-terminated strings, the filename and object path, one after the other.</p> +<p>Given this buffer, <a class="el" href="group___h5_l.html#gade0c3b274c185d148f000172fbdc3220" title="Decodes external link information.">H5Lunpack_elink_val()</a> creates pointers to the filename and object path within the buffer and returns them in <code>filename</code> and <code>obj_path</code>, unless they are passed in as NULL.</p> +<p><a class="el" href="group___h5_l.html#gade0c3b274c185d148f000172fbdc3220" title="Decodes external link information.">H5Lunpack_elink_val()</a> requires that <code>ext_linkval</code> contain a concatenated pair of null-terminated strings, so use of this function on a string that is not an external link <code>udata</code> buffer may result in a segmentation fault. This failure can be avoided by adhering to the following procedure: </p><ol> +<li> +Call <a class="el" href="group___h5_l.html#ga97279697f3010a6ad31dd7f4341eb698">H5Lget_info()</a> to get the link type and the size of the link value.</li> +<li> +</li> +<li> +Verify that the link is an external link, i.e., that its link type is <a class="el" href="_h5_lpublic_8h.html#a1e3c5d37c60e7a59b0179e26a4094a48a1b8b636539eab03587c22735ec84ea06">H5L_TYPE_EXTERNAL</a>. </li> +<li> +Call <a class="el" href="group___h5_l.html#ga8eaacc372afc314e44521dfc1f66dcf4" title="Returns the value of a link.">H5Lget_val()</a> to get the link value. </li> +<li> +Call <a class="el" href="group___h5_l.html#gade0c3b274c185d148f000172fbdc3220" title="Decodes external link information.">H5Lunpack_elink_val()</a> to unpack that value. </li> +</ol> +<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:38 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> |