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
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
|
<!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: Object Creation Properties</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.207d749</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___o_c_p_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="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Object Creation Properties<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><a class="anchor" id="table_ocpl_id"></a>
<table class="doxtable">
<caption border="1" style="background-color:whitesmoke;">Object creation property list functions (H5P)</caption>
<tr>
<th>Function </th><th>Purpose </th></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#gade132fded1df87300a4c7175c6bd766a" title="Sets tracking and indexing of attribute creation order.">H5Pset_attr_creation_order</a>/<a class="el" href="group___o_c_p_l.html#ga2a54d1ff8d7a0d0e8d652f373c18bc37" title="Retrieves tracking and indexing settings for attribute creation order.">H5Pget_attr_creation_order</a> </td><td>Sets/gets tracking and indexing of attribute creation order. </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#ga0115b13dcbd8770cbdcef3db2ac12ea1" title="Sets attribute storage phase change thresholds.">H5Pset_attr_phase_change</a>/<a class="el" href="group___o_c_p_l.html#gaf7c57a6e78a4123f82450559623ab534" title="Retrieves attribute storage phase change thresholds.">H5Pget_attr_phase_change</a> </td><td>Sets/gets attribute storage phase change thresholds </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#ga191c567ee50b2063979cdef156a768c5" title="Adds a filter to the filter pipeline.">H5Pset_filter</a>/<a class="el" href="_h5version_8h.html#a7e070dfec9cb3a3aaf9c188a987e6a15">H5Pget_filter</a> </td><td>Adds/gets a filter to/from the filter pipeline. </td></tr>
<tr>
<td><a class="el" href="_h5version_8h.html#ac7aa336e7b1b9033cea2448ba623951f">H5Pget_filter_by_id</a> </td><td>Returns information about a filter in a pipeline. </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#gacbad1ca36a61246b439a25f28e7575fb" title="Returns the number of filters in the pipeline.">H5Pget_nfilters</a> </td><td>Returns information about the specified filter. </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#gafa87fab7ebb6c4a8da9a75a86cc62fa3" title="Sets the recording of times associated with an object.">H5Pset_obj_track_times</a>/<a class="el" href="group___o_c_p_l.html#gad99400915d340da978dd6ac5676122c6" title="Determines whether times associated with an object are being recorded.">H5Pget_obj_track_times</a> </td><td>Sets/gets the recording of times associated with an object. </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#ga12a358b3725a889c1768bbd2b5f541d8" title="Modifies a filter in the filter pipeline.">H5Pmodify_filter</a> </td><td>Modifies a filter in the filter pipeline. </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#gabffbf6d013c090fa052ac4bafce8e532" title="Delete one or more filters in the filter pipeline.">H5Premove_filter</a> </td><td>Delete one or more filters in the filter pipeline. </td></tr>
<tr>
<td><a class="el" href="group___o_c_p_l.html#ga8bc81abfbd0393b0a46e121f817a3f81" title="Sets up use of the Fletcher32 checksum filter.">H5Pset_fletcher32</a> </td><td>Sets up use of the Fletcher32 checksum filter. </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 Object Creation Properties:</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___o_c_p_l.png" border="0" usemap="#agroup______o__c__p__l" alt=""/></div>
<map name="agroup______o__c__p__l" id="agroup______o__c__p__l">
<area shape="rect" title=" " alt="" coords="204,55,397,80"/>
<area shape="rect" href="group___t_c_p_l.html" title=" " alt="" coords="445,5,656,31"/>
<area shape="rect" href="group___d_c_p_l.html" title=" " alt="" coords="449,55,652,80"/>
<area shape="rect" href="group___g_c_p_l.html" title=" " alt="" coords="455,104,646,129"/>
<area shape="rect" href="group___h5_p.html" title=" " alt="" coords="5,55,156,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___d_c_p_l"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_c_p_l.html">Dataset Creation Properties</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:group___t_c_p_l"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_c_p_l.html">Datatype Creation Properties</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:group___g_c_p_l"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_c_p_l.html">Group Creation Properties</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="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga2a54d1ff8d7a0d0e8d652f373c18bc37"><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___o_c_p_l.html#ga2a54d1ff8d7a0d0e8d652f373c18bc37">H5Pget_attr_creation_order</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, unsigned *crt_order_flags)</td></tr>
<tr class="memdesc:ga2a54d1ff8d7a0d0e8d652f373c18bc37"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves tracking and indexing settings for attribute creation order. <a href="group___o_c_p_l.html#ga2a54d1ff8d7a0d0e8d652f373c18bc37">More...</a><br /></td></tr>
<tr class="separator:ga2a54d1ff8d7a0d0e8d652f373c18bc37"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf7c57a6e78a4123f82450559623ab534"><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___o_c_p_l.html#gaf7c57a6e78a4123f82450559623ab534">H5Pget_attr_phase_change</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, unsigned *max_compact, unsigned *min_dense)</td></tr>
<tr class="memdesc:gaf7c57a6e78a4123f82450559623ab534"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves attribute storage phase change thresholds. <a href="group___o_c_p_l.html#gaf7c57a6e78a4123f82450559623ab534">More...</a><br /></td></tr>
<tr class="separator:gaf7c57a6e78a4123f82450559623ab534"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga024d200a6a07e12f008a62c4e62d0bcc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_c_p_l.html#ga024d200a6a07e12f008a62c4e62d0bcc">H5Pget_filter2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, unsigned idx, unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[], size_t namelen, char name[], unsigned *filter_config)</td></tr>
<tr class="memdesc:ga024d200a6a07e12f008a62c4e62d0bcc"><td class="mdescLeft"> </td><td class="mdescRight">Returns information about a filter in a pipeline. <a href="group___o_c_p_l.html#ga024d200a6a07e12f008a62c4e62d0bcc">More...</a><br /></td></tr>
<tr class="separator:ga024d200a6a07e12f008a62c4e62d0bcc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga2d5e9df5f0e93abae11ee5edd82fcec3"><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___o_c_p_l.html#ga2d5e9df5f0e93abae11ee5edd82fcec3">H5Pget_filter_by_id2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, <a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> filter_id, unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[], size_t namelen, char name[], unsigned *filter_config)</td></tr>
<tr class="memdesc:ga2d5e9df5f0e93abae11ee5edd82fcec3"><td class="mdescLeft"> </td><td class="mdescRight">Returns information about the specified filter. <a href="group___o_c_p_l.html#ga2d5e9df5f0e93abae11ee5edd82fcec3">More...</a><br /></td></tr>
<tr class="separator:ga2d5e9df5f0e93abae11ee5edd82fcec3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gacbad1ca36a61246b439a25f28e7575fb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___o_c_p_l.html#gacbad1ca36a61246b439a25f28e7575fb">H5Pget_nfilters</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id)</td></tr>
<tr class="memdesc:gacbad1ca36a61246b439a25f28e7575fb"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of filters in the pipeline. <a href="group___o_c_p_l.html#gacbad1ca36a61246b439a25f28e7575fb">More...</a><br /></td></tr>
<tr class="separator:gacbad1ca36a61246b439a25f28e7575fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad99400915d340da978dd6ac5676122c6"><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___o_c_p_l.html#gad99400915d340da978dd6ac5676122c6">H5Pget_obj_track_times</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, <a class="el" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> *track_times)</td></tr>
<tr class="memdesc:gad99400915d340da978dd6ac5676122c6"><td class="mdescLeft"> </td><td class="mdescRight">Determines whether times associated with an object are being recorded. <a href="group___o_c_p_l.html#gad99400915d340da978dd6ac5676122c6">More...</a><br /></td></tr>
<tr class="separator:gad99400915d340da978dd6ac5676122c6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga12a358b3725a889c1768bbd2b5f541d8"><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___o_c_p_l.html#ga12a358b3725a889c1768bbd2b5f541d8">H5Pmodify_filter</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, <a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> filter, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[])</td></tr>
<tr class="memdesc:ga12a358b3725a889c1768bbd2b5f541d8"><td class="mdescLeft"> </td><td class="mdescRight">Modifies a filter in the filter pipeline. <a href="group___o_c_p_l.html#ga12a358b3725a889c1768bbd2b5f541d8">More...</a><br /></td></tr>
<tr class="separator:ga12a358b3725a889c1768bbd2b5f541d8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gabffbf6d013c090fa052ac4bafce8e532"><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___o_c_p_l.html#gabffbf6d013c090fa052ac4bafce8e532">H5Premove_filter</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, <a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> filter)</td></tr>
<tr class="memdesc:gabffbf6d013c090fa052ac4bafce8e532"><td class="mdescLeft"> </td><td class="mdescRight">Delete one or more filters in the filter pipeline. <a href="group___o_c_p_l.html#gabffbf6d013c090fa052ac4bafce8e532">More...</a><br /></td></tr>
<tr class="separator:gabffbf6d013c090fa052ac4bafce8e532"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gade132fded1df87300a4c7175c6bd766a"><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___o_c_p_l.html#gade132fded1df87300a4c7175c6bd766a">H5Pset_attr_creation_order</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, unsigned crt_order_flags)</td></tr>
<tr class="memdesc:gade132fded1df87300a4c7175c6bd766a"><td class="mdescLeft"> </td><td class="mdescRight">Sets tracking and indexing of attribute creation order. <a href="group___o_c_p_l.html#gade132fded1df87300a4c7175c6bd766a">More...</a><br /></td></tr>
<tr class="separator:gade132fded1df87300a4c7175c6bd766a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0115b13dcbd8770cbdcef3db2ac12ea1"><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___o_c_p_l.html#ga0115b13dcbd8770cbdcef3db2ac12ea1">H5Pset_attr_phase_change</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, unsigned max_compact, unsigned min_dense)</td></tr>
<tr class="memdesc:ga0115b13dcbd8770cbdcef3db2ac12ea1"><td class="mdescLeft"> </td><td class="mdescRight">Sets attribute storage phase change thresholds. <a href="group___o_c_p_l.html#ga0115b13dcbd8770cbdcef3db2ac12ea1">More...</a><br /></td></tr>
<tr class="separator:ga0115b13dcbd8770cbdcef3db2ac12ea1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga191c567ee50b2063979cdef156a768c5"><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___o_c_p_l.html#ga191c567ee50b2063979cdef156a768c5">H5Pset_filter</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, <a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> filter, unsigned int flags, size_t cd_nelmts, const unsigned int c_values[])</td></tr>
<tr class="memdesc:ga191c567ee50b2063979cdef156a768c5"><td class="mdescLeft"> </td><td class="mdescRight">Adds a filter to the filter pipeline. <a href="group___o_c_p_l.html#ga191c567ee50b2063979cdef156a768c5">More...</a><br /></td></tr>
<tr class="separator:ga191c567ee50b2063979cdef156a768c5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga8bc81abfbd0393b0a46e121f817a3f81"><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___o_c_p_l.html#ga8bc81abfbd0393b0a46e121f817a3f81">H5Pset_fletcher32</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id)</td></tr>
<tr class="memdesc:ga8bc81abfbd0393b0a46e121f817a3f81"><td class="mdescLeft"> </td><td class="mdescRight">Sets up use of the Fletcher32 checksum filter. <a href="group___o_c_p_l.html#ga8bc81abfbd0393b0a46e121f817a3f81">More...</a><br /></td></tr>
<tr class="separator:ga8bc81abfbd0393b0a46e121f817a3f81"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafa87fab7ebb6c4a8da9a75a86cc62fa3"><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___o_c_p_l.html#gafa87fab7ebb6c4a8da9a75a86cc62fa3">H5Pset_obj_track_times</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, <a class="el" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> track_times)</td></tr>
<tr class="memdesc:gafa87fab7ebb6c4a8da9a75a86cc62fa3"><td class="mdescLeft"> </td><td class="mdescRight">Sets the recording of times associated with an object. <a href="group___o_c_p_l.html#gafa87fab7ebb6c4a8da9a75a86cc62fa3">More...</a><br /></td></tr>
<tr class="separator:gafa87fab7ebb6c4a8da9a75a86cc62fa3"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga2a54d1ff8d7a0d0e8d652f373c18bc37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2a54d1ff8d7a0d0e8d652f373c18bc37">◆ </a></span>H5Pget_attr_creation_order()</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> H5Pget_attr_creation_order </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">unsigned * </td>
<td class="paramname"><em>crt_order_flags</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves tracking and indexing settings for attribute creation order. </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">crt_order_flags</td><td>Flags specifying whether to track and index attribute creation order</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___o_c_p_l.html#ga2a54d1ff8d7a0d0e8d652f373c18bc37" title="Retrieves tracking and indexing settings for attribute creation order.">H5Pget_attr_creation_order()</a> retrieves the settings for tracking and indexing attribute creation order on an object.</p>
<p><code>plist_id</code> is an object creation property list (<code>ocpl</code>), as it can be a dataset or group creation property list identifier. The term <code>ocpl</code> is used when different types of objects may be involved.</p>
<p><code>crt_order_flags</code> returns flags with the following meanings:</p>
<table class="doxtable">
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#aa52f444ce2ba8bc5a062612f195e899f">H5P_CRT_ORDER_TRACKED</a> </td><td>Attribute creation order is tracked but not necessarily indexed. </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#adfd355619b7da5792a16d7bc491f963d">H5P_CRT_ORDER_INDEXED</a> </td><td>Attribute creation order is indexed (requires <a class="el" href="_h5_ppublic_8h.html#aa52f444ce2ba8bc5a062612f195e899f">H5P_CRT_ORDER_TRACKED</a>). </td></tr>
</table>
<p>If <code>crt_order_flags</code> is returned with a value of 0 (zero), attribute creation order is neither tracked nor indexed.</p>
<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
</div>
</div>
<a id="gaf7c57a6e78a4123f82450559623ab534"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf7c57a6e78a4123f82450559623ab534">◆ </a></span>H5Pget_attr_phase_change()</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> H5Pget_attr_phase_change </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">unsigned * </td>
<td class="paramname"><em>max_compact</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned * </td>
<td class="paramname"><em>min_dense</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves attribute storage phase change thresholds. </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">max_compact</td><td>Maximum number of attributes to be stored in compact storage (Default: 8) </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">min_dense</td><td>Minimum number of attributes to be stored in dense storage (Default: 6)</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___o_c_p_l.html#gaf7c57a6e78a4123f82450559623ab534" title="Retrieves attribute storage phase change thresholds.">H5Pget_attr_phase_change()</a> retrieves threshold values for attribute storage on an object. These thresholds determine the point at which attribute storage changes from compact storage (i.e., storage in the object header) to dense storage (i.e., storage in a heap and indexed with a B-tree).</p>
<p>In the general case, attributes are initially kept in compact storage. When the number of attributes exceeds <code>max_compact</code>, attribute storage switches to dense storage. If the number of attributes subsequently falls below <code>min_dense</code>, the attributes are returned to compact storage.</p>
<p>If <code>max_compact</code> is set to 0 (zero), dense storage always used.</p>
<p><code>plist_id</code> is an object creation property list (<code>ocpl</code>), as it can be a dataset or group creation property list identifier. The term <code>ocpl</code> is used when different types of objects may be involved.</p>
<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
</div>
</div>
<a id="ga024d200a6a07e12f008a62c4e62d0bcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga024d200a6a07e12f008a62c4e62d0bcc">◆ </a></span>H5Pget_filter2()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> H5Pget_filter2 </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">unsigned </td>
<td class="paramname"><em>idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int * </td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t * </td>
<td class="paramname"><em>cd_nelmts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned </td>
<td class="paramname"><em>cd_values</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>namelen</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">unsigned * </td>
<td class="paramname"><em>filter_config</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns information about a filter in a pipeline. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Object creation property list identifier </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>Sequence number within the filter pipeline of the filter for which information is sought </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td>Bit vector specifying certain general properties of the filter </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">cd_nelmts</td><td>Number of elements in <code>cd_values</code> </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">cd_values</td><td>Auxiliary data for the filter </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">namelen</td><td>Anticipated number of characters in <code>name</code> </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">name</td><td>Name of the filter </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">filter_config</td><td>Bit field, as described in <a class="el" href="group___h5_z.html#ga9ef800ceec249c8819492545def9adba" title="Retrieves information about a filter.">H5Zget_filter_info()</a></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a negative value on failure, and the filter identifier if successful (see <a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237" title="Filter identifiers.">H5Z_filter_t</a>):<ul>
<li><a class="el" href="_h5_zpublic_8h.html#a9e802e9612b3647e7d3ffe4ce3b8dcce">H5Z_FILTER_DEFLATE</a> Data compression filter, employing the gzip algorithm</li>
<li><a class="el" href="_h5_zpublic_8h.html#aa723f1a71601bf22c95620a490ecf1af">H5Z_FILTER_SHUFFLE</a> Data shuffling filter</li>
<li><a class="el" href="_h5_zpublic_8h.html#a59ca894c9c2b99b1614b0c46a7407f1c">H5Z_FILTER_FLETCHER32</a> Error detection filter, employing the Fletcher32 checksum algorithm</li>
<li><a class="el" href="_h5_zpublic_8h.html#a421d9941c68ebb776573baeb9aa77cd2">H5Z_FILTER_SZIP</a> Data compression filter, employing the SZIP algorithm</li>
<li><a class="el" href="_h5_zpublic_8h.html#a8cc463fa1979bd4bfa0dd9aa6a41e49d">H5Z_FILTER_NBIT</a> Data compression filter, employing the N-bit algorithm</li>
<li><p class="startli"><a class="el" href="_h5_zpublic_8h.html#a745d2ccb4f7712ed78ef5e562e27d2ca">H5Z_FILTER_SCALEOFFSET</a> Data compression filter, employing the scale-offset algorithm</p>
<p class="startli"><a class="el" href="group___o_c_p_l.html#ga024d200a6a07e12f008a62c4e62d0bcc" title="Returns information about a filter in a pipeline.">H5Pget_filter2()</a> returns information about a filter specified by its filter number, in a filter pipeline specified by the property list with which it is associated.</p>
<p class="startli"><code>plist_id</code> must be a dataset or group creation property list.</p>
<p class="startli"><code>idx</code> is a value between zero and N-1, as described in <a class="el" href="group___o_c_p_l.html#gacbad1ca36a61246b439a25f28e7575fb" title="Returns the number of filters in the pipeline.">H5Pget_nfilters()</a>. The function will return a negative value if the filter number is out of range.</p>
<p class="startli">The structure of the <code>flags</code> argument is discussed in <a class="el" href="group___o_c_p_l.html#ga191c567ee50b2063979cdef156a768c5" title="Adds a filter to the filter pipeline.">H5Pset_filter()</a>.</p>
<p class="startli">On input, <code>cd_nelmts</code> indicates the number of entries in the <code>cd_values</code> array, as allocated by the caller; on return, <code>cd_nelmts</code> contains the number of values defined by the filter.</p>
<p class="startli">If <code>name</code> is a pointer to an array of at least <code>namelen</code> bytes, the filter name will be copied into that array. The name will be null terminated if <code>namelen</code> is large enough. The filter name returned will be the name appearing in the file, the name registered for the filter, or an empty string.</p>
<p class="startli"><code>filter_config</code> is the bit field described in <a class="el" href="group___h5_z.html#ga9ef800ceec249c8819492545def9adba" title="Retrieves information about a filter.">H5Zget_filter_info()</a>.</p>
</li>
</ul>
</dd></dl>
<dl class="section version"><dt>Version</dt><dd>1.8.5 Function extended to work with group creation property lists. </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
</div>
</div>
<a id="ga2d5e9df5f0e93abae11ee5edd82fcec3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2d5e9df5f0e93abae11ee5edd82fcec3">◆ </a></span>H5Pget_filter_by_id2()</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> H5Pget_filter_by_id2 </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"><a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> </td>
<td class="paramname"><em>filter_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int * </td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t * </td>
<td class="paramname"><em>cd_nelmts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned </td>
<td class="paramname"><em>cd_values</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>namelen</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">unsigned * </td>
<td class="paramname"><em>filter_config</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns information about the specified filter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Object creation property list identifier </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filter_id</td><td>Filter identifier </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td>Bit vector specifying certain general properties of the filter </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">cd_nelmts</td><td>Number of elements in <code>cd_values</code> </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">cd_values[]</td><td>Auxiliary data for the filter </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">namelen</td><td>Length of filter name and number of elements in <code>name</code> </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">name[]</td><td>Name of filter </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">filter_config</td><td>Bit field, as described in <a class="el" href="group___h5_z.html#ga9ef800ceec249c8819492545def9adba" title="Retrieves information about a filter.">H5Zget_filter_info()</a></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___o_c_p_l.html#ga2d5e9df5f0e93abae11ee5edd82fcec3" title="Returns information about the specified filter.">H5Pget_filter_by_id2()</a> returns information about the filter specified in <code>filter_id</code>, a filter identifier.</p>
<p><code>plist_id</code> must be a dataset or group creation property list and <code>filter_id</code> must be in the associated filter pipeline.</p>
<p>The <code>filter_id</code> and <code>flags</code> parameters are used in the same manner as described in the discussion of <a class="el" href="group___o_c_p_l.html#ga191c567ee50b2063979cdef156a768c5" title="Adds a filter to the filter pipeline.">H5Pset_filter()</a>.</p>
<p>Aside from the fact that they are used for output, the parameters <code>cd_nelmts</code> and <code>cd_values</code>[] are used in the same manner as described in the discussion of <a class="el" href="group___o_c_p_l.html#ga191c567ee50b2063979cdef156a768c5" title="Adds a filter to the filter pipeline.">H5Pset_filter()</a>. On input, the <code>cd_nelmts</code> parameter indicates the number of entries in the <code>cd_values</code>[] array allocated by the calling program; on exit it contains the number of values defined by the filter.</p>
<p>On input, the <code>namelen</code> parameter indicates the number of characters allocated for the filter name by the calling program in the array <code>name</code>[]. On exit <code>name</code>[] contains the name of the filter with one character of the name in each element of the array.</p>
<p><code>filter_config</code> is the bit field described in <a class="el" href="group___h5_z.html#ga9ef800ceec249c8819492545def9adba" title="Retrieves information about a filter.">H5Zget_filter_info()</a>.</p>
<p>If the filter specified in <code>filter_id</code> is not set for the property list, an error will be returned and <a class="el" href="group___o_c_p_l.html#ga2d5e9df5f0e93abae11ee5edd82fcec3" title="Returns information about the specified filter.">H5Pget_filter_by_id2()</a> will fail.</p>
<dl class="section version"><dt>Version</dt><dd>1.8.5 Function extended to work with group creation property lists.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
</div>
</div>
<a id="gacbad1ca36a61246b439a25f28e7575fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacbad1ca36a61246b439a25f28e7575fb">◆ </a></span>H5Pget_nfilters()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int H5Pget_nfilters </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 number of filters in the pipeline. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Object creation property list identifier</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the number of filters in the pipeline if successful; otherwise returns a negative value.</dd></dl>
<p><a class="el" href="group___o_c_p_l.html#gacbad1ca36a61246b439a25f28e7575fb" title="Returns the number of filters in the pipeline.">H5Pget_nfilters()</a> returns the number of filters defined in the filter pipeline associated with the property list <code>plist_id</code>.</p>
<p>In each pipeline, the filters are numbered from 0 through <code>N-1</code>, where <code>N</code> is the value returned by this function. During output to the file, the filters are applied in increasing order; during input from the file, they are applied in decreasing order.</p>
<p><a class="el" href="group___o_c_p_l.html#gacbad1ca36a61246b439a25f28e7575fb" title="Returns the number of filters in the pipeline.">H5Pget_nfilters()</a> returns the number of filters in the pipeline, including zero (0) if there are none.</p>
<dl class="section since"><dt>Since</dt><dd>1.0.0 </dd></dl>
</div>
</div>
<a id="gad99400915d340da978dd6ac5676122c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad99400915d340da978dd6ac5676122c6">◆ </a></span>H5Pget_obj_track_times()</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> H5Pget_obj_track_times </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"><a class="el" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> * </td>
<td class="paramname"><em>track_times</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines whether times associated with an object are being recorded. </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">track_times</td><td>Boolean value, 1 (true) or 0 (false), specifying whether object times are being recorded</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___o_c_p_l.html#gad99400915d340da978dd6ac5676122c6" title="Determines whether times associated with an object are being recorded.">H5Pget_obj_track_times()</a> queries the object creation property list, <code>plist_id</code>, to determine whether object times are being recorded.</p>
<p>If <code>track_times</code> is returned as 1, times are being recorded; if <code>track_times</code> is returned as 0, times are not being recorded.</p>
<p>Time data can be retrieved with <a class="el" href="group___h5_o.html#gaf4f302a33faba9e1c2b5f64c62ca4ed5">H5Oget_info()</a>, which will return it in the <a class="el" href="_h5version_8h.html#a5f76b0cdd6d68d61f11e46d4f06e50d4">H5O_info_t</a> struct.</p>
<p>If times are not tracked, they will be reported as follows when queried: 12:00 AM UDT, Jan. 1, 1970</p>
<p>See <a class="el" href="group___o_c_p_l.html#gafa87fab7ebb6c4a8da9a75a86cc62fa3" title="Sets the recording of times associated with an object.">H5Pset_obj_track_times()</a> for further discussion.</p>
<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
</div>
</div>
<a id="ga12a358b3725a889c1768bbd2b5f541d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga12a358b3725a889c1768bbd2b5f541d8">◆ </a></span>H5Pmodify_filter()</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> H5Pmodify_filter </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"><a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> </td>
<td class="paramname"><em>filter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>cd_nelmts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int </td>
<td class="paramname"><em>cd_values</em>[] </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modifies a filter in the filter pipeline. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Object creation property list identifier </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filter</td><td>Filter to be modified </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit vector specifying certain general properties of the filter </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cd_nelmts</td><td>Number of elements in <code>cd_values</code> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cd_values[]</td><td>Auxiliary data for the filter</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___o_c_p_l.html#ga12a358b3725a889c1768bbd2b5f541d8" title="Modifies a filter in the filter pipeline.">H5Pmodify_filter()</a> modifies the specified <code>filter</code> in the filter pipeline. <code>plist_id</code> must be a dataset or group creation property list.</p>
<p>The <code>filter</code>, <code>flags</code> <code>cd_nelmts</code>[], and <code>cd_values</code> parameters are used in the same manner and accept the same values as described in the discussion of <a class="el" href="group___o_c_p_l.html#ga191c567ee50b2063979cdef156a768c5" title="Adds a filter to the filter pipeline.">H5Pset_filter()</a>.</p>
<dl class="section version"><dt>Version</dt><dd>1.8.5 Function extended to work with group creation property lists. </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.6.0 </dd></dl>
</div>
</div>
<a id="gabffbf6d013c090fa052ac4bafce8e532"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabffbf6d013c090fa052ac4bafce8e532">◆ </a></span>H5Premove_filter()</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> H5Premove_filter </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"><a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> </td>
<td class="paramname"><em>filter</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete one or more filters in the filter pipeline. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Object creation property list identifier </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filter</td><td>Filter to be deleted</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___o_c_p_l.html#gabffbf6d013c090fa052ac4bafce8e532" title="Delete one or more filters in the filter pipeline.">H5Premove_filter()</a> removes the specified <code>filter</code> from the filter pipeline in the dataset or group creation property list <code>plist_id</code>.</p>
<p>The <code>filter</code> parameter specifies the filter to be removed. Valid values for use in <code>filter</code> are as follows:</p>
<table class="doxtable">
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#abceefad5226599b12e21071defc2b3cc">H5Z_FILTER_ALL</a> </td><td>Removes all filters from the filter pipeline </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a9e802e9612b3647e7d3ffe4ce3b8dcce">H5Z_FILTER_DEFLATE</a> </td><td>Data compression filter, employing the gzip algorithm </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#aa723f1a71601bf22c95620a490ecf1af">H5Z_FILTER_SHUFFLE</a> </td><td>Data shuffling filter </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a59ca894c9c2b99b1614b0c46a7407f1c">H5Z_FILTER_FLETCHER32</a> </td><td>Error detection filter, employing the Fletcher32 checksum algorithm </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a421d9941c68ebb776573baeb9aa77cd2">H5Z_FILTER_SZIP</a> </td><td>Data compression filter, employing the SZIP algorithm </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a8cc463fa1979bd4bfa0dd9aa6a41e49d">H5Z_FILTER_NBIT</a> </td><td>Data compression filter, employing the N-Bit algorithm </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a745d2ccb4f7712ed78ef5e562e27d2ca">H5Z_FILTER_SCALEOFFSET</a> </td><td>Data compression filter, employing the scale-offset algorithm </td></tr>
</table>
<p>Additionally, user-defined filters can be removed with this routine by passing the filter identifier with which they were registered with the HDF5 library.</p>
<p>Attempting to remove a filter that is not in the filter pipeline is an error.</p>
<dl class="section version"><dt>Version</dt><dd>1.8.5 Function extended to work with group creation property lists. </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.6.3 </dd></dl>
</div>
</div>
<a id="gade132fded1df87300a4c7175c6bd766a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gade132fded1df87300a4c7175c6bd766a">◆ </a></span>H5Pset_attr_creation_order()</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> H5Pset_attr_creation_order </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">unsigned </td>
<td class="paramname"><em>crt_order_flags</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets tracking and indexing of attribute creation order. </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">[in]</td><td class="paramname">crt_order_flags</td><td>Flags specifying whether to track and index attribute creation order. <em>Default:</em> No flag set; attribute creation order is neither tracked not indexed</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___o_c_p_l.html#gade132fded1df87300a4c7175c6bd766a" title="Sets tracking and indexing of attribute creation order.">H5Pset_attr_creation_order()</a> sets flags for tracking and indexing attribute creation order on an object.</p>
<p><code>plist_id</code> is a dataset or group creation property list identifier.</p>
<p><code>crt_order_flags</code> contains flags with the following meanings:</p>
<table class="doxtable">
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#aa52f444ce2ba8bc5a062612f195e899f">H5P_CRT_ORDER_TRACKED</a> </td><td>Attribute creation order is tracked but not necessarily indexed. </td></tr>
<tr>
<td><a class="el" href="_h5_ppublic_8h.html#adfd355619b7da5792a16d7bc491f963d">H5P_CRT_ORDER_INDEXED</a> </td><td>Attribute creation order is indexed (requires <a class="el" href="_h5_ppublic_8h.html#aa52f444ce2ba8bc5a062612f195e899f">H5P_CRT_ORDER_TRACKED</a>). </td></tr>
</table>
<p>Default behavior is that attribute creation order is neither tracked nor indexed.</p>
<p><a class="el" href="group___o_c_p_l.html#gade132fded1df87300a4c7175c6bd766a" title="Sets tracking and indexing of attribute creation order.">H5Pset_attr_creation_order()</a> can be used to set attribute creation order tracking, or to set attribute creation order tracking and indexing.</p>
<dl class="section note"><dt>Note</dt><dd>If a creation order index is to be built, it must be specified in the object creation property list. HDF5 currently provides no mechanism to turn on attribute creation order tracking at object creation time and to build the index later.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
</div>
</div>
<a id="ga0115b13dcbd8770cbdcef3db2ac12ea1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0115b13dcbd8770cbdcef3db2ac12ea1">◆ </a></span>H5Pset_attr_phase_change()</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> H5Pset_attr_phase_change </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">unsigned </td>
<td class="paramname"><em>max_compact</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned </td>
<td class="paramname"><em>min_dense</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets attribute storage phase change thresholds. </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">[in]</td><td class="paramname">max_compact</td><td>Maximum number of attributes to be stored in compact storage (<em>Default:</em> 8); must be greater than or equal to <code>min_dense</code> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">min_dense</td><td>Minimum number of attributes to be stored in dense storage (<em>Default:</em> 6)</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___o_c_p_l.html#ga0115b13dcbd8770cbdcef3db2ac12ea1" title="Sets attribute storage phase change thresholds.">H5Pset_attr_phase_change()</a> sets threshold values for attribute storage on an object. These thresholds determine the point at which attribute storage changes from compact storage (i.e., storage in the object header) to dense storage (i.e., storage in a heap and indexed with a B-tree).</p>
<p>In the general case, attributes are initially kept in compact storage. When the number of attributes exceeds <code>max_compact</code>, attribute storage switches to dense storage. If the number of attributes subsequently falls below <code>min_dense</code>, the attributes are returned to compact storage.</p>
<p>If <code>max_compact</code> is set to 0 (zero), dense storage is always used. <code>min_dense</code> must be set to 0 (zero) when <code>max_compact</code> is 0 (zero).</p>
<p><code>plist_id</code> is a dataset or group creation property list identifier.</p>
<dl class="section since"><dt>Since</dt><dd>1.8.0 </dd></dl>
</div>
</div>
<a id="ga191c567ee50b2063979cdef156a768c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga191c567ee50b2063979cdef156a768c5">◆ </a></span>H5Pset_filter()</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> H5Pset_filter </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"><a class="el" href="_h5_zpublic_8h.html#afae8461c70d47e63be2163af23362237">H5Z_filter_t</a> </td>
<td class="paramname"><em>filter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>flags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>cd_nelmts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int </td>
<td class="paramname"><em>c_values</em>[] </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a filter to the filter pipeline. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Object creation property list identifier </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filter</td><td>Filter identifier for the filter to be added to the pipeline </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bit vector specifying certain general properties of the filter </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cd_nelmts</td><td>Number of elements in <code>c_values</code> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">c_values</td><td>Auxiliary data for the filter</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___o_c_p_l.html#ga191c567ee50b2063979cdef156a768c5" title="Adds a filter to the filter pipeline.">H5Pset_filter()</a> adds the specified <code>filter</code> identifier and corresponding properties to the end of an output filter pipeline.</p>
<p><code>plist_id</code> must be either a dataset creation property list or group creation property list identifier. If <code>plist_id</code> is a dataset creation property list identifier, the filter is added to the raw data filter pipeline.</p>
<p>If <code>plist_id</code> is a group creation property list identifier, the filter is added to the link filter pipeline, which filters the fractal heap used to store most of the link metadata in certain types of groups. The only predefined filters that can be set in a group creation property list are the gzip filter (<a class="el" href="_h5_zpublic_8h.html#a9e802e9612b3647e7d3ffe4ce3b8dcce">H5Z_FILTER_DEFLATE</a>) and the Fletcher32 error detection filter (<a class="el" href="_h5_zpublic_8h.html#a59ca894c9c2b99b1614b0c46a7407f1c">H5Z_FILTER_FLETCHER32</a>).</p>
<p>The array <code>cd_values</code> contains <code>cd_nelmts</code> unsigned integers which are auxiliary data for the filter. The values are typically used as parameters to control the filter. In a filter's <code>set_local</code> method (called from <code>H5Dcreate</code>), the values are interpreted and possibly modified before they are used to control the filter. These, possibly modified values, are then stored in the dataset object header as auxiliary data for the filter.</p>
<p>The <code>flags</code> argument is a bit vector with the following fields specifying certain general properties of the filter:</p>
<table class="doxtable">
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a70bde763f28557539e1628ecc2e2e2fd">H5Z_FLAG_OPTIONAL</a> </td><td>If this bit is set then the filter is optional. If the filter fails (see below) during an <a class="el" href="group___h5_d.html#ga98f44998b67587662af8b0d8a0a75906" title="Writes raw data from a buffer to a dataset.">H5Dwrite()</a> operation then the filter is just excluded from the pipeline for the chunk for which it failed; the filter will not participate in the pipeline during an <a class="el" href="group___h5_d.html#ga8287d5a7be7b8e55ffeff68f7d26811c" title="Reads raw data from a dataset into a provided buffer.">H5Dread()</a> of the chunk. This is commonly used for compression filters: if the filter result would be larger than the input, then the compression filter returns failure and the uncompressed data is stored in the file.<br />
<br />
This flag should not be set for the Fletcher32 checksum filter as it will bypass the checksum filter without reporting checksum errors to an application. </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a7c50fa9c17a3e84280b3624e3e2515db">H5Z_FLAG_MANDATORY</a> </td><td>If the filter is required, that is, set to mandatory, and the filter fails, the library's behavior depends on whether the chunk cache is in use: <ul>
<li>If the chunk cache is enabled, data chunks will be flushed to the file during <a class="el" href="group___h5_d.html#gae47c3f38db49db127faf221624c30609" title="Closes the specified dataset.">H5Dclose()</a> and the library will return the failure in <a class="el" href="group___h5_d.html#gae47c3f38db49db127faf221624c30609" title="Closes the specified dataset.">H5Dclose()</a>. </li>
<li>When the chunk cache is disabled or not big enough, or the chunk is being evicted from the cache, the failure will happen during <a class="el" href="group___h5_d.html#ga98f44998b67587662af8b0d8a0a75906" title="Writes raw data from a buffer to a dataset.">H5Dwrite()</a>.</li>
</ul>
In each case, the library will still write to the file all data chunks that were processed by the filter before the failure occurred.<br />
<br />
For example, assume that an application creates a dataset of four chunks, the chunk cache is enabled and is big enough to hold all four chunks, and the filter fails when it tries to write the fourth chunk. The actual flush of the chunks will happen during <a class="el" href="group___h5_d.html#gae47c3f38db49db127faf221624c30609" title="Closes the specified dataset.">H5Dclose()</a>, not <a class="el" href="group___h5_d.html#ga98f44998b67587662af8b0d8a0a75906" title="Writes raw data from a buffer to a dataset.">H5Dwrite()</a>. By the time <a class="el" href="group___h5_d.html#gae47c3f38db49db127faf221624c30609" title="Closes the specified dataset.">H5Dclose()</a> fails, the first three chunks will have been written to the file. Even though <a class="el" href="group___h5_d.html#gae47c3f38db49db127faf221624c30609" title="Closes the specified dataset.">H5Dclose()</a> fails, all the resources will be released and the file can be closed properly. <br />
<br />
If, however, the filter fails on the second chunk, only the first chunk will be written to the file as nothing further can be written once the filter fails. </td></tr>
</table>
<p>The <code>filter</code> parameter specifies the filter to be set. Valid pre-defined filter identifiers are as follows:</p>
<table class="doxtable">
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a9e802e9612b3647e7d3ffe4ce3b8dcce">H5Z_FILTER_DEFLATE</a> </td><td>Data compression filter, employing the gzip algorithm </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#aa723f1a71601bf22c95620a490ecf1af">H5Z_FILTER_SHUFFLE</a> </td><td>Data shuffling filter </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a59ca894c9c2b99b1614b0c46a7407f1c">H5Z_FILTER_FLETCHER32</a> </td><td>Error detection filter, employing the Fletcher32 checksum algorithm </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a421d9941c68ebb776573baeb9aa77cd2">H5Z_FILTER_SZIP</a> </td><td>Data compression filter, employing the SZIP algorithm </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a8cc463fa1979bd4bfa0dd9aa6a41e49d">H5Z_FILTER_NBIT</a> </td><td>Data compression filter, employing the N-Bit algorithm </td></tr>
<tr>
<td><a class="el" href="_h5_zpublic_8h.html#a745d2ccb4f7712ed78ef5e562e27d2ca">H5Z_FILTER_SCALEOFFSET</a> </td><td>Data compression filter, employing the scale-offset algorithm </td></tr>
</table>
<p>Also see <a class="el" href="group___d_x_p_l.html#ga0d95dfa506784acc9aed850c99713609" title="Sets the dataset transfer property list to enable or disable error detection when reading data.">H5Pset_edc_check()</a> and <a class="el" href="group___d_x_p_l.html#ga1890e730c34efa20cd6a5d1d2a0e8caa" title="Sets user-defined filter callback function.">H5Pset_filter_callback()</a>.</p>
<dl class="section note"><dt>Note</dt><dd>When a non-empty filter pipeline is used with a group creation property list, the group will be created with the new group file format. The filters will come into play only when dense storage is used (see <a class="el" href="group___g_c_p_l.html#gab463ac9355728469eddfd973b4a5964f" title="Sets the parameters for conversion between compact and dense groups.">H5Pset_link_phase_change()</a>) and will be applied to the group's fractal heap. The fractal heap will contain most of the group's link metadata, including link names.</dd>
<dd>
When working with group creation property lists, if you are adding a filter that is not in HDF5's set of predefined filters, i.e., a user-defined or third-party filter, you must first determine that the filter will work for a group. See the discussion of the set local and can apply callback functions in <a class="el" href="group___h5_z.html#ga93145acc38c2c60d832b7a9b0123706b" title="Registers a new filter with the HDF5 library.">H5Zregister()</a>.</dd>
<dd>
If multiple filters are set for a property list, they will be applied to each chunk of raw data for datasets or each block of the fractal heap for groups in the order in which they were set.</dd>
<dd>
Filters can be applied only to chunked datasets; they cannot be used with other dataset storage methods, such as contiguous, compact, or external datasets.</dd>
<dd>
Dataset elements of variable-length and dataset region reference datatypes are stored in separate structures in the file called heaps. Filters cannot currently be applied to these heaps.</dd>
<dd>
<b>Filter Behavior in HDF5:</b><br />
Filters can be inserted into the HDF5 pipeline to perform functions such as compression and conversion. As such, they are a very flexible aspect of HDF5; for example, a user-defined filter could provide encryption for an HDF5 dataset.</dd>
<dd>
A filter can be declared as either required or optional. Required is the default status; optional status must be explicitly declared.</dd>
<dd>
A required filter that fails or is not defined causes an entire output operation to fail; if it was applied when the data was written, such a filter will cause an input operation to fail.</dd>
<dd>
The following table summarizes required filter behavior. <table class="doxtable">
<tr>
<th></th><th>Required FILTER_X not available </th><th>FILTER_X available </th></tr>
<tr>
<td>H5Pset_<FILTER_X> </td><td>Will fail. </td><td>Will succeed. </td></tr>
<tr>
<td>H5Dwrite with FILTER_X set </td><td>Will fail. </td><td>Will succeed; FILTER_X will be applied to the data. </td></tr>
<tr>
<td>H5Dread with FILTER_X set </td><td>Will fail. </td><td>Will succeed. </td></tr>
</table>
</dd>
<dd>
An optional filter can be set for an HDF5 dataset even when the filter is not available. Such a filter can then be applied to the dataset when it becomes available on the original system or when the file containing the dataset is processed on a system on which it is available.</dd>
<dd>
A filter can be declared as optional through the use of the <a class="el" href="_h5_zpublic_8h.html#a70bde763f28557539e1628ecc2e2e2fd">H5Z_FLAG_OPTIONAL</a> flag with <a class="el" href="group___o_c_p_l.html#ga191c567ee50b2063979cdef156a768c5" title="Adds a filter to the filter pipeline.">H5Pset_filter()</a>.</dd>
<dd>
Consider a situation where one is creating files that will normally be used only on systems where the optional (and fictional) filter FILTER_Z is routinely available. One can create those files on system A, which lacks FILTER_Z, create chunked datasets in the files with FILTER_Z defined in the dataset creation property list, and even write data to those datasets. The dataset object header will indicate that FILTER_Z has been associated with this dataset. But since system A does not have FILTER_Z, dataset chunks will be written without it being applied.</dd>
<dd>
HDF5 has a mechanism for determining whether chunks are actually written with the filters specified in the object header, so while the filter remains unavailable, system A will be able to read the data. Once the file is moved to system B, where FILTER_Z is available, HDF5 will apply FILTER_Z to any data rewritten or new data written in these datasets. Dataset chunks that have been written on system B will then be unreadable on system A; chunks that have not been re-written since being written on system A will remain readable on system A. All chunks will be readable on system B.</dd>
<dd>
The following table summarizes optional filter behavior. <table class="doxtable">
<tr>
<th></th><th>FILTER_Z not available </th><th>FILTER_Z available<br />
with encode and decode </th><th>FILTER_Z available decode only </th></tr>
<tr>
<td>H5Pset_<FILTER_Z> </td><td>Will succeed. </td><td>Will succeed. </td><td>Will succeed. </td></tr>
<tr>
<td>H5Dread with FILTER_Z set </td><td>Will succeed if FILTER_Z has not actually<br />
been applied to data. </td><td>Will succeed. </td><td>Will succeed. </td></tr>
<tr>
<td>H5Dwrite with FILTER_Z set </td><td>Will succeed;<br />
FILTER_Z will not be applied to the data. </td><td>Will succeed;<br />
FILTER_Z will be applied to the data. </td><td>Will succeed;<br />
FILTER_Z will not be applied to the data. </td></tr>
</table>
</dd>
<dd>
The above principles apply generally in the use of HDF5 optional filters insofar as HDF5 does as much as possible to complete an operation when an optional filter is unavailable. (The SZIP filter is an exception to this rule; see <a class="el" href="group___d_c_p_l.html#ga37de4b6071a94574cfab5cd6de9c3fc6" title="Sets up use of the SZIP compression filter.">H5Pset_szip()</a> for details.)</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://portal.hdfgroup.org/display/HDF5/HDF5+Data+Flow+Pipeline+for+H5Dread">Data Flow Pipeline for H5Dread()</a>, <a href="https://portal.hdfgroup.org/display/HDF5/Groups">Group implementations in HDF5</a></dd></dl>
<dl class="section version"><dt>Version</dt><dd>1.8.5 Function applied to group creation property lists. </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.6.0 </dd></dl>
</div>
</div>
<a id="ga8bc81abfbd0393b0a46e121f817a3f81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8bc81abfbd0393b0a46e121f817a3f81">◆ </a></span>H5Pset_fletcher32()</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> H5Pset_fletcher32 </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>Sets up use of the Fletcher32 checksum filter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Object creation 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___o_c_p_l.html#ga8bc81abfbd0393b0a46e121f817a3f81" title="Sets up use of the Fletcher32 checksum filter.">H5Pset_fletcher32()</a> sets the Fletcher32 checksum filter in the dataset or group creation property list <code>plist_id</code>.</p>
<dl class="section attention"><dt>Attention</dt><dd>The Fletcher32 EDC checksum filter was added in HDF5 Release 1.6.0. In the original implementation, however, the checksum value was calculated incorrectly on little-endian systems. The error was fixed in HDF5 Release 1.6.3.</dd>
<dd>
As a result of this fix, an HDF5 library of Release 1.6.0 through Release 1.6.2 cannot read a dataset created or written with Release 1.6.3 or later if the dataset was created with the checksum filter and the filter is enabled in the reading library. (Libraries of Release 1.6.3 and later understand the earlier error and compensate appropriately.)</dd>
<dd>
<b>Work-around</b>: An HDF5 library of Release 1.6.2 or earlier will be able to read a dataset created or written with the checksum filter by an HDF5 library of Release 1.6.3 or later if the checksum filter is disabled for the read operation. This can be accomplished via a call to <a class="el" href="group___d_x_p_l.html#ga0d95dfa506784acc9aed850c99713609" title="Sets the dataset transfer property list to enable or disable error detection when reading data.">H5Pset_edc_check()</a> with the value <a class="el" href="group___f_l_e_t_c_h_e_r32.html#gga5217bb01cd38dbfc4c5c8cad39c01a08a0c21397694cd7ac1573b19b81c581c32">H5Z_DISABLE_EDC</a> in the second parameter. This has the obvious drawback that the application will be unable to verify the checksum, but the data does remain accessible.</dd></dl>
<dl class="section version"><dt>Version</dt><dd>1.8.5 Function extended to work with group creation property lists. </dd>
<dd>
1.6.3 Error in checksum calculation on little-endian systems corrected in this release. </dd></dl>
<dl class="section since"><dt>Since</dt><dd>1.6.0 </dd></dl>
</div>
</div>
<a id="gafa87fab7ebb6c4a8da9a75a86cc62fa3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafa87fab7ebb6c4a8da9a75a86cc62fa3">◆ </a></span>H5Pset_obj_track_times()</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> H5Pset_obj_track_times </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"><a class="el" href="_h5public_8h.html#ad470b00eccd2115c707c02de5fa1120d">hbool_t</a> </td>
<td class="paramname"><em>track_times</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the recording of times associated with an object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Object creation property list identifier </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">track_times</td><td>Boolean value, 1 or 0, specifying whether object times are to be tracked</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___o_c_p_l.html#gafa87fab7ebb6c4a8da9a75a86cc62fa3" title="Sets the recording of times associated with an object.">H5Pset_obj_track_times()</a> sets a property in the object creation property list, <code>plist_id</code>, that governs the recording of times associated with an object.</p>
<p>If <code>track_times</code> is set to 1, time data will be recorded. If <code>track_times</code> is set to 0, time data will not be recorded.</p>
<p>Time data can be retrieved with <a class="el" href="group___h5_o.html#gaf4f302a33faba9e1c2b5f64c62ca4ed5">H5Oget_info()</a>, which will return it in the <a class="el" href="_h5version_8h.html#a5f76b0cdd6d68d61f11e46d4f06e50d4">H5O_info_t</a> struct.</p>
<p>If times are not tracked, they will be reported as follows when queried: <code> 12:00 AM UDT, Jan. 1, 1970</code></p>
<p>That date and time are commonly used to represent the beginning of the UNIX epoch.</p>
<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 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>
|