1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
|
<!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: Property List Class Root</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.8253ab9</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___p_l_c_r.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Property List Class Root<div class="ingroups"><a class="el" href="group___h5_p.html">Property Lists (H5P)</a></div></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 property lists.</p>
<p><a class="anchor" id="table_plcr_id"></a>
<table class="doxtable">
<caption border="1" style="background-color:whitesmoke;">Property list class root functions (H5P)</caption>
<tr>
<th>Function </th><th>Purpose </th></tr>
<tr>
<td><a class="el" href="group___p_l_c_r.html#ga5dce61149211d3ef319452aa598887fb" title="Terminates access to a property list.">H5Pclose</a> </td><td>Terminates access to a property list. </td></tr>
<tr>
<td><a class="el" href="group___p_l_c_r.html#gad2663ccbcbf76b96cde4c104588ae21b" title="Copies an existing property list to create a new property list.">H5Pcopy</a> </td><td>Copies an existing property list to create a new property list. </td></tr>
<tr>
<td><a class="el" href="group___p_l_c_r.html#gaf1b11da01d4d45d788c45f8bc5f0cbfa" title="Creates a new property list as an instance of a property list class.">H5Pcreate</a> </td><td>Creates a new property list as an instance of a property list class. </td></tr>
<tr>
<td><a class="el" href="_h5version_8h.html#af1a9ff52a69251d57ffa686102f162a8">H5Pencode</a>/<a class="el" href="group___p_l_c_r.html#gafd75009eb96922e72beffa78718d4bdd" title="Decodes property list received in a binary object buffer and returns a new property list identifier.">H5Pdecode</a> </td><td>Encodes/ecodes property list into/from a binary object buffer. </td></tr>
<tr>
<td><a class="el" href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5" title="Returns the property list class identifier for a property list.">H5Pget_class</a> </td><td>Returns the property list class identifier for a property list </td></tr>
</table>
</p>
<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 Property List Class Root:</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___p_l_c_r.png" border="0" usemap="#agroup______p__l__c__r" alt=""/></div>
<map name="agroup______p__l__c__r" id="agroup______p__l__c__r">
<area shape="rect" title=" " alt="" coords="204,5,381,31"/>
<area shape="rect" href="group___h5_p.html" title=" " alt="" coords="5,5,156,31"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga5dce61149211d3ef319452aa598887fb"><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___p_l_c_r.html#ga5dce61149211d3ef319452aa598887fb">H5Pclose</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id)</td></tr>
<tr class="memdesc:ga5dce61149211d3ef319452aa598887fb"><td class="mdescLeft"> </td><td class="mdescRight">Terminates access to a property list. <a href="group___p_l_c_r.html#ga5dce61149211d3ef319452aa598887fb">More...</a><br /></td></tr>
<tr class="separator:ga5dce61149211d3ef319452aa598887fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad2663ccbcbf76b96cde4c104588ae21b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_c_r.html#gad2663ccbcbf76b96cde4c104588ae21b">H5Pcopy</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id)</td></tr>
<tr class="memdesc:gad2663ccbcbf76b96cde4c104588ae21b"><td class="mdescLeft"> </td><td class="mdescRight">Copies an existing property list to create a new property list. <a href="group___p_l_c_r.html#gad2663ccbcbf76b96cde4c104588ae21b">More...</a><br /></td></tr>
<tr class="separator:gad2663ccbcbf76b96cde4c104588ae21b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf1b11da01d4d45d788c45f8bc5f0cbfa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_c_r.html#gaf1b11da01d4d45d788c45f8bc5f0cbfa">H5Pcreate</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> cls_id)</td></tr>
<tr class="memdesc:gaf1b11da01d4d45d788c45f8bc5f0cbfa"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new property list as an instance of a property list class. <a href="group___p_l_c_r.html#gaf1b11da01d4d45d788c45f8bc5f0cbfa">More...</a><br /></td></tr>
<tr class="separator:gaf1b11da01d4d45d788c45f8bc5f0cbfa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafd75009eb96922e72beffa78718d4bdd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_c_r.html#gafd75009eb96922e72beffa78718d4bdd">H5Pdecode</a> (const void *buf)</td></tr>
<tr class="memdesc:gafd75009eb96922e72beffa78718d4bdd"><td class="mdescLeft"> </td><td class="mdescRight">Decodes property list received in a binary object buffer and returns a new property list identifier. <a href="group___p_l_c_r.html#gafd75009eb96922e72beffa78718d4bdd">More...</a><br /></td></tr>
<tr class="separator:gafd75009eb96922e72beffa78718d4bdd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga37b1b6666e62a86389015e7dfc384faa"><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___p_l_c_r.html#ga37b1b6666e62a86389015e7dfc384faa">H5Pencode2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, void *buf, size_t *nalloc, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> fapl_id)</td></tr>
<tr class="memdesc:ga37b1b6666e62a86389015e7dfc384faa"><td class="mdescLeft"> </td><td class="mdescRight">Encodes the property values in a property list into a binary buffer. <a href="group___p_l_c_r.html#ga37b1b6666e62a86389015e7dfc384faa">More...</a><br /></td></tr>
<tr class="separator:ga37b1b6666e62a86389015e7dfc384faa"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga9b230c1e85790f9f45c4ca2e79dd62c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id)</td></tr>
<tr class="memdesc:ga9b230c1e85790f9f45c4ca2e79dd62c5"><td class="mdescLeft"> </td><td class="mdescRight">Returns the property list class identifier for a property list. <a href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5">More...</a><br /></td></tr>
<tr class="separator:ga9b230c1e85790f9f45c4ca2e79dd62c5"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga5dce61149211d3ef319452aa598887fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5dce61149211d3ef319452aa598887fb">◆ </a></span>H5Pclose()</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> H5Pclose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td>
<td class="paramname"><em>plist_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Terminates access to a property list. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>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___p_l_c_r.html#ga5dce61149211d3ef319452aa598887fb" title="Terminates access to a property list.">H5Pclose()</a> terminates access to a property list. All property lists should be closed when the application is finished accessing them. This frees resources used by the property list.</p>
<dl class="section since"><dt>Since</dt><dd>1.0.0 </dd></dl>
</div>
</div>
<a id="gad2663ccbcbf76b96cde4c104588ae21b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad2663ccbcbf76b96cde4c104588ae21b">◆ </a></span>H5Pcopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Pcopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td>
<td class="paramname"><em>plist_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copies an existing property list to create a new property list. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Property list identifier</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a property list identifier if successful; otherwise returns <a class="el" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>.</dd></dl>
<p><a class="el" href="group___p_l_c_r.html#gad2663ccbcbf76b96cde4c104588ae21b" title="Copies an existing property list to create a new property list.">H5Pcopy()</a> copies an existing property list to create a new property list. The new property list has the same properties and values as the original property list.</p>
<dl class="section since"><dt>Since</dt><dd>1.0.0 </dd></dl>
</div>
</div>
<a id="gaf1b11da01d4d45d788c45f8bc5f0cbfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf1b11da01d4d45d788c45f8bc5f0cbfa">◆ </a></span>H5Pcreate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Pcreate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td>
<td class="paramname"><em>cls_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new property list as an instance of a property list class. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cls_id</td><td>Property list class identifier</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a property list identifier if successful; otherwise returns <a class="el" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>.</dd></dl>
<p><a class="el" href="group___p_l_c_r.html#gaf1b11da01d4d45d788c45f8bc5f0cbfa" title="Creates a new property list as an instance of a property list class.">H5Pcreate()</a> creates a new property list as an instance of some property list class. The new property list is initialized with default values for the specified class. The classes are as follows:</p>
<table class="doxtable">
<tr>
<th>Class Identifier </th><th>Class Name </th><th>Comments </th></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#aa0102211c679e031e2e9831b66c48a12">H5P_ATTRIBUTE_CREATE</a> </td><td>attribute create </td><td>Properties for attribute creation </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#afd849c0834c8ce6580b7c2537dbd9b5d">H5P_DATASET_ACCESS</a> </td><td>dataset access </td><td>Properties for dataset access </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#afcd7f8186c404f3a1d768632eacba102">H5P_DATASET_CREATE</a> </td><td>dataset create </td><td>Properties for dataset creation </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#a6f9c8a5aba72c0445fff384bf418a80d">H5P_DATASET_XFER</a> </td><td>data transfer </td><td>Properties for raw data transfer </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#aa67fdce00f24807a835955ac474febce">H5P_DATATYPE_ACCESS</a> </td><td>datatype access </td><td>Properties for datatype access </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#a6d9318d499a66b4a934fe1839b29566e">H5P_DATATYPE_CREATE</a> </td><td>datatype create </td><td>Properties for datatype creation </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#a60ec2d4334addfc0eda89614598ee38e">H5P_FILE_ACCESS</a> </td><td>file access </td><td>Properties for file access </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#a206f334f1e6c973e1215a3148b45b977">H5P_FILE_CREATE</a> </td><td>file create </td><td>Properties for file creation </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#a3f57eb3c4081b40ff8b036f438e68e5b">H5P_FILE_MOUNT</a> </td><td>file mount </td><td>Properties for file mounting </td></tr>
<tr valign="top">
<td><a class="el" href="_h5_ppublic_8h.html#aca0fe0d98945364fe1320bf3af056b9d">H5P_GROUP_ACCESS</a> </td><td>group access </td><td>Properties for group access </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#a8330a95b257d45d6347a2daa96f261e9">H5P_GROUP_CREATE</a> </td><td>group create </td><td>Properties for group creation </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#a130a641715c9a0f3597792ce630fbe6f">H5P_LINK_ACCESS</a> </td><td>link access </td><td>Properties governing link traversal when accessing objects </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#ad2c1d10104f0262c826350ccbf7c49f2">H5P_LINK_CREATE</a> </td><td>link create </td><td>Properties governing link creation </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#a7cedfd989522e8d7697a414d1d707e43">H5P_OBJECT_COPY</a> </td><td>object copy </td><td>Properties governing the object copying process </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#a42df2a1c964d2b985abc6e422abf6463">H5P_OBJECT_CREATE</a> </td><td>object create </td><td>Properties for object creation </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#ad5c40cc58ce5ddb42dff95eb684bd6cf">H5P_STRING_CREATE</a> </td><td>string create </td><td>Properties for character encoding when encoding strings or object names </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#afebc2bfbcba7288957a33837b6a070a5">H5P_VOL_INITIALIZE</a> </td><td>vol initialize </td><td>Properties for VOL initialization </td></tr>
</table>
<p>This property list must eventually be closed with <a class="el" href="group___p_l_c_r.html#ga5dce61149211d3ef319452aa598887fb" title="Terminates access to a property list.">H5Pclose()</a>; otherwise, errors are likely to occur.</p>
<dl class="section version"><dt>Version</dt><dd>1.12.0 The <a class="el" href="_h5_ppublic_8h.html#afebc2bfbcba7288957a33837b6a070a5">H5P_VOL_INITIALIZE</a> property list class was added </dd>
<dd>
1.8.15 For each class, the class name returned by <a class="el" href="group___p_l_c_r_a.html#ga798759979c37e50b1a3f3403f0231928" title="Retrieves the name of a class.">H5Pget_class_name()</a> was added. The list of possible Fortran values was updated. </dd>
<dd>
1.8.0 The following property list classes were added at this release: <a class="el" href="_h5_ppublic_8h.html#afd849c0834c8ce6580b7c2537dbd9b5d">H5P_DATASET_ACCESS</a>, <a class="el" href="_h5_ppublic_8h.html#a8330a95b257d45d6347a2daa96f261e9">H5P_GROUP_CREATE</a>, <a class="el" href="_h5_ppublic_8h.html#aca0fe0d98945364fe1320bf3af056b9d">H5P_GROUP_ACCESS</a>, <a class="el" href="_h5_ppublic_8h.html#a6d9318d499a66b4a934fe1839b29566e">H5P_DATATYPE_CREATE</a>, <a class="el" href="_h5_ppublic_8h.html#aa67fdce00f24807a835955ac474febce">H5P_DATATYPE_ACCESS</a>, <a class="el" href="_h5_ppublic_8h.html#aa0102211c679e031e2e9831b66c48a12">H5P_ATTRIBUTE_CREATE</a></dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0.0 </dd></dl>
</div>
</div>
<a id="gafd75009eb96922e72beffa78718d4bdd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafd75009eb96922e72beffa78718d4bdd">◆ </a></span>H5Pdecode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Pdecode </td>
<td>(</td>
<td class="paramtype">const void * </td>
<td class="paramname"><em>buf</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decodes property list received in a binary object buffer and returns a new property list identifier. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>Buffer holding the encoded property list</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns an object identifier if successful; otherwise returns a negative value.</dd></dl>
<p>Given a binary property list description in a buffer, <a class="el" href="group___p_l_c_r.html#gafd75009eb96922e72beffa78718d4bdd" title="Decodes property list received in a binary object buffer and returns a new property list identifier.">H5Pdecode()</a> reconstructs the HDF5 property list and returns an identifier for the new property list. The binary description of the property list is encoded by <a class="el" href="_h5version_8h.html#af1a9ff52a69251d57ffa686102f162a8">H5Pencode()</a>.</p>
<p>The user is responsible for passing in the correct buffer.</p>
<p>The property list identifier returned by this function should be released with <a class="el" href="group___p_l_c_r.html#ga5dce61149211d3ef319452aa598887fb" title="Terminates access to a property list.">H5Pclose()</a> when the identifier is no longer needed so that resource leaks will not develop.</p>
<dl class="section note"><dt>Note</dt><dd>Some properties cannot be encoded and therefore will not be available in the decoded property list. These properties are discussed in <a class="el" href="_h5version_8h.html#af1a9ff52a69251d57ffa686102f162a8">H5Pencode()</a>.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.10.0 </dd></dl>
</div>
</div>
<a id="ga37b1b6666e62a86389015e7dfc384faa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga37b1b6666e62a86389015e7dfc384faa">◆ </a></span>H5Pencode2()</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> H5Pencode2 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td>
<td class="paramname"><em>plist_id</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>nalloc</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>fapl_id</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encodes the property values in a property list into a binary buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Property list identifier </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Buffer into which the property list will be encoded. If the provided buffer is NULL, the size of the buffer required is returned through <code>nalloc</code>; the function does nothing more. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">nalloc</td><td>The size of the required buffer </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fapl_id</td><td>File 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___p_l_c_r.html#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> encodes the property list <code>plist_id</code> into the binary buffer <code>buf</code>, according to the file format setting specified by the file access property list <code>fapl_id</code>.</p>
<p>If the required buffer size is unknown, <code>buf</code> can be passed in as NULL and the function will set the required buffer size in <code>nalloc</code>. The buffer can then be created and the property list encoded with a subsequent <a class="el" href="group___p_l_c_r.html#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> call.</p>
<p>If the buffer passed in is not big enough to hold the encoded properties, the <a class="el" href="group___p_l_c_r.html#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> call can be expected to fail with a segmentation fault.</p>
<p>The file access property list <code>fapl_id</code> is used to control the encoding via the <em>libver_bounds</em> property (see <a class="el" href="group___f_a_p_l.html#gacbe1724e7f70cd17ed687417a1d2a910" title="Controls the range of library release versions used when creating objects in a file.">H5Pset_libver_bounds()</a>). If the <em>libver_bounds</em> property is missing, <a class="el" href="group___p_l_c_r.html#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> proceeds as if the <em>libver_bounds</em> property were set to (<a class="el" href="_h5_fpublic_8h.html#a2d963b599894f684571fbd4d5e8a96a2abed98059b4a02d048b1eb3985fba5fa1">H5F_LIBVER_EARLIEST</a>, <a class="el" href="_h5_fpublic_8h.html#a47d050173da48a2b85c730446f0771c0">H5F_LIBVER_LATEST</a>). (Functionally, <a class="el" href="group___p_l_c_r_a.html#gaf40518cb161ee9508da4b9c0d34553bf" title="Encodes the property values in a property list into a binary buffer.">H5Pencode1()</a> is identical to <a class="el" href="group___p_l_c_r.html#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> with <em>libver_bounds</em> set to (<a class="el" href="_h5_fpublic_8h.html#a2d963b599894f684571fbd4d5e8a96a2abed98059b4a02d048b1eb3985fba5fa1">H5F_LIBVER_EARLIEST</a>, <a class="el" href="_h5_fpublic_8h.html#a47d050173da48a2b85c730446f0771c0">H5F_LIBVER_LATEST</a>).) Properties that do not have encode callbacks will be skipped. There is currently no mechanism to register an encode callback for a user-defined property, so user-defined properties cannot currently be encoded.</p>
<p>Some properties cannot be encoded, particularly properties that are reliant on local context.</p>
<p><b>Motivation:</b> This function was introduced in HDF5-1.12 as part of the <em>H5Sencode</em> format change to enable 64-bit selection encodings and a dataspace selection that is tied to a file.</p>
<dl class="section since"><dt>Since</dt><dd>1.12.0 </dd></dl>
</div>
</div>
<a id="ga9b230c1e85790f9f45c4ca2e79dd62c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9b230c1e85790f9f45c4ca2e79dd62c5">◆ </a></span>H5Pget_class()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Pget_class </td>
<td>(</td>
<td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> </td>
<td class="paramname"><em>plist_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the property list class identifier for a property list. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Property list identifier</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a property list class identifier if successful; otherwise returns <a class="el" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>.</dd></dl>
<p><a class="el" href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5" title="Returns the property list class identifier for a property list.">H5Pget_class()</a> returns the property list class identifier for the property list identified by the <code>plist_id</code> parameter.</p>
<p>Note that <a class="el" href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5" title="Returns the property list class identifier for a property list.">H5Pget_class()</a> returns a value of <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> type, an internal HDF5 identifier, rather than directly returning a property list class. That identifier can then be used with either <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> or <a class="el" href="group___p_l_c_r_a.html#ga798759979c37e50b1a3f3403f0231928" title="Retrieves the name of a class.">H5Pget_class_name()</a> to determine which predefined HDF5 property list class <a class="el" href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5" title="Returns the property list class identifier for a property list.">H5Pget_class()</a> has returned.</p>
<p>A full list of valid predefined property list classes appears in the description of <a class="el" href="group___p_l_c_r.html#gaf1b11da01d4d45d788c45f8bc5f0cbfa" title="Creates a new property list as an instance of a property list class.">H5Pcreate()</a>.</p>
<p>Determining the HDF5 property list class name with <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> requires a series of <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> calls in an if-else sequence. An iterative sequence of <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> calls can compare the identifier returned by <a class="el" href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5" title="Returns the property list class identifier for a property list.">H5Pget_class()</a> to members of the list of valid property list class names. A pseudo-code snippet might read as follows:</p>
<div class="fragment"><div class="line">plist_class_id = <a class="code" href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a> (dsetA_plist);</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">if</span> <a class="code" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20">H5Pequal</a> (plist_class_id, <a class="code" href="_h5_ppublic_8h.html#a42df2a1c964d2b985abc6e422abf6463">H5P_OBJECT_CREATE</a>) = <span class="keyword">true</span>;</div>
<div class="line"> [ <a class="code" href="_h5_ppublic_8h.html#a42df2a1c964d2b985abc6e422abf6463">H5P_OBJECT_CREATE</a> is the <span class="keyword">property</span> list class ]</div>
<div class="line"> [ returned by <a class="code" href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a>. ]</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">else</span> <span class="keywordflow">if</span> <a class="code" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20">H5Pequal</a> (plist_class_id, <a class="code" href="_h5_ppublic_8h.html#afcd7f8186c404f3a1d768632eacba102">H5P_DATASET_CREATE</a>) = <span class="keyword">true</span>;</div>
<div class="line"> [ <a class="code" href="_h5_ppublic_8h.html#afcd7f8186c404f3a1d768632eacba102">H5P_DATASET_CREATE</a> is the <span class="keyword">property</span> list <span class="keyword">class</span>. ]</div>
<div class="line"> </div>
<div class="line"><span class="keywordflow">else</span> <span class="keywordflow">if</span> <a class="code" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20">H5Pequal</a> (plist_class_id, <a class="code" href="_h5_ppublic_8h.html#a6f9c8a5aba72c0445fff384bf418a80d">H5P_DATASET_XFER</a>) = <span class="keyword">true</span>;</div>
<div class="line"> [ <a class="code" href="_h5_ppublic_8h.html#a6f9c8a5aba72c0445fff384bf418a80d">H5P_DATASET_XFER</a> is the <span class="keyword">property</span> list <span class="keyword">class</span>. ]</div>
<div class="line"> </div>
<div class="line">.</div>
<div class="line">. [ Continuing the iteration until a match is found. ]</div>
<div class="line">.</div>
<div class="ttc" id="a_h5_ppublic_8h_html_a42df2a1c964d2b985abc6e422abf6463"><div class="ttname"><a href="_h5_ppublic_8h.html#a42df2a1c964d2b985abc6e422abf6463">H5P_OBJECT_CREATE</a></div><div class="ttdeci">#define H5P_OBJECT_CREATE</div><div class="ttdef"><b>Definition:</b> H5Ppublic.h:50</div></div>
<div class="ttc" id="a_h5_ppublic_8h_html_a6f9c8a5aba72c0445fff384bf418a80d"><div class="ttname"><a href="_h5_ppublic_8h.html#a6f9c8a5aba72c0445fff384bf418a80d">H5P_DATASET_XFER</a></div><div class="ttdeci">#define H5P_DATASET_XFER</div><div class="ttdef"><b>Definition:</b> H5Ppublic.h:55</div></div>
<div class="ttc" id="a_h5_ppublic_8h_html_afcd7f8186c404f3a1d768632eacba102"><div class="ttname"><a href="_h5_ppublic_8h.html#afcd7f8186c404f3a1d768632eacba102">H5P_DATASET_CREATE</a></div><div class="ttdeci">#define H5P_DATASET_CREATE</div><div class="ttdef"><b>Definition:</b> H5Ppublic.h:53</div></div>
<div class="ttc" id="agroup___p_l_c_r_a_html_ga9425ef9f3bc3ee661eca6be654aeae20"><div class="ttname"><a href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20">H5Pequal</a></div><div class="ttdeci">htri_t H5Pequal(hid_t id1, hid_t id2)</div><div class="ttdoc">Compares two property lists or classes for equality.</div></div>
<div class="ttc" id="agroup___p_l_c_r_html_ga9b230c1e85790f9f45c4ca2e79dd62c5"><div class="ttname"><a href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a></div><div class="ttdeci">hid_t H5Pget_class(hid_t plist_id)</div><div class="ttdoc">Returns the property list class identifier for a property list.</div></div>
</div><!-- fragment --><p><a class="el" href="group___p_l_c_r_a.html#ga798759979c37e50b1a3f3403f0231928" title="Retrieves the name of a class.">H5Pget_class_name()</a> returns the property list class name directly as a string:</p>
<div class="fragment"><div class="line">plist_class_id = <a class="code" href="group___p_l_c_r.html#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a> (dsetA_plist);</div>
<div class="line">plist_class_name = <a class="code" href="group___p_l_c_r_a.html#ga798759979c37e50b1a3f3403f0231928">H5Pget_class_name</a> (plist_class_id)</div>
<div class="ttc" id="agroup___p_l_c_r_a_html_ga798759979c37e50b1a3f3403f0231928"><div class="ttname"><a href="group___p_l_c_r_a.html#ga798759979c37e50b1a3f3403f0231928">H5Pget_class_name</a></div><div class="ttdeci">char * H5Pget_class_name(hid_t pclass_id)</div><div class="ttdoc">Retrieves the name of a class.</div></div>
</div><!-- fragment --><p>Note that frequent use of <a class="el" href="group___p_l_c_r_a.html#ga798759979c37e50b1a3f3403f0231928" title="Retrieves the name of a class.">H5Pget_class_name()</a> can become a performance problem in a high-performance environment. The <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> approach is generally much faster.</p>
<dl class="section version"><dt>Version</dt><dd>1.6.0 Return type changed in this release. </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.0.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 Wed Sep 6 2023 00:28: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>
|