diff options
Diffstat (limited to 'doc/html/RM_H5P.html')
-rw-r--r-- | doc/html/RM_H5P.html | 9783 |
1 files changed, 0 insertions, 9783 deletions
diff --git a/doc/html/RM_H5P.html b/doc/html/RM_H5P.html deleted file mode 100644 index fa67723..0000000 --- a/doc/html/RM_H5P.html +++ /dev/null @@ -1,9783 +0,0 @@ -<html> -<head><title> -HDF5/H5P API Specification -</title> - -<!-- #BeginLibraryItem "/ed_libs/styles_RM.lbi" --> - -<!-- - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - --> - -<link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css"> -<!-- #EndLibraryItem --></head> - -<body bgcolor="#FFFFFF"> -<!-- HEADER RIGHT " " --> - - -<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr> -<center> -<table border=0 width=98%> -<tr><td valign=top align=left> -<a href="index.html">HDF5 documents and links</a> <br> -<a href="H5.intro.html">Introduction to HDF5</a> <br> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a> <br> -<!-- -<a href="Glossary.html">Glossary</a><br> ---> -</td> -<td valign=top align=right> -And in this document, the -<a href="RM_H5Front.html">HDF5 Reference Manual</a> -<br> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5im.html">H5IM</a> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5lt.html">H5LT</a> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5pt.html">H5PT</a> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5tb.html">H5TB</a> -<br> -<a href="RM_H5.html">H5</a> -<a href="RM_H5A.html">H5A</a> -<a href="RM_H5D.html">H5D</a> -<a href="RM_H5E.html">H5E</a> -<a href="RM_H5F.html">H5F</a> -<a href="RM_H5G.html">H5G</a> -<a href="RM_H5I.html">H5I</a> -<a href="RM_H5P.html">H5P</a> -<br> -<a href="RM_H5R.html">H5R</a> -<a href="RM_H5S.html">H5S</a> -<a href="RM_H5T.html">H5T</a> -<a href="RM_H5Z.html">H5Z</a> -<a href="Tools.html">Tools</a> -<a href="PredefDTypes.html">Datatypes</a> -</td></tr> -</table> -</center> -<hr><!-- #EndLibraryItem --><center> -<h1>H5P: Property List Interface</h1> -</center> -<h2>Property List API Functions</h2> - -These functions manipulate property list objects to allow objects -which require many different parameters to be easily manipulated. - - -<p> -<strong>The C Interfaces:</strong> - -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> -<table border=0> -<tr><td valign=top> - - <i>General Property List <br> Operations</i> - <ul> - <li><a href="#Property-Create">H5Pcreate</a> - <li><a href="#Property-GetClass">H5Pget_class</a> - <li><a href="#Property-Copy">H5Pcopy</a> - <li><a href="#Property-Close">H5Pclose</a> - </ul> - - <p><i>Generic Properties</i> - <ul> - <li><a href="#Property-CreateClass">H5Pcreate_class</a> - <li><a href="#Property-CreateList">H5Pcreate_list</a> - <li><a href="#Property-Register">H5Pregister</a> - <li><a href="#Property-Insert">H5Pinsert</a> - <li><a href="#Property-Set">H5Pset</a> - <li><a href="#Property-Exist">H5Pexist</a> - <li><a href="#Property-GetSize">H5Pget_size</a> - <li><a href="#Property-GetNProps">H5Pget_nprops</a> - <li><a href="#Property-GetClassName">H5Pget_class_name</a> - <li><a href="#Property-GetClassParent">H5Pget_class_parent</a> - <li><a href="#Property-IsAClass">H5Pisa_class</a> - <li><a href="#Property-Get">H5Pget</a> - <li><a href="#Property-Equal">H5Pequal</a> - <li><a href="#Property-Iterate">H5Piterate</a> - <li><a href="#Property-CopyProp">H5Pcopy_prop</a> - <li><a href="#Property-Remove">H5Premove</a> - <li><a href="#Property-Unregister">H5Punregister</a> - <li><a href="#Property-CloseList">H5Pclose_list</a> - <li><a href="#Property-CloseClass">H5Pclose_class</a> - </ul> - -!-- - <p><i>Meta Data Cache Properties</i> - <ul> - <li><a href="#Property-GetMdcConfig">H5Pget_mdc_config</a> - <li><a href="#Property-SetMdcConfig">H5Pset_mdc_config</a> - </ul> ---> - -<br> -<br> -<br> -<br> -<br> -<br> -<br> - || - <i>Indicates functions <br> - - available only in <br> - - the parallel HDF5 <br> - - library.</i> - - -</td><td> </td><td valign=top> - - <p><i>File Creation Properties</i> - <ul> - <li><a href="#Property-GetVersion">H5Pget_version</a> - <li><a href="#Property-SetUserblock">H5Pset_userblock</a> - <li><a href="#Property-GetUserblock">H5Pget_userblock</a> - <li><a href="#Property-SetSizes">H5Pset_sizes</a> - <li><a href="#Property-GetSizes">H5Pget_sizes</a> - <li><a href="#Property-SetSymK">H5Pset_sym_k</a> - <li><a href="#Property-GetSymK">H5Pget_sym_k</a> - <li><a href="#Property-SetIstoreK">H5Pset_istore_k</a> - <li><a href="#Property-GetIstoreK">H5Pget_istore_k</a> - </ul> - - <p></p><i>File Access Properties</i> - <ul> - <li><a href="#Property-SetFcloseDegree">H5Pset_fclose_degree</a> - <li><a href="#Property-GetFcloseDegree">H5Pget_fclose_degree</a> - <li><a href="#Property-SetFaplCore">H5Pset_fapl_core</a> - <li><a href="#Property-GetFaplCore">H5Pget_fapl_core</a> - <li><a href="#Property-SetFaplFamily">H5Pset_fapl_family</a> - <li><a href="#Property-GetFaplFamily">H5Pget_fapl_family</a> - <li><a href="#Property-SetFamilyOffset">H5Pset_family_offset</a> - <li><a href="#Property-GetFamilyOffset">H5Pget_family_offset</a> - <li><a href="#Property-SetFaplLog">H5Pset_fapl_log</a> - <li><a href="#Property-SetFaplMpio">H5Pset_fapl_mpio</a> || - <li><a href="#Property-GetFaplMpio">H5Pget_fapl_mpio</a> || - <li><a href="#Property-SetFaplMpiPosix">H5Pset_fapl_mpiposix</a> || - <li><a href="#Property-GetFaplMpiPosix">H5Pget_fapl_mpiposix</a> || - <li><a href="#Property-SetFaplMulti">H5Pset_fapl_multi</a> - <li><a href="#Property-GetFaplMulti">H5Pget_fapl_multi</a> - <li><a href="#Property-SetMultiType">H5Pset_multi_type</a> - <li><a href="#Property-GetMultiType">H5Pget_multi_type</a> - <li><a href="#Property-SetFaplSplit">H5Pset_fapl_split</a> - <li><a href="#Property-SetFaplSec2">H5Pset_fapl_sec2</a> - <li><a href="#Property-SetFaplStdio">H5Pset_fapl_stdio</a> - <li><a href="#Property-SetFaplStream">H5Pset_fapl_stream</a> - <li><a href="#Property-GetFaplStream">H5Pget_fapl_stream</a> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> -<!--<li><a href="#Property-SetDriver">H5Pset_driver</a> --> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> - <li><a href="#Property-GetDriver">H5Pget_driver</a> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> -<!--<li><a href="#Property-GetDriverInfo">H5Pget_driver_info</a> --> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> - <li><a href="#Property-SetMetaBlockSize">H5Pset_meta_block_size</a> - <li><a href="#Property-GetMetaBlockSize">H5Pget_meta_block_size</a> - <li><a href="#Property-SetSieveBufSize">H5Pset_sieve_buf_size</a> - <li><a href="#Property-GetSieveBufSize">H5Pget_sieve_buf_size</a> - <li><a href="#Property-SetAlignment">H5Pset_alignment</a> - <li><a href="#Property-GetAlignment">H5Pget_alignment</a> - <li><a href="#Property-SetCache">H5Pset_cache</a> - <li><a href="#Property-GetCache">H5Pget_cache</a> - <li><a href="#Property-SetGCReferences">H5Pset_gc_references</a> - <li><a href="#Property-GetGCReferences">H5Pget_gc_references</a> - <li><a href="#Property-SetFaplGass">H5Pset_fapl_gass</a> - <li><a href="#Property-GetFaplGass">H5Pget_fapl_gass</a> - <li><a href="#Property-SetFaplSrb">H5Pset_fapl_srb</a> - <li><a href="#Property-GetFaplSrb">H5Pget_fapl_srb</a> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> - <!-- - <li><a href="#Property-xxx">xxx</a> - <li><a href="#Property-xxx">xxx</a> || - --> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> - </ul> - - -</td><td> </td><td valign=top> - - <i>Dataset Creation Properties</i> - <ul> - <li><a href="#Property-SetLayout">H5Pset_layout</a> - <li><a href="#Property-GetLayout">H5Pget_layout</a> - <li><a href="#Property-SetChunk">H5Pset_chunk</a> - <li><a href="#Property-GetChunk">H5Pget_chunk</a> - <li><a href="#Property-SetDeflate">H5Pset_deflate</a> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> -<!-- - <li><a href="#Property-GetDeflate">H5Pget_deflate</a> - <li><a href="#Property-SetCompression">H5Pset_compression</a> - <li><a href="#Property-GetCompression">H5Pget_compression</a> ---> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> - <li><a href="#Property-SetFillValue">H5Pset_fill_value</a> - <li><a href="#Property-GetFillValue">H5Pget_fill_value</a> - <li><a href="#Property-FillValueDefined">H5Pfill_value_defined</a> - <li><a href="#Property-SetFillTime">H5Pset_fill_time</a> - <li><a href="#Property-GetFillTime">H5Pget_fill_time</a> - <li><a href="#Property-SetAllocTime">H5Pset_alloc_time</a> - <li><a href="#Property-GetAllocTime">H5Pget_alloc_time</a> - <li><a href="#Property-SetFilter">H5Pset_filter</a> - <li><a href="#Property-AllFiltersAvail">H5Pall_filters_avail</a> - <li><a href="#Property-GetNFilters">H5Pget_nfilters</a> - <li><a href="#Property-GetFilter">H5Pget_filter</a> - <li><a href="#Property-GetFilterById">H5Pget_filter_by_id</a> - <li><a href="#Property-ModifyFilter">H5Pmodify_filter</a> - <li><a href="#Property-RemoveFilter">H5Premove_filter</a> - <li><a href="#Property-SetFletcher32">H5Pset_fletcher32</a> - <li><a href="#Property-SetShuffle">H5Pset_shuffle</a> - <li><a href="#Property-SetSzip">H5Pset_szip</a> - <li><a href="#Property-SetExternal">H5Pset_external</a> - <li><a href="#Property-GetExternalCount">H5Pget_external_count</a> - <li><a href="#Property-GetExternal">H5Pget_external</a> - </ul> - - <p><i>Dataset Access, Memory, and <br> Transfer Properties</i> - <ul> - <li><a href="#Property-SetBuffer">H5Pset_buffer</a> - <li><a href="#Property-GetBuffer">H5Pget_buffer</a> - <li><a href="#Property-SetPreserve">H5Pset_preserve</a> - <li><a href="#Property-GetPreserve">H5Pget_preserve</a> - <li><a href="#Property-SetEdcCheck">H5Pset_edc_check</a> - <li><a href="#Property-GetEdcCheck">H5Pget_edc_check</a> - <li><a href="#Property-SetFilterCallback">H5Pset_filter_callback</a> - <li><a href="#Property-SetDataTransform">H5Pset_data_transform</a> - <li><a href="#Property-GetDataTransform">H5Pget_data_transform</a> - <li><a href="#Property-SetHyperVectorSize">H5Pset_hyper_vector_size</a> - <li><a href="#Property-GetHyperVectorSize">H5Pget_hyper_vector_size</a> - <li><a href="#Property-SetBTreeRatios">H5Pset_btree_ratios</a> - <li><a href="#Property-GetBTreeRatios">H5Pget_btree_ratios</a> - <li><a href="#Property-SetVLMemManager">H5Pset_vlen_mem_manager</a> - <li><a href="#Property-GetVLMemManager">H5Pget_vlen_mem_manager</a> - <li><a href="#Property-SetDxplMpio">H5Pset_dxpl_mpio</a> || - <li><a href="#Property-GetDxplMpio">H5Pget_dxpl_mpio</a> || - <li><a href="#Property-SetDxplMulti">H5Pset_dxpl_multi</a> - <li><a href="#Property-GetDxplMulti">H5Pget_dxpl_multi</a> - <li><a href="#Property-SetMultiType">H5Pset_multi_type</a> - <li><a href="#Property-GetMultiType">H5Pget_multi_type</a> - <br> - <li><a href="#Property-SetSmallData">H5Pset_small_data_block_size</a> - <li><a href="#Property-GetSmallData">H5Pget_small_data_block_size</a> - </ul> - -</td></tr> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> -<!-- -<tr><td colspan=5 align=right> -<br> -|| <i>Available only in the parallel HDF5 library.</i> -</td></tr> ---> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> -</table> -<!-- FOR USE WITH ELECTRONIC VERSION -----------------------------------> - - - -<!-- FOR USE WITH PRINT VERSION ---------------------------------------- -<table border="0" width="95%"> -<tr> -<td valign="top" width="31%"> - - <i>General Functions</i> - <ul> - <li><a href="#Property-Create">H5Pcreate</a> - <li><a href="#Property-GetClass">H5Pget_class</a> - <li><a href="#Property-Copy">H5Pcopy</a> - <li><a href="#Property-Close">H5Pclose</a> - </ul> - - <i>Generic Properties</i> - <ul> - <li><a href="#Property-CreateClass">H5Pcreate_class</a> - <li><a href="#Property-CreateList">H5Pcreate_list</a> - <li><a href="#Property-Register">H5Pregister</a> - <li><a href="#Property-Insert">H5Pinsert</a> - <li><a href="#Property-Set">H5Pset</a> - <li><a href="#Property-Exist">H5Pexist</a> - <li><a href="#Property-GetSize">H5Pget_size</a> - <li><a href="#Property-GetNProps">H5Pget_nprops</a> - <li><a href="#Property-GetClassName">H5Pget_class_name</a> - <li><a href="#Property-GetClassParent">H5Pget_class_parent</a> - <li><a href="#Property-IsAClass">H5Pisa_class</a> - <li><a href="#Property-Get">H5Pget</a> - <li><a href="#Property-Equal">H5Pequal</a> - <li><a href="#Property-Iterate">H5Piterate</a> - <li><a href="#Property-CopyProp">H5Pcopy_prop</a> - <li><a href="#Property-Remove">H5Premove</a> - <li><a href="#Property-Unregister">H5Punregister</a> - <li><a href="#Property-CloseList">H5Pclose_list</a> - <li><a href="#Property-CloseClass">H5Pclose_class</a> - </ul> - -<!-- - <i>Meta Data Cache Properties</i> - <ul> - <li><a href="#Property-GetMdcConfig">H5Pget_mdc_config</a> - <li><a href="#Property-SetMdcConfig">H5Pset_mdc_config</a> - </ul> ---> -</td> -<td valign="top" width="3%"> </td> -<td valign="top" width="32%"> - <i>File Access Properties</i> - <ul> - <li><a href="#Property-SetFcloseDegree">H5Pset_fclose_degree</a> - <li><a href="#Property-GetFcloseDegree">H5Pget_fclose_degree</a> - <li><a href="#Property-SetFaplCore">H5Pset_fapl_core</a> - <li><a href="#Property-GetFaplCore">H5Pget_fapl_core</a> - <li><a href="#Property-SetFaplFamily">H5Pset_fapl_family</a> - <li><a href="#Property-GetFaplFamily">H5Pget_fapl_family</a> - <li><a href="#Property-SetFamilyOffset">H5Pset_family_offset</a> - <li><a href="#Property-GetFamilyOffset">H5Pget_family_offset</a> - <li><a href="#Property-SetFaplLog">H5Pset_fapl_log</a> - <li><a href="#Property-SetFaplMpio">H5Pset_fapl_mpio</a> || - <li><a href="#Property-GetFaplMpio">H5Pget_fapl_mpio</a> || - <li><a href="#Property-SetFaplMpiPosix">H5Pset_fapl_mpiposix</a> || - <li><a href="#Property-GetFaplMpiPosix">H5Pget_fapl_mpiposix</a> || - <li><a href="#Property-SetFaplMulti">H5Pset_fapl_multi</a> - <li><a href="#Property-GetFaplMulti">H5Pget_fapl_multi</a> - <li><a href="#Property-SetMultiType">H5Pset_multi_type</a> - <li><a href="#Property-GetMultiType">H5Pget_multi_type</a> - <li><a href="#Property-SetFaplSplit">H5Pset_fapl_split</a> - <li><a href="#Property-SetFaplSec2">H5Pset_fapl_sec2</a> - <li><a href="#Property-SetFaplStdio">H5Pset_fapl_stdio</a> - <li><a href="#Property-SetFaplStream">H5Pset_fapl_stream</a> - <li><a href="#Property-GetFaplStream">H5Pget_fapl_stream</a> -<!-- FOR USE WITH PRINT VERSION ----------------------------------------> -<!--<li><a href="#Property-SetDriver">H5Pset_driver</a> --> -<!-- FOR USE WITH PRINT VERSION ---------------------------------------- - <li><a href="#Property-GetDriver">H5Pget_driver</a> -<!-- FOR USE WITH PRINT VERSION ----------------------------------------> -<!--<li><a href="#Property-GetDriverInfo">H5Pget_driver_info</a> --> -<!-- FOR USE WITH PRINT VERSION ---------------------------------------- - <li><a href="#Property-SetMetaBlockSize">H5Pset_meta_block_size</a> - <li><a href="#Property-GetMetaBlockSize">H5Pget_meta_block_size</a> - <li><a href="#Property-SetSieveBufSize">H5Pset_sieve_buf_size</a> - <li><a href="#Property-GetSieveBufSize">H5Pget_sieve_buf_size</a> - <li><a href="#Property-SetAlignment">H5Pset_alignment</a> - <li><a href="#Property-GetAlignment">H5Pget_alignment</a> - <li><a href="#Property-SetCache">H5Pset_cache</a> - <li><a href="#Property-GetCache">H5Pget_cache</a> - <li><a href="#Property-SetGCReferences">H5Pset_gc_references</a> - <li><a href="#Property-GetGCReferences">H5Pget_gc_references</a> - <li><a href="#Property-SetFaplGass">H5Pset_fapl_gass</a> - <li><a href="#Property-GetFaplGass">H5Pget_fapl_gass</a> - <li><a href="#Property-SetFaplSrb">H5Pset_fapl_srb</a> - <li><a href="#Property-GetFaplSrb">H5Pget_fapl_srb</a> -<!-- FOR USE WITH PRINT VERSION ----------------------------------------> - <!-- - <li><a href="#Property-xxx">xxx</a> - <li><a href="#Property-xxx">xxx</a> || - --> -<!-- FOR USE WITH PRINT VERSION ---------------------------------------- - </ul> -</td> -<td valign="top" width="3%"> </td> -<td valign="top" width="31%"> - <i>File Creation Properties</i> - <ul> - <li><a href="#Property-GetVersion">H5Pget_version</a> - <li><a href="#Property-SetUserblock">H5Pset_userblock</a> - <li><a href="#Property-GetUserblock">H5Pget_userblock</a> - <li><a href="#Property-SetSizes">H5Pset_sizes</a> - <li><a href="#Property-GetSizes">H5Pget_sizes</a> - <li><a href="#Property-SetSymK">H5Pset_sym_k</a> - <li><a href="#Property-GetSymK">H5Pget_sym_k</a> - <li><a href="#Property-SetIstoreK">H5Pset_istore_k</a> - <li><a href="#Property-GetIstoreK">H5Pget_istore_k</a> - </ul> - - <br><br> - || <i>Indicates functions<br> - available only in the<br> - parallel HDF5 library.</i> - <br><br><br><br><br><br><br><br><br><br><br><br> - <i>(Function listing<br> - continues on next page.)</i></pre> -</td> -</tr> -</table> -<!-- FOR USE WITH PRINT VERSION ----------------------------------------> - -<!-- NEW PAGE --> - -<!-- FOR USE WITH PRINT VERSION ---------------------------------------- -<table border="0" width="95%"> -<tr> -<td valign="top" width="31%"> - <i>Dataset Creation Properties</i> - <ul> - <li><a href="#Property-SetLayout">H5Pset_layout</a> - <li><a href="#Property-GetLayout">H5Pget_layout</a> - <li><a href="#Property-SetChunk">H5Pset_chunk</a> - <li><a href="#Property-GetChunk">H5Pget_chunk</a> - <li><a href="#Property-SetDeflate">H5Pset_deflate</a> -<!-- FOR USE WITH PRINT VERSION ----------------------------------------> -<!-- - <li><a href="#Property-GetDeflate">H5Pget_deflate</a> - <li><a href="#Property-SetCompression">H5Pset_compression</a> - <li><a href="#Property-GetCompression">H5Pget_compression</a> ---> -<!-- FOR USE WITH PRINT VERSION ---------------------------------------- - <li><a href="#Property-SetFillValue">H5Pset_fill_value</a> - <li><a href="#Property-GetFillValue">H5Pget_fill_value</a> - <li><a href="#Property-FillValueDefined">H5Pfill_value_defined</a> - <li><a href="#Property-SetFillTime">H5Pset_fill_time</a> - <li><a href="#Property-GetFillTime">H5Pget_fill_time</a> - <li><a href="#Property-SetAllocTime">H5Pset_alloc_time</a> - <li><a href="#Property-GetAllocTime">H5Pget_alloc_time</a> - <li><a href="#Property-SetFilter">H5Pset_filter</a> - <li><a href="#Property-AllFiltersAvail">H5Pall_filters_avail</a> - <li><a href="#Property-GetNFilters">H5Pget_nfilters</a> - <li><a href="#Property-GetFilter">H5Pget_filter</a> - <li><a href="#Property-GetFilterById">H5Pget_filter_by_id</a> - <li><a href="#Property-ModifyFilter">H5Pmodify_filter</a> - <li><a href="#Property-RemoveFilter">H5Premove_filter</a> - <li><a href="#Property-SetFletcher32">H5Pset_fletcher32</a> - <li><a href="#Property-SetShuffle">H5Pset_shuffle</a> - <li><a href="#Property-SetSzip">H5Pset_szip</a> - <li><a href="#Property-SetExternal">H5Pset_external</a> - <li><a href="#Property-GetExternalCount">H5Pget_external_count</a> - <li><a href="#Property-GetExternal">H5Pget_external</a> - </ul> -</td> -<td valign="top" width="3%"> </td> -<td valign="top" width="32%"> - <i>Dataset Access, Memory, and <br> Transfer Properties</i> - <ul> - <li><a href="#Property-SetBuffer">H5Pset_buffer</a> - <li><a href="#Property-GetBuffer">H5Pget_buffer</a> - <li><a href="#Property-SetPreserve">H5Pset_preserve</a> - <li><a href="#Property-GetPreserve">H5Pget_preserve</a> - <li><a href="#Property-SetEdcCheck">H5Pset_edc_check</a> - <li><a href="#Property-GetEdcCheck">H5Pget_edc_check</a> - <li><a href="#Property-SetFilterCallback">H5Pset_filter_callback</a> - <li><a href="#Property-SetHyperVectorSize">H5Pset_hyper_vector_size</a> - <li><a href="#Property-GetHyperVectorSize">H5Pget_hyper_vector_size</a> - <li><a href="#Property-SetBTreeRatios">H5Pset_btree_ratios</a> - <li><a href="#Property-GetBTreeRatios">H5Pget_btree_ratios</a> - <li><a href="#Property-SetVLMemManager">H5Pset_vlen_mem_manager</a> - <li><a href="#Property-GetVLMemManager">H5Pget_vlen_mem_manager</a> - <li><a href="#Property-SetDxplMpio">H5Pset_dxpl_mpio</a> || - <li><a href="#Property-GetDxplMpio">H5Pget_dxpl_mpio</a> || - <li><a href="#Property-SetDxplMulti">H5Pset_dxpl_multi</a> - <li><a href="#Property-GetDxplMulti">H5Pget_dxpl_multi</a> - <li><a href="#Property-SetMultiType">H5Pset_multi_type</a> - <li><a href="#Property-GetMultiType">H5Pget_multi_type</a> - <br> - <li><a href="#Property-SetSmallData">H5Pset_small_data_block_size</a> - <li><a href="#Property-GetSmallData">H5Pget_small_data_block_size</a> - </ul> -</td> -<td valign="top" width="3%"> </td> -<td valign="top" width="31%"> -<br> - || <i>Indicates functions<br> - available only in the<br> - parallel HDF5 library.</i> -</td> -</tr> -</table> -<!-- FOR USE WITH PRINT VERSION ----------------------------------------> - -<br> - -* Functions labeled with an asterisk (*) are provided only for -backwards compatibility with HDF5 Releases 1.4.<i>x</i>. -See further notes in the description of each function. -<p> - -<!-- NEW PAGE --> -<i>Alphabetical Listing</i> -<table border="0"> - <tr> - <td valign="top"> - <ul> - <li><a href="#Property-AllFiltersAvail">H5Pall_filters_avail</a> - <li><a href="#Property-Close">H5Pclose</a> - <li><a href="#Property-CloseClass">H5Pclose_class</a> - <li><a href="#Property-CloseList">H5Pclose_list</a> - <li><a href="#Property-Copy">H5Pcopy</a> - <li><a href="#Property-CopyProp">H5Pcopy_prop</a> - <li><a href="#Property-Create">H5Pcreate</a> - <li><a href="#Property-CreateClass">H5Pcreate_class</a> - <li><a href="#Property-CreateList">H5Pcreate_list</a> - <li><a href="#Property-Equal">H5Pequal</a> - <li><a href="#Property-Exist">H5Pexist</a> - <li><a href="#Property-FillValueDefined">H5Pfill_value_defined</a> - <li><a href="#Property-Get">H5Pget</a> - <li><a href="#Property-GetAlignment">H5Pget_alignment</a> - <li><a href="#Property-GetAllocTime">H5Pget_alloc_time</a> - <li><a href="#Property-GetBTreeRatios">H5Pget_btree_ratios</a> - <li><a href="#Property-GetBuffer">H5Pget_buffer</a> - <li><a href="#Property-GetCache">H5Pget_cache</a> - <li><a href="#Property-GetChunk">H5Pget_chunk</a> - <li><a href="#Property-GetClass">H5Pget_class</a> - <li><a href="#Property-GetClassName">H5Pget_class_name</a> - <li><a href="#Property-GetClassParent">H5Pget_class_parent</a> - <li><a href="#Property-GetDriver">H5Pget_driver</a> - <!--<li><a href="#Property-GetDriverInfo">H5Pget_driver_info</a> --> - <li><a href="#Property-GetDxplMpio">H5Pget_dxpl_mpio</a> || - <li><a href="#Property-GetDxplMulti">H5Pget_dxpl_multi</a> - <li><a href="#Property-GetEdcCheck">H5Pget_edc_check</a> - <li><a href="#Property-GetExternal">H5Pget_external</a> - <li><a href="#Property-GetExternalCount">H5Pget_external_count</a> - <li><a href="#Property-GetFamilyOffset">H5Pget_family_offset</a> - <li><a href="#Property-GetFaplCore">H5Pget_fapl_core</a> - <li><a href="#Property-GetFaplFamily">H5Pget_fapl_family</a> - <li><a href="#Property-GetFaplGass">H5Pget_fapl_gass</a> - <li><a href="#Property-GetFaplMpio">H5Pget_fapl_mpio</a> || - <li><a href="#Property-GetFaplMpiPosix">H5Pget_fapl_mpiposix</a> || - <li><a href="#Property-GetFaplMulti">H5Pget_fapl_multi</a> - <li><a href="#Property-GetFaplSrb">H5Pget_fapl_srb</a> - <li><a href="#Property-GetFaplStream">H5Pget_fapl_stream</a> - <li><a href="#Property-GetFcloseDegree">H5Pget_fclose_degree</a> - <li><a href="#Property-GetFillTime">H5Pget_fill_time</a> - </ul> - </td> - - <td> </td> - - <td valign="top"> - <ul> - <li><a href="#Property-GetFillValue">H5Pget_fill_value</a> - <li><a href="#Property-GetFilter">H5Pget_filter</a> - <li><a href="#Property-GetFilterById">H5Pget_filter_by_id</a> - <li><a href="#Property-GetGCReferences">H5Pget_gc_references</a> - <li><a href="#Property-GetHyperVectorSize">H5Pget_hyper_vector_size</a> - <li><a href="#Property-GetIstoreK">H5Pget_istore_k</a> - <li><a href="#Property-GetLayout">H5Pget_layout</a> -<!-- <li><a href="#Property-GetMdcConfig">H5Pget_mdc_config</a> --> - <li><a href="#Property-GetMetaBlockSize">H5Pget_meta_block_size</a> - <li><a href="#Property-GetMultiType">H5Pget_multi_type</a> - <li><a href="#Property-GetNFilters">H5Pget_nfilters</a> - <li><a href="#Property-GetNProps">H5Pget_nprops</a> - <li><a href="#Property-GetPreserve">H5Pget_preserve</a> - <li><a href="#Property-GetSieveBufSize">H5Pget_sieve_buf_size</a> - <li><a href="#Property-GetSize">H5Pget_size</a> - <li><a href="#Property-GetSizes">H5Pget_sizes</a> - <li><a href="#Property-GetSmallData">H5Pget_small_data_block_size</a> - <li><a href="#Property-GetSymK">H5Pget_sym_k</a> - <li><a href="#Property-GetUserblock">H5Pget_userblock</a> - <li><a href="#Property-GetVersion">H5Pget_version</a> - <li><a href="#Property-GetVLMemManager">H5Pget_vlen_mem_manager</a> - <li><a href="#Property-Insert">H5Pinsert</a> - <li><a href="#Property-IsAClass">H5Pisa_class</a> - <li><a href="#Property-Iterate">H5Piterate</a> - <li><a href="#Property-ModifyFilter">H5Pmodify_filter</a> - <li><a href="#Property-Register">H5Pregister</a> - <li><a href="#Property-Remove">H5Premove</a> - <li><a href="#Property-RemoveFilter">H5Premove_filter</a> - <li><a href="#Property-Set">H5Pset</a> - <li><a href="#Property-SetAlignment">H5Pset_alignment</a> - <li><a href="#Property-SetAllocTime">H5Pset_alloc_time</a> - <li><a href="#Property-SetBTreeRatios">H5Pset_btree_ratios</a> - <li><a href="#Property-SetBuffer">H5Pset_buffer</a> - <li><a href="#Property-SetCache">H5Pset_cache</a> - <li><a href="#Property-SetChunk">H5Pset_chunk</a> - <li><a href="#Property-SetDeflate">H5Pset_deflate</a> -<!-- <li><a href="#Property-SetDriver">H5Pset_driver</a> --> - <li><a href="#Property-SetDxplMpio">H5Pset_dxpl_mpio</a> || - <li><a href="#Property-SetDxplMulti">H5Pset_dxpl_multi</a> - <li><a href="#Property-SetEdcCheck">H5Pset_edc_check</a> - <li><a href="#Property-SetExternal">H5Pset_external</a> - </ul> - </td> - - <td> </td> - - <td valign="top"> - <ul> - <li><a href="#Property-SetFamilyOffset">H5Pset_family_offset</a> - <li><a href="#Property-SetFaplCore">H5Pset_fapl_core</a> - <li><a href="#Property-SetFaplFamily">H5Pset_fapl_family</a> - <li><a href="#Property-SetFaplGass">H5Pset_fapl_gass</a> - <li><a href="#Property-SetFaplLog">H5Pset_fapl_log</a> - <li><a href="#Property-SetFaplMpio">H5Pset_fapl_mpio</a> || - <li><a href="#Property-SetFaplMpiPosix">H5Pset_fapl_mpiposix</a> || - <li><a href="#Property-SetFaplMulti">H5Pset_fapl_multi</a> - <li><a href="#Property-SetFaplSec2">H5Pset_fapl_sec2</a> - <li><a href="#Property-SetFaplSplit">H5Pset_fapl_split</a> - <li><a href="#Property-SetFaplSrb">H5Pset_fapl_srb</a> - <li><a href="#Property-SetFaplStdio">H5Pset_fapl_stdio</a> - <li><a href="#Property-SetFaplStream">H5Pset_fapl_stream</a> - <li><a href="#Property-SetFcloseDegree">H5Pset_fclose_degree</a> - <li><a href="#Property-SetFillTime">H5Pset_fill_time</a> - <li><a href="#Property-SetFillValue">H5Pset_fill_value</a> - <li><a href="#Property-SetFilter">H5Pset_filter</a> - <li><a href="#Property-SetFilterCallback">H5Pset_filter_callback</a> - <li><a href="#Property-SetFletcher32">H5Pset_fletcher32</a> - <li><a href="#Property-SetGCReferences">H5Pset_gc_references</a> - <li><a href="#Property-SetHyperVectorSize">H5Pset_hyper_vector_size</a> - <li><a href="#Property-SetIstoreK">H5Pset_istore_k</a> - <li><a href="#Property-SetLayout">H5Pset_layout</a> -<!-- <li><a href="#Property-SetMdcConfig">H5Pset_mdc_config</a> --> - <li><a href="#Property-SetMetaBlockSize">H5Pset_meta_block_size</a> - <li><a href="#Property-SetMultiType">H5Pset_multi_type</a> - <li><a href="#Property-SetPreserve">H5Pset_preserve</a> - <li><a href="#Property-SetShuffle">H5Pset_shuffle</a> - <li><a href="#Property-SetSieveBufSize">H5Pset_sieve_buf_size</a> - <li><a href="#Property-SetSizes">H5Pset_sizes</a> - <li><a href="#Property-SetSmallData">H5Pset_small_data_block_size</a> - <li><a href="#Property-SetSymK">H5Pset_sym_k</a> - <li><a href="#Property-SetSzip">H5Pset_szip</a> - <li><a href="#Property-SetUserblock">H5Pset_userblock</a> - <li><a href="#Property-SetVLMemManager">H5Pset_vlen_mem_manager</a> - <li><a href="#Property-Unregister">H5Punregister</a> - </ul> - <br><br> - || <i>Available only in the parallel HDF5 library.</i> - </td> - </tr> -</table> - -<br> -<!-- NEW PAGE --> -<strong>The FORTRAN90 Interfaces:</strong> - -<br> -In general, each FORTRAN90 subroutine performs exactly the same task -as the corresponding C function. -<br> - -<table border=0> -<tr><td valign=top> - - <i>General Property List Operations</i> - <ul> - <li><a href="#Property-Create">h5pcreate_f</a> - <li><a href="#Property-GetClass">h5pget_class_f</a> - <li><a href="#Property-Copy">h5pcopy_f</a> - <li><a href="#Property-Close">h5pclose_f</a> - </ul> - - - <p><i>Generic Properties</i> - <ul> - <li><a href="#Property-CreateClass">h5pcreate_class_f</a> -<!--<li><a href="#Property-CreateList">H5Pcreate_list</a> --> - <li><a href="#Property-Register">h5pregister_f</a> - <li><a href="#Property-Insert">h5pinsert_f</a> - <li><a href="#Property-Set">h5pset_f</a> - <li><a href="#Property-Exist">h5pexist_f</a> - <li><a href="#Property-GetSize">h5pget_size_f</a> - <li><a href="#Property-GetNProps">h5pget_nprops_f</a> - <li><a href="#Property-GetClassName">h5pget_class_name_f</a> - <li><a href="#Property-GetClassParent">h5pget_class_parent_f</a> - <li><a href="#Property-IsAClass">h5pisa_class_f</a> - <li><a href="#Property-Get">h5pget_f</a> - <li><a href="#Property-Equal">h5pequal_f</a> -<!--<li><a href="#Property-Iterate">h5piterate_f</a> --> - <li><a href="#Property-CopyProp">h5pcopy_prop_f</a> - <li><a href="#Property-Remove">h5premove_f</a> - <li><a href="#Property-Unregister">h5punregister_f</a> - <li><a href="#Property-CloseList">h5pclose_list_f</a> - <li><a href="#Property-CloseClass">h5pclose_class_f</a> - </ul> - -<!--<p><i>Meta Data Cache Properties</i> --> -<!--<ul> --> -<!--<li><a href="#Property-GetMdcConfig">H5Pget_mdc_config_f</a></li> --> -<!--<li><a href="#Property-SetMdcConfig">H5Pset_mdc_config_f</a></li> --> -<!--</ul> --> - - <p><i>File Creation Properties</i> - <ul> - <li><a href="#Property-GetVersion">h5pget_version_f</a> - <li><a href="#Property-SetUserblock">h5pset_userblock_f</a> - <li><a href="#Property-GetUserblock">h5pget_userblock_f</a> - <li><a href="#Property-SetSizes">h5pset_sizes_f</a> - <li><a href="#Property-GetSizes">h5pget_sizes_f</a> - <li><a href="#Property-SetSymK">h5pset_sym_k_f</a> - <li><a href="#Property-GetSymK">h5pget_sym_k_f</a> - <li><a href="#Property-SetIstoreK">h5pset_istore_k_f</a> - <li><a href="#Property-GetIstoreK">h5pget_istore_k_f</a> - </ul> - -<!--<p><i>Variable-length Datatype Properties</i> --> -<!--<ul> --> -<!--<li><a href="#Property-SetVLMemManager">h5pset_vlen_mem_manager_f</a> --> -<!--<li><a href="#Property-GetVLMemManager">h5pget_vlen_mem_manager_f</a> --> -<!--</ul> --> - -</td><td> </td><td valign=top> - - - <i>File Close Properties</i> - <ul> - <li><a href="#Property-SetFcloseDegree">h5pset_fclose_degree_f</a> - <li><a href="#Property-GetFcloseDegree">h5pget_fclose_degree_f</a> - </ul> - - <p><i>Dataset Creation Properties</i> - <ul> - <li><a href="#Property-SetLayout">h5pset_layout_f</a> - <li><a href="#Property-GetLayout">h5pget_layout_f</a> - <li><a href="#Property-SetChunk">h5pset_chunk_f</a> - <li><a href="#Property-GetChunk">h5pget_chunk_f</a> - <li><a href="#Property-SetDeflate">h5pset_deflate_f</a> -<!--<li><a href="#Property-GetDeflate">h5pget_deflate_f</a> --> -<!--<li><a href="#Property-SetCompression">h5pset_compression_f</a> --> -<!--<li><a href="#Property-GetCompression">h5pget_compression_f</a> --> - <li><a href="#Property-SetFillValue">h5pset_fill_value_f</a> - <li><a href="#Property-GetFillValue">h5pget_fill_value_f</a> - <li><a href="#Property-FillValueDefined">h5pfill_value_defined_f</a> - <li><a href="#Property-SetFillTime">h5pset_fill_time_f</a> - <li><a href="#Property-GetFillTime">h5pget_fill_time_f</a> - <li><a href="#Property-SetAllocTime">h5pset_alloc_time_f</a> - <li><a href="#Property-GetAllocTime">h5pget_alloc_time_f</a> - <li><a href="#Property-SetFilter">h5pset_filter_f</a> -<!--<li><a href="#Property-AllFiltersAvail">h5pall_filters_avail_f</a> --> - <li><a href="#Property-GetNFilters">h5pget_nfilters_f</a> - <li><a href="#Property-GetFilter">h5pget_filter_f</a> - <li><a href="#Property-GetFilterById">h5pget_filter_by_id_f</a> - <li><a href="#Property-ModifyFilter">h5pmodify_filter_f</a> - <li><a href="#Property-RemoveFilter">h5premove_filter_f</a> - <li><a href="#Property-SetFletcher32">h5pset_fletcher32_f</a> - <li><a href="#Property-SetShuffle">h5pset_shuffle_f</a> - <li><a href="#Property-SetSzip">h5pset_szip_f</a> - <li><a href="#Property-SetExternal">h5pset_external_f</a> - <li><a href="#Property-GetExternalCount">h5pget_external_count_f</a> - <li><a href="#Property-GetExternal">h5pget_external_f</a> - </ul> - -<!-- -<br> -<br> -<br> ---> -<br> -<br> -<br> -<br> -|| <i>Available only in the parallel HDF5 library.</i> - - -</td><td> </td><td valign=top> - - - <i>File Access Properties</i> - <ul> -<!--<li><a href="#Property-SetDriver">h5pset_driver_f</a> --> - <li><a href="#Property-GetDriver">h5pget_driver_f</a> -<!--<li><a href="#Property-GetDriverInfo">h5pget_driver_info_f</a> --> - <li><a href="#Property-SetMetaBlockSize">h5pset_meta_block_size_f</a> - <li><a href="#Property-GetMetaBlockSize">h5pget_meta_block_size_f</a> - <li><a href="#Property-SetSieveBufSize">h5pset_sieve_buf_size_f</a> - <li><a href="#Property-GetSieveBufSize">h5Pget_sieve_buf_size_f</a> - <li><a href="#Property-SetStdio">h5pset_stdio_f</a> - <li><a href="#Property-GetStdio">h5pget_stdio_f</a> - <li><a href="#Property-SetSec2">h5pset_sec2_f</a> -<!--<li><a href="#Property-GetSec2">h5pget_sec2_f</a> --> - <li><a href="#Property-SetAlignment">h5pset_alignment_f</a> - <li><a href="#Property-GetAlignment">h5pget_alignment_f</a> -<!--<li><a href="#Property-SetCore">h5pset_core_f</a> --> -<!--<li><a href="#Property-GetCore">h5pget_core_f</a> --> - <li><a href="#Property-SetFaplMpio">h5pset_fapl_mpio_f</a> || - <li><a href="#Property-GetFaplMpio">h5pget_fapl_mpio_f</a> || - <li><a href="#Property-SetFaplMpiPosix">h5pset_fapl_mpiposix_f</a> || - <li><a href="#Property-GetFaplMpiPosix">h5pget_fapl_mpiposix_f</a> || - <li><a href="#Property-SetFamily">h5pset_family_f</a> - <li><a href="#Property-GetFamily">h5pget_family_f</a> -<!--<li><a href="#Property-SetFamilyOffset">h5pset_family_offset_f</a> --> -<!--<li><a href="#Property-GetFamilyOffset">h5pget_family_offset_f</a> --> - <li><a href="#Property-SetFaplMulti">h5pset_fapl_multi_f</a> - <li><a href="#Property-GetFaplMulti">h5pget_fapl_multi_f</a> -<!--<li><a href="#Property-SetMultiType">h5pset_multi_type_f</a> --> -<!--<li><a href="#Property-GetMultiType">h5pget_multi_type_f</a> --> - <li><a href="#Property-SetCache">h5pset_cache_f</a> - <li><a href="#Property-GetCache">h5pget_cache_f</a> - <li><a href="#Property-SetSplit">h5pset_split_f</a> - <li><a href="#Property-GetSplit">h5pget_split_f</a> - <li><a href="#Property-SetGCReferences">h5pset_gc_references_f</a> - <li><a href="#Property-GetGCReferences">h5pget_gc_references_f</a> - </ul> - - - <p><i>Dataset Access, Memory, and Transfer Properties</i> - <ul> - <li><a href="#Property-SetBuffer">h5pset_buffer_f</a> - <li><a href="#Property-GetBuffer">h5pget_buffer_f</a> - <li><a href="#Property-SetPreserve">h5pset_preserve_f</a> - <li><a href="#Property-GetPreserve">h5pget_preserve_f</a> - <li><a href="#Property-SetEdcCheck">h5pset_edc_check_f</a> - <li><a href="#Property-GetEdcCheck">h5pget_edc_check_f</a> - <li><a href="#Property-SetHyperVectorSize">h5pset_hyper_vector_size_f</a> - <li><a href="#Property-GetHyperVectorSize">h5pget_hyper_vector_size_f</a> - <li><a href="#Property-SetBTreeRatios">h5pset_btree_ratios_f</a> - <li><a href="#Property-GetBTreeRatios">h5pget_btree_ratios_f</a> - <li><a href="#Property-SetDxplMpio">h5pset_dxpl_mpio_f</a> || - <li><a href="#Property-GetDxplMpio">h5pget_dxpl_mpio_f</a> || -<!--<li><a href="#Property-SetDxplMulti">h5pset_dxpl_multi_f</a> --> -<!--<li><a href="#Property-GetDxplMulti">h5pget_dxpl_multi_f</a> --> -<!--<li><a href="#Property-SetMultiType">h5pset_multi_type_f</a> --> -<!--<li><a href="#Property-GetMultiType">h5pget_multi_type_f</a> --> - <br> - <li><a href="#Property-SetSmallData">h5pset_small_data_block_size_f</a> - <li><a href="#Property-GetSmallData">h5pget_small_data_block_size_f</a> - </ul> - -</td></tr> -</table> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pall_filters_avail" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-AllFiltersAvail">H5Pall_filters_avail</a> - <dt><strong>Signature:</strong> - <dd><em>htri_t</em> <code>H5Pall_filters_avail</code>(<em>hid_t</em> <code>dcpl_id</code>) - <dt><strong>Purpose:</strong> - <dd>Verifies that all required filters are available. - <dt><strong>Description:</strong> - <dd><code>H5Pall_filters_avail</code> verifies that all of the filters - set in the dataset creation property list <code>dcpl_id</code> are - currently available. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dcpl_id </code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns <code>TRUE</code> if all filters are available - and <code>FALSE</code> if one or more is not currently available.<br> - Returns <code>FAIL</code>, a negative value, on error. -<dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pclose" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Close">H5Pclose</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pclose</code>(<em>hid_t</em> <code>plist</code> - ) - <dt><strong>Purpose:</strong> - <dd>Terminates access to a property list. - <dt><strong>Description:</strong> - <dd><code>H5Pclose</code> 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. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier of the property list to terminate access to.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pclose_f - <dd> - <pre> -SUBROUTINE h5pclose_f(prp_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pclose_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pclose_class" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-CloseClass">H5Pclose_class</a> - - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pclose_class</code>( - <em>hid_t</em> <code>class</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Closes an existing property list class. - - <dt><strong>Description:</strong> - <dd>Removes a property list class from the library. - - <p> - Existing property lists of this class will continue to exist, - but new ones are not able to be created. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>class </code></td> - <td>IN: Property list class to close</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pclose_class_f - <dd> - <pre> -SUBROUTINE h5pclose_class_f(class, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier - ! to close - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pclose_class_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pclose_list" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-CloseList">H5Pclose_list</a> - - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pclose_list</code>( - <em>hid_t</em> <code>plist</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Closes a property list. - - <dt><strong>Description:</strong> - <dd><code>H5Pclose_list</code> closes a property list. - - <p> - If a <code>close</code> callback exists for the property list class, - it is called before the property list is destroyed. - If <code>close</code> callbacks exist for any individual properties - in the property list, they are called after the class - <code>close</code> callback. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>plist </code><td> - <td>IN: Property list to close</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pclose_list_f - <dd> - <pre> -SUBROUTINE h5pclose_list_f(plist, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier to close - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pclose_list_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pcopy" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Copy">H5Pcopy</a> - <dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Pcopy</code>(<em>hid_t</em> <code>plist</code> - ) - <dt><strong>Purpose:</strong> - <dd>Copies an existing property list to create a new property list. - <dt><strong>Description:</strong> - <dd><code>H5Pcopy</code> 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. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier of property list to duplicate.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a property list identifier if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pcopy_f - <dd> - <pre> -SUBROUTINE h5pcopy_f(prp_id, new_prp_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HID_T), INTENT(OUT) :: new_prp_id ! Identifier of property list - ! copy - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pcopy_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pcopy_prop" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-CopyProp">H5Pcopy_prop</a> - - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pcopy_prop</code>( - <em>hid_t</em> <code>dst_id</code>, - <em>hid_t</em> <code>src_id</code>, - <em>const char *</em><code>name</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Copies a property from one list or class to another. - - <dt><strong>Description:</strong> - <dd><code>H5Pcopy_prop</code> copies a property from one property - list or class to another. - - <p> - If a property is copied from one class to another, all the property - information will be first deleted from the destination class and - then the property information will be copied from the source class - into the destination class. - - <p> - If a property is copied from one list to another, the property - will be first deleted from the destination list (generating a call - to the <code>close</code> callback for the property, if one exists) - and then the property is copied from the source list to the - destination list (generating a call to the <code>copy</code> - callback for the property, if one exists). - - <p> - If the property does not exist in the class or list, this call is - equivalent to calling <code>H5Pregister</code> or <code>H5Pinsert</code> - (for a class or list, as appropriate) and the <code>create</code> - callback will be called in the case of the property being - copied into a list (if such a callback exists for the property). - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>dst_id</code></td> - <td>IN: Identifier of the destination property list or - class</td></tr> - <tr> - <td><em>hid_t</em> <code>src_id</code></td> - <td>IN: Identifier of the source property list or class</td></tr> - <tr> - <td><em>const char *</em><code>name </code></td> - <td>IN: Name of the property to copy</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pcopy_prop_f - <dd> - <pre> -SUBROUTINE h5pcopy_prop_f(dst_id, src_id, name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dst_id ! Destination property list - ! identifier - INTEGER(HID_T), INTENT(IN) :: src_id ! Source property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Property name - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pcopy_prop_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pcreate" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Create">H5Pcreate</a> - <dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Pcreate</code>(<em>hid_t</em> <code>cls_id</code> - ) - <dt><strong>Purpose:</strong> - <dd>Creates a new property as an instance of a property list class. - <dt><strong>Description:</strong> - <dd><code>H5Pcreate</code> creates a new property as an instance of some - property list class. The new property list is initialized - with default values for the specified class. The classes are: - <dl> - <dt><code>H5P_FILE_CREATE</code> - <dd>Properties for file creation. - See <a href="Files.html">Files</a> - in the <cite>HDF User's Guide</cite> - for details about the file creation properties. - <dt><code>H5P_FILE_ACCESS</code> - <dd>Properties for file access. - See <a href="Files.html">Files</a> - in the <cite>HDF User's Guide</cite> - for details about the file creation properties. - <dt><code>H5P_DATASET_CREATE</code> - <dd>Properties for dataset creation. - See <a href="Datasets.html">Datasets</a> - in the <cite>HDF User's Guide</cite> - for details about dataset creation properties. - <dt><code>H5P_DATASET_XFER</code> - <dd>Properties for raw data transfer. - See <a href="Datasets.html">Datasets</a> - in the <cite>HDF User's Guide</cite> - for details about raw data transfer properties. - <dt><code>H5P_MOUNT</code> - <dd>Properties for file mounting. - With this parameter, <code>H5Pcreate</code> - creates and returns a new mount property list - initialized with default values. - </dl> - <p> - This property list must eventually be closed with - <code>H5Pclose</code>; - otherwise, errors are likely to occur. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>cls_id </code></td> - <td valign="top">IN: The class of the property list to create.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a property list identifier (<code>plist</code>) if successful; - otherwise Fail (-1). - <dt><strong>Fortran90 Interface:</strong> h5pcreate_f - <dd> - <pre> -SUBROUTINE h5pcreate_f(classtype, prp_id, hdferr) - IMPLICIT NONE - INTEGER, INTENT(IN) :: classtype ! The type of the property list - ! to be created - ! Possible values are: - ! H5P_FILE_CREATE_F - ! H5P_FILE_ACCESS_F - ! H5P_DATASET_CREATE_F - ! H5P_DATASET_XFER_F - ! H5P_MOUNT_F - INTEGER(HID_T), INTENT(OUT) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pcreate_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pcreate_class" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-CreateClass">H5Pcreate_class</a> - - <dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Pcreate_class</code>( - <em>hid_t</em> <code>class</code>, - <em>const char *</em><code>name</code>, - <em>H5P_cls_create_func_t</em> <code>create</code>, - <em>H5P_cls_copy_func_t</em> <code>copy</code>, - <em>H5P_cls_close_func_t</em> <code>close</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Creates a new property list class. - - <dt><strong>Description:</strong> - <dd><code>H5Pcreate_class</code> registers a new property list class - with the library. - The new property list class can inherit from an existing property - list class or may be derived from the default "empty" class. - New classes with inherited properties from existing classes - may not remove those existing properties, only add or remove - their own class properties. - </P> - - The <code>create</code> routine is called when a new property list - of this class is being created. - The <code>H5P_cls_create_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_cls_create_func_t</code>)( - <em>hid_t</em> <code>prop_id</code>, - <em>void *</em> <code>create_data</code> - ); - </ul> - The parameters to this callback function are defined as follows: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list being created</td></tr> - <tr> - <td><em>void *</em> <code>create_data</code></td> - <td>IN/OUT: User pointer to any class creation information needed</td></tr> - </table></ul> - The <code>create</code> routine is called after any registered - <code>create</code> function is called for each property value. - If the <code>create</code> routine returns a negative value, - the new list is not returned to the user and the - property list creation routine returns an error value. - </P> - - The <code>copy</code> routine is called when an existing property list - of this class is copied. - The <code>H5P_cls_copy_func_t</code> callback function - is defined as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_cls_copy_func_t</code>)( - <em>hid_t</em> <code>prop_id</code>, - <em>void *</em> <code>copy_data</code> - ); - </ul> - The parameters to this callback function are defined as follows: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list created by copying</td></tr> - <tr> - <td><em>void *</em> <code>copy_data</code></td> - <td>IN/OUT: User pointer to any class copy information needed</td></tr> - </table></ul> - The <code>copy</code> routine is called after any registered - <code>copy</code> function is called for each property value. - If the <code>copy</code> routine returns a negative value, the new list - is not returned to the user and the property list copy routine returns - an error value. - </P> - - The <code>close</code> routine is called when a property list of this - class - is being closed. - The <code></code>H5P_cls_close_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_cls_close_func_t</code>)( - <em>hid_t</em> <code>prop_id</code>, - <em>void *</em> <code>close_data</code> - ); - </ul> - The parameters to this callback function are defined as follows: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list being closed</td></tr> - <tr> - <td><em>void *</em> <code>close_data</code></td> - <td>IN/OUT: User pointer to any class close information needed</td></tr> - </table></ul> - The <code>close</code> routine is called before any registered - <code>close</code> function is called for each property value. - If the <code>close</code> routine returns a negative value, - the property list close routine returns an error value - but the property list is still closed. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>class</code></td> - <td>IN: Property list class to inherit from.</td></tr> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: Name of property list class to register</td></tr> - <tr> - <td><em>H5P_cls_create_func_t</em> <code>create </code></td> - <td>IN: Callback routine called when a property list is created</td></tr> - <tr> - <td><em>H5P_cls_copy_func_t</em> <code>copy</code></td> - <td>IN: Callback routine called when a property list is copied</td></tr> - <tr> - <td><em>H5P_cls_close_func_t</em> <code>close</code></td> - <td>IN: Callback routine called when a property list is being closed</td></tr> - </table> - </ul> - - <dt><strong>Returns:</strong> - <dd>Success: a valid property list class identifier - <dd>Failure: a negative value - -<!-- NEW PAGE --> - <dt><strong>Fortran90 Interface:</strong> h5pcreate_class_f - <dd> - <pre> -SUBROUTINE h5pcreate_class_f(parent, name, class, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: parent ! Parent property list class - ! identifier - ! Possible values include: - ! H5P_NO_CLASS_F - ! H5P_FILE_CREATE_F - ! H5P_FILE_ACCESS_F - ! H5P_DATASET_CREATE_F - ! H5P_DATASET_XFER_F - ! H5P_MOUNT_F - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to create - INTEGER(HID_T), INTENT(OUT) :: class ! Property list class identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pcreate_class_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pcreate_list" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-CreateList">H5Pcreate_list</a> - - <dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Pcreate_list</code>( - <em>hid_t</em> <code>class</code>) - - <dt><strong>Purpose:</strong> - <dd>Creates a new property list class of a given class. - - <dt><strong>Description:</strong> - <dd><code>H5Pcreate_list</code> creates a new property list of a - given class. If a <code>create</code> callback exists for the - property list class, it is called before the property list - is passed back to the user. - If <code>create</code> callbacks exist for any individual properties - in the property list, they are called before the class - <code>create</code> callback. - - <dt><strong>Parameter:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>class; </code></td> - <td>IN: Class of property list to create.</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a valid property list identifier - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Premove_filter" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-RemoveFilter">H5Premove_filter</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Premove_filter</code>(<em>hid_t</em> <code>plist</code>, - <em>H5Z_filter_t</em> <code>filter</code> - ) - <dt><strong>Purpose:</strong> - <dd>Delete one or more filters in the filter pipeline. - <dt><strong>Description:</strong> - <dd><code>H5Premove_filter</code> removes the specified - <code>filter</code> from the filter pipeline in the - dataset creation property list <code>plist</code>. - <p> - The <code>filter</code> parameter specifies the filter to be removed. - Valid values for use in <code>filter</code> are as follows: - - <center> - <table width=75%> - <tr valign=top align=left><td> - <code>H5Z_FILTER_ALL</code> - </td><td> - Removes all filters from the permanent filter pipeline. - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_DEFLATE</code> - </td><td> - Data compression filter, employing the gzip algorithm - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_SHUFFLE</code> - </td><td> - Data shuffling filter - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_FLETCHER32 </code> - </td><td> - Error detection filter, employing the Fletcher32 checksum algorithm - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_SZIP</code> - </td><td> - Data compression filter, employing the SZIP algorithm - </td></tr> - </table> - </center> - <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> - Attempting to remove a filter that is not in the permanent filter - pipeline is an error. - <dt><strong>Note:</strong> - <dd>This function currently supports only the permanent filter - pipeline; <code>plist</code> must be a dataset creation - property list. - <dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>IN: Dataset creation property list identifier. - <dt><em>H5Z_filter_t</em> <code>filter</code> - <dd>IN: Filter to be deleted. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - - <dt><strong>Fortran90 Interface:</strong> h5premove_filter_f - <dd> - <pre> -SUBROUTINE h5premove_filter_f(prp_id, filter, hdferr) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset creation property - ! list identifier - INTEGER, INTENT(IN) :: filter ! Filter to be removed - ! Valid values are: - ! H5Z_FILTER_ALL_F - ! H5Z_FILTER_DEFLATE_F - ! H5Z_FILTER_SHUFFLE_F - ! H5Z_FILTER_FLETCHER32_F - ! H5Z_FILTER_SZIP_F - ! - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success, -1 on failure -END SUBROUTINE h5premove_filter_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pequal" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Property-Equal">H5Pequal</a> - - <dt><strong>Signature:</strong> - <dd><em>htri_t</em> <code>H5Pequal</code>( - <em></em>hid_t</em> <em>id1</em>, - <em>hid_t</em> <em>id2</em> - ) - - <dt><strong>Purpose:</strong> - <dd>Compares two property lists or classes for equality. - - <dt><strong>Description:</strong> - <dd><code>H5Pequal</code> compares two property lists or classes - to determine whether they are equal to one another. - - <p> - Either both <code>id1</code> and <code>id2</code> must be - property lists or both must be classes; comparing a list to a - class is an error. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>id1 </code></td> - <td>IN: First property object to be compared</td></tr> - <tr> - <td><em>hid_t</em> <code>id2</code></td> - <td>IN: Second property object to be compared</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: TRUE (positive) if equal; FALSE (zero) if unequal - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pequal_f - <dd> - <pre> -SUBROUTINE h5pequal_f(plist1_id, plist2_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist1_id ! Property list identifier - INTEGER(HID_T), INTENT(IN) :: plist2_id ! Property list identifier - LOGICAL, INTENET(OUT) :: flag ! Flag - ! .TRUE. if lists are equal - ! .FALSE. otherwise - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pequal_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pexist" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Exist">H5Pexist</a> - - <dt><strong>Signature:</strong> - <dd><em>htri_t</em> <code>H5Pexist</code>( - <em>hid_t</em> <code>id</code>; - <em>const char *</em><code>name</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Queries whether a property name exists in a property list - or class. - - <dt><strong>Description:</strong> - <dd><code>H5Pexist</code> determines whether a property exists - within a property list or class. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>id</code></td> - <td>IN: Identifier for the property to query</td></tr> - <tr> - <td><em>const char *</em><code>name </code></td> - <td>IN: Name of property to check for</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a positive value if the property exists in the - property object; zero if the property does not exist - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pexist_f - <dd> - <pre> -SUBROUTINE h5pexist_f(prp_id, name, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify - LOGICAL, INTENT(OUT) :: flag ! Logical flag - ! .TRUE. if exists - ! .FALSE. otherwise - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pexist_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pfill_value_defined" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-FillValueDefined">H5Pfill_value_defined</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pfill_value_defined</code>(<em>hid_t</em> <code>plist_id</code>, - <em>H5D_fill_value_t *</em><code>status</code> - ) - <dt><strong>Purpose:</strong> - <dd>Determines whether fill value is defined. - <dt><strong>Description:</strong> - <dd><code>H5Pfill_value_defined</code> determines whether a fill value - is defined in the dataset creation property list <code>plist_id</code>. - <p> - Valid values returned in <code>status</code> are as follows: - <table border=0 width="80%"> - <tr valign="top"><td rowspan="3"> </td><td> - <code>H5D_FILL_VALUE_UNDEFINED</code> - </td><td> - Fill value is undefined. - </td></tr><tr valign="top"><td> - <code>H5D_FILL_VALUE_DEFAULT</code> - </td><td> - Fill value is the library default. - </td></tr><tr valign="top"><td> - <code>H5D_FILL_VALUE_USER_DEFINED</code> - </td><td> - Fill value is defined by the application. - </td></tr></table> - <dt><strong>Note:</strong> - <dd><code>H5Pfill_value_defined</code> is designed for use in - concert with the dataset fill value properties functions - <code>H5Pget_fill_value</code> and <code>H5Pget_fill_time</code>. - <p> - See <a href="RM_H5D.html#Dataset-Create">H5Dcreate</a> for - further cross-references. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5D_fill_value_t *</em><code>status </code></td> - <td valign="top">OUT: Status of fill value in property list.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Get">H5Pget</a> - - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget</code>( - <em>hid_t</em> <code>plid</code>, - <em>const char *</em><code>name</code>, - <em>void *</em><code>value</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Queries the value of a property. - - <dt><strong>Description:</strong> - <dd><code>H5Pget</code> retrieves a copy of the value for a property - in a property list. If there is a <code>get</code> callback routine - registered for this property, the copy of the value of the property - will first be passed to that routine and any changes to the copy of - the value will be used when returning the property value from this - routine. - - <p> - This routine may be called for zero-sized properties with the - <code>value</code> set to NULL. The <code>get</code> routine - will be called with a NULL value if the callback exists. - - <p> - The property name must exist or this routine will fail. - - <p> - If the <code>get</code> callback routine returns an error, - <code>value</code> will not be modified. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>plid</ecodem></td> - <td>IN: Identifier of the property list to query</td></tr> - <tr> - <td><em>const char *</em><code>name </code></td> - <td>IN: Name of property to query</td></tr> - <tr> - <td><em>void *</em><code>value</code></td> - <td>OUT: Pointer to a location to which to copy the value of - of the property</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pget_f - <dd> - <pre> -SUBROUTINE h5pget_f(plid, name, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plid ! Property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to get - TYPE, INTENT(OUT) :: value ! Property value - ! Supported types are: - ! INTEGER - ! REAL - ! DOUBLE PRECISION - ! CHARACTER(LEN=*) - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_alignment" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetAlignment">H5Pget_alignment</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_alignment</code>(<em>hid_t</em> <code>plist</code>, - <em>hsize_t</em> <code>*threshold</code>, - <em>hsize_t</em> <code>*alignment</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves the current settings for alignment properties from a - file access property list. - <dt><strong>Description:</strong> - <dd><code>H5Pget_alignment</code> retrieves the current settings for - alignment properties from a file access property list. - The <code>threshold</code> and/or <code>alignment</code> pointers - may be null pointers (NULL). - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier of a file access property list.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>*threshold </code></td> - <td valign="top">OUT: Pointer to location of return threshold value.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>*alignment</code></td> - <td valign="top">OUT: Pointer to location of return alignment value.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_alignment_f - <dd> - <pre> -SUBROUTINE h5pget_alignment_f(prp_id, threshold, alignment, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HSIZE_T), INTENT(OUT) :: threshold ! Threshold value - INTEGER(HSIZE_T), INTENT(OUT) :: alignment ! Alignment value - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_alignment_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_alloc_time" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetAllocTime">H5Pget_alloc_time</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_alloc_time</code>(<em>hid_t</em> <code>plist_id</code>, - <em>H5D_alloc_time_t *</em><code>alloc_time</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves the timing for storage space allocation. - <dt><strong>Description:</strong> - <dd><code>H5Pget_alloc_time</code> retrieves the timing for allocating - storage space for a dataset's raw data. - This property is set in the dataset creation property list - <code>plist_id</code>. - <p> - The timing setting is returned in <code>fill_time</code> as one of the - following values: - <table border=0 > - <tr valign="top"><td rowspan="4"> </td><td> - <code>H5D_ALLOC_TIME_DEFAULT</code> - </td><td> - Uses the default allocation time, based on the dataset storage method.<br> - See the <code>fill_time</code> description in - <a href="#Property-SetAllocTime">H5Pset_alloc_time</a> for - default allocation times for various storage methods. - </td></tr><tr valign="top"><td> - <code>H5D_ALLOC_TIME_EARLY</code> - </td><td> - All space is allocated when the dataset is created. - </td></tr><tr valign="top"><td> - <code>H5D_ALLOC_TIME_INCR</code> - </td><td> - Space is allocated incrementally as data is written to the dataset. - </td></tr><tr valign="top"><td> - <code>H5D_ALLOC_TIME_LATE</code> - </td><td> - All space is allocated when data is first written to the dataset. - </td></tr></table> - <dt><strong>Note:</strong> - <dd><code>H5Pget_alloc_time</code> is designed to work in concert - with the dataset fill value and fill value write time properties, - set with the functions - <code>H5Pget_fill_value</code> and <code>H5Pget_fill_time</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5D_alloc_time_t *</em><code>alloc_time </code></td> - <td valign="top">IN: When to allocate dataset storage space.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_alloc_time_f - <dd> - <pre> -SUBROUTINE h5pget_alloc_time_f(plist_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset creation - ! property list identifier - INTEGER(HSIZE_T), INTENT(OUT) :: flag ! Allocation time flag - ! Possible values are: - ! H5D_ALLOC_TIME_ERROR_F - ! H5D_ALLOC_TIME_DEFAULT_F - ! H5D_ALLOC_TIME_EARLY_F - ! H5D_ALLOC_TIME_LATE_F - ! H5D_ALLOC_TIME_INCR_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_alloc_time_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_btree_ratios" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetBTreeRatios">H5Pget_btree_ratios</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_btree_ratios</code>(<em>hid_t</em> <code>plist</code>, - <em>double</em> *<code>left</code>, - <em>double</em> *<code>middle</code>, - <em>double</em> *<code>right</code> - ) - <dt><strong>Purpose:</strong> - <dd>Gets B-tree split ratios for a dataset transfer property list. - <dt><strong>Description:</strong> - <dd><code>H5Pget_btree_ratios</code> returns the B-tree split ratios - for a dataset transfer property list. - <p> - The B-tree split ratios are returned through the non-<code>NULL</code> - arguments <code>left</code>, <code>middle</code>, and <code>right</code>, - as set by the <a href="#Property-SetBTreeRatios">H5Pset_btree_ratios</a> function. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: The dataset transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>double</em> <code>left</code></td> - <td valign="top">OUT: The B-tree split ratio for left-most nodes.</td></tr> - <tr> - <td valign="top"><em>double</em> <code>right</code></td> - <td valign="top">OUT: The B-tree split ratio for right-most nodes and lone nodes.</td></tr> - <tr> - <td valign="top"><em>double</em> <code>middle </code></td> - <td valign="top">OUT: The B-tree split ratio for all other nodes.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_btree_ratios_f - <dd> - <pre> -SUBROUTINE h5pget_btree_ratios_f(prp_id, left, middle, right, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id - ! Property list identifier - REAL, INTENT(OUT) :: left ! B-tree split ratio for left-most nodes - REAL, INTENT(OUT) :: middle ! B-tree split ratio for all other nodes - REAL, INTENT(OUT) :: right ! The B-tree split ratio for right-most - ! nodes and lone nodes. - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_btree_ratios_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_buffer" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetBuffer">H5Pget_buffer</a> - <dt><strong>Signature:</strong> - <dd><em>hsize_t</em> <code>H5Pget_buffer</code>(<em>hid_t</em> <code>plist</code>, - <em>void</em> <code>**tconv</code>, - <em>void</em> <code>**bkg</code> - ) - <dt><strong>Purpose:</strong> - <dd>Reads buffer settings. - <dt><strong>Description:</strong> - <dd><code>H5Pget_buffer</code> reads values previously set - with H5Pset_buffer. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier for the dataset transfer property list.</td></tr> - <tr> - <td valign="top"><em>void</em> <code>**tconv </code></td> - <td valign="top">OUT: Address of the pointer to application-allocated - type conversion buffer.</td></tr> - <tr> - <td valign="top"><em>void</em> <code>**bkg</code></td> - <td valign="top">OUT: Address of the pointer to application-allocated - background buffer.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns buffer size, in bytes, if successful; - otherwise 0 on failure. - <dt><strong>Fortran90 Interface:</strong> h5pget_buffer_f - <dd> - <pre> -SUBROUTINE h5pget_buffer_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset transfer - ! property list identifier - INTEGER(HSIZE_T), INTENT(OUT) :: size ! Conversion buffer size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_buffer_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_cache" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetCache">H5Pget_cache</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_cache</code>(<em>hid_t</em> <code>plist_id</code>, - <em>int</em> <code>*mdc_nelmts</code>, - <em>int</em> <code>*rdcc_nelmts</code>, - <em>size_t</em> <code>*rdcc_nbytes</code>, - <em>double</em> <code>*rdcc_w0</code> - ) - <dt><strong>Purpose:</strong> - <dd>Queries the meta data cache and raw data chunk cache parameters. - <dt><strong>Description:</strong> - <dd><code>H5Pget_cache</code> retrieves the maximum possible - number of elements in the meta - data cache and raw data chunk cache, the maximum possible number of - bytes in the raw data chunk cache, and the preemption policy value. - <p> - Any (or all) arguments may be null pointers, in which case the - corresponding datum is not returned. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Identifier of the file access property list.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>*mdc_nelmts</code></td> - <td valign="top">IN/OUT: Number of elements (objects) in the meta data cache.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>*rdcc_nelmts</code></td> - <td valign="top">IN/OUT: Number of elements (objects) in the raw data chunk cache.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>*rdcc_nbytes </code></td> - <td valign="top">IN/OUT: Total size of the raw data chunk cache, in bytes.</td></tr> - <tr> - <td valign="top"><em>double</em> <code>*rdcc_w0</code></td> - <td valign="top">IN/OUT: Preemption policy.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_cache_f - <dd> - <pre> -SUBROUTINE h5pget_cache_f(prp_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, - rdcc_w0, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: mdc_nelmts ! Number of elements (objects) - ! in the meta data cache - INTEGER(SIZE_T), INTENT(OUT) :: rdcc_nelmts ! Number of elements (objects) - ! in the meta data cache - INTEGER(SIZE_T), INTENT(OUT) :: rdcc_nbytes ! Total size of the raw data - ! chunk cache, in bytes - REAL, INTENT(OUT) :: rdcc_w0 ! Preemption policy - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_cache_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_chunk" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetChunk">H5Pget_chunk</a> - <dt><strong>Signature:</strong> - <dd><em>int </em><code>H5Pget_chunk</code>(<em>hid_t</em> <code>plist</code>, - <em>int</em> <code>max_ndims</code>, - <em>hsize_t *</em> <code>dims</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves the size of chunks for the raw data of a chunked layout dataset. - - <dt><strong>Description:</strong> - <dd><code>H5Pget_chunk</code> retrieves the size of chunks for the - raw data of a chunked layout dataset. - This function is only valid for dataset creation property lists. - At most, <code>max_ndims</code> elements of <code>dims</code> - will be initialized. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier of property list to query.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>max_ndims </code></td> - <td valign="top">IN: Size of the <code>dims</code> array.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em> <code>dims</code></td> - <td valign="top">OUT: Array to store the chunk dimensions.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns chunk dimensionality successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_chunk_f - <dd> - <pre> -SUBROUTINE h5pget_chunk_f(prp_id, ndims, dims, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: ndims ! Number of chunk dimensions - ! to return - INTEGER(HSIZE_T), DIMENSION(ndims), INTENT(OUT) :: dims - ! Array containing sizes of - ! chunk dimensions - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! chunk rank on success - ! and -1 on failure -END SUBROUTINE h5pget_chunk_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_class" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetClass">H5Pget_class</a> - <dt><strong>Signature:</strong> - <dd><em>H5P_class_t </em><code>H5Pget_class</code>(<em>hid_t</em> <code>plist</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns the property list class for a property list. - <dt><strong>Description:</strong> - <dd><code>H5Pget_class</code> returns the property list class for the - property list identified by the <code>plist</code> parameter. - Valid property list classes are defined in the description of - <code>H5Pcreate</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier of property list to query.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a property list class if successful. - Otherwise returns H5P_NO_CLASS (-1). - <dt><strong>Fortran90 Interface:</strong> h5pget_class_f - <dd> - <pre> -SUBROUTINE h5pget_class_f(prp_id, classtype, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: classtype ! The type of the property list - ! to be created - ! Possible values are: - ! H5P_NO_CLASS - ! H5P_FILE_CREATE_F - ! H5P_FILE_ACCESS_F - ! H5PE_DATASET_CREATE_F - ! H5P_DATASET_XFER_F - ! H5P_MOUNT_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_class_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_class_name" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetClassName">H5Pget_class_name</a> - - <dt><strong>Purpose:</strong> - <dd>Retrieves the name of a class. - - <dt><strong>Signature:</strong> - <dd><em>char *</em> <code>H5Pget_class_name</code>( - <em>hid_t</em> <code>pcid</code> - ) - - <dt><strong>Description:</strong> - <dd><code>H5Pget_class_name</code> retrieves the name of a - generic property list class. The pointer to the name - must be freed by the user after each successful call. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>pcid </code></td> - <td>IN: Identifier of the property class to query</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a pointer to an allocated string containing the class name - <dd>Failure: NULL - - <dt><strong>Fortran90 Interface:</strong> h5pget_class_name_f - <dd> - <pre> -SUBROUTINE h5pget_class_name_f(prp_id, name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier to - ! query - CHARACTER(LEN=*), INTENT(INOUT) :: name ! Buffer to retrieve class name - INTEGER, INTENT(OUT) :: hdferr ! Error code, possible values: - ! Success: Actual length of the - ! class name - ! If provided buffer "name" is - ! smaller, than name will be - ! truncated to fit into - ! provided user buffer - ! Failure: -1 -END SUBROUTINE h5pget_class_name_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_class_parent" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetClassParent">H5Pget_class_parent</a> - - <dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Pget_class_parent</code>( - <em>hid_t</em> <code>pcid</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Retrieves the parent class of a property class. - - <dt><strong>Description:</strong> - <dd><code>H5Pget_class_parent</code> retrieves an identifier for the - parent class of a property class. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>pcid </code></td> - <td>IN: Identifier of the property class to query</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a valid parent class object identifier - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pget_class_parent_f - <dd> - <pre> -SUBROUTINE h5pget_class_parent_f(prp_id, parent_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HID_T), INTENT(OUT) :: parent_id ! Parent class property list - ! identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_class_parent_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_data_transform" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetDataTransform">H5Pget_data_transform</a> - <dt><strong>Signature:</strong> - <dd><em>ssize_t</em> <code>H5Pget_data_transform</code> - (<em>hid_t</em> <code>plist_id</code>, - <em>char</em> *<code>expression</code>, - <em>size_t</em> <code>size</code>) - <dt><strong>Purpose:</strong> - <dd>Retrieves a data transform expression. - <dt><strong>Description:</strong> - <dd><code>H5Pget_data_transform</code> retrieves the data - transform expression previously set in the dataset transfer - property list plist_id by <code>H5Pset_data_transform</code>. - <p><code>H5Pget_data_transform</code> can be used to both - retrieve the transform expression and to query its size. - <p> - If <code>expression</code> is non-NULL, up to <code>size</code> - bytes of the data transform expression are written to the buffer. - If <code>expression</code> is NULL, <code>size</code> is ignored - and the function does not write anything to the buffer. - The function always returns the size of the data transform expression. - <p> - If <code>0</code> is returned for the size of the expression, - no data transform expression exists for the property list. - <p> - If an error occurs, the buffer pointed to by <code>expression</code> - is unchanged and the function returns a negative value. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Identifier of the property list or class</td></tr> - <tr> - <td valign="top"><em>char</em> *<code>expression </code></td> - <td valign="top">OUT: Pointer to memory where the transform - expression will be copied</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>size</code></td> - <td valign="top">IN: Number of bytes of the transform expression - to copy to</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Success: size of the transform expression. - <dd>Failure: a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_driver" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetDriver">H5Pget_driver</a> - <dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Pget_driver</code>( - <em>hid_t</em> <code>plist_id</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns low-lever driver identifier. - <dt><strong>Description:</strong> - <dd><code>H5Pget_driver</code> returns the identifier of the - low-level file driver associated with the file access property list - or data transfer property list <code>plist_id</code>. - <p> - Valid driver identifiers with the standard HDF5 library distribution - include the following: - <pre> - H5FD_CORE - H5FD_FAMILY - H5FD_GASS - H5FD_LOG - H5FD_MPIO - H5FD_MULTI - H5FD_SEC2 - H5FD_STDIO - H5FD_STREAM </pre> - If a user defines and registers custom drivers or - if additional drivers are defined in an HDF5 distribution, - this list will be longer. - <p> - The returned driver identifier is only valid as long as the - file driver remains registered. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id </code></td> - <td valign="top">IN: File access or data transfer property list identifier.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a valid low-level driver identifier if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_driver_f - <dd> - <pre> -SUBROUTINE h5pget_driver_f(prp_id, driver, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: driver ! Low-level file driver identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_driver_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- ********** MOVED TO TechNotes/VFLfunc.html ********** - -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetDriverInfo">H5Pget_driver_info</a> - <dt><strong>Signature:</strong> - <dd><em>void *</em><code>H5Pget_driver_info</code>( - <em>hid_t</em> <code>plist_id</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns a pointer to file driver information. - <dt><strong>Description:</strong> - <dd><code>H5Pget_driver_info</code> returns a pointer to - file driver-specific information for the low-level driver - associated with the file access or data transfer property list - <code>plist_id</code>. - - <p> - <font color=red><b><i>Need more on "a pointer" or on what - is "pointed to." Might this be the <code>driver_info</code> - struct definition in <code>H5Pset_driver</code>?</i></b></font> - - <p> - If no driver-specific properties have been registered, - <code>H5Pget_driver_info</code> returns <code>NULL</code>. - <dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>IN: File access or data transfer property list identifier. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns a pointer to the struct containing - low-level driver information. - Otherwise returns <code>NULL</code>. - <p> - <code>NULL</code> is also returned if no driver-specific properties - have been registered. - No error is pushed on the stack in this case. - <dt><strong>Non-C API(s):</strong> - <dd><a href="fortran/h5p_FORTRAN.html#h5pxxx_f" - target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> -</dl> - ---> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_dxpl_mpio" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetDxplMpio">H5Pget_dxpl_mpio</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_dxpl_mpio</code>( - <em>hid_t</em> <code>dxpl_id</code>, - <em>H5FD_mpio_xfer_t *</em><code>xfer_mode</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns the data transfer mode. - <dt><strong>Description:</strong> - <dd><code>H5Pget_dxpl_mpio</code> queries the data transfer mode - currently set in the data transfer property list <code>dxpl_id</code>. - <p> - Upon return, <code>xfer_mode</code> contains the data transfer mode, - if it is non-null. - <p> - <code>H5Pget_dxpl_mpio</code> is not a collective function. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dxpl_id</code></td> - <td valign="top">IN: Data transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5FD_mpio_xfer_t *</em><code>xfer_mode </code></td> - <td valign="top">OUT: Data transfer mode.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_dxpl_mpio_f - <dd> - <pre> -SUBROUTINE h5pget_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: data_xfer_mode ! Data transfer mode - ! Possible values are: - ! H5FD_MPIO_INDEPENDENT_F - ! H5FD_MPIO_COLLECTIVE_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_dxpl_mpio_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_dxpl_multi" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetDxplMulti">H5Pget_dxpl_multi</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_dxpl_multi</code>( - <em>hid_t</em> <code>dxpl_id</code>, - <em>const hid_t *</em><code>memb_dxpl</code> - ) -<br> -<br> - <dt><strong>Purpose:</strong> - <dd>Returns multi-file data transfer property list information. - <dt><strong>Description:</strong> - <dd><code>H5Pget_dxpl_multi</code> returns the data transfer property list - information for the multi-file driver. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dxpl_id</code>,</td> - <td valign="top">IN: Data transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>const hid_t *</em><code>memb_dxpl </code></td> - <td valign="top">OUT: Array of data access property lists.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_edc_check" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetEdcCheck">H5Pget_edc_check</a> - <dt><strong>Signature:</strong> - <dd><em>H5Z_EDC_t</em> <code>H5Pget_edc_check</code>(<em>hid_t</em> <code>plist</code>) - <dt><strong>Purpose:</strong> - <dd>Determines whether error-detection is enabled for dataset reads. - <dt><strong>Description:</strong> - <dd><code>H5Pget_edc_check</code> queries the dataset transfer property - list <code>plist</code> to determine whether error detection - is enabled for data read operations. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Dataset transfer property list identifier.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns <code>H5Z_ENABLE_EDC</code> or <code>H5Z_DISABLE_EDC</code> - if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_edc_check_f - <dd> - <pre> -SUBROUTINE h5pget_edc_check_f(prp_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset transfer property list - ! identifier - INTEGER, INTENT(OUT) :: flag ! EDC flag; possible values - ! H5Z_DISABLE_EDC_F - ! H5Z_ENABLE_EDC_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_edc_check_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_external" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetExternal">H5Pget_external</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_external</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned</em> <code>idx</code>, - <em>size_t</em> <code>name_size</code>, - <em>char</em> <code>*name</code>, - <em>off_t</em> <code>*offset</code>, - <em>hsize_t</em> <code>*size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns information about an external file. - <dt><strong>Description:</strong> - <dd><code>H5Pget_external</code> returns information about an external - file. The external file is specified by its index, <code>idx</code>, - which is a number from zero to N-1, where N is the value - returned by <code>H5Pget_external_count</code>. - At most <code>name_size</code> characters are copied into the - <code>name</code> array. If the external file name is - longer than <code>name_size</code> with the null terminator, the - return value is not null terminated (similar to <code>strncpy()</code>). - <p> - If <code>name_size</code> is zero or <code>name</code> is the - null pointer, the external file name is not returned. - If <code>offset</code> or <code>size</code> are null pointers - then the corresponding information is not returned. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier of a dataset creation property list.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>idx</code></td> - <td valign="top">IN: External file index.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>name_size </code></td> - <td valign="top">IN: Maximum length of <code>name</code> array.</td></tr> - <tr> - <td valign="top"><em>char</em> <code>*name</code></td> - <td valign="top">OUT: Name of the external file.</td></tr> - <tr> - <td valign="top"><em>off_t</em> <code>*offset</code></td> - <td valign="top">OUT: Pointer to a location to return an offset value.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>*size</code></td> - <td valign="top">OUT: Pointer to a location to return the size of the - external file data.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_external_f - <dd> - <pre> -SUBROUTINE h5pget_external_f(prp_id, idx, name_size, name, offset,bytes, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: idx ! External file index. - INTEGER, INTENT(IN) :: name_size ! Maximum length of name array - CHARACTER(LEN=*), INTENT(OUT) :: name ! Name of an external file - INTEGER, INTENT(OUT) :: offset ! Offset, in bytes, from the - ! beginning of the file to the - ! location in the file where - ! the data starts. - INTEGER(HSIZE_T), INTENT(OUT) :: bytes ! Number of bytes reserved in - ! the file for the data - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_external_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_external_count" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetExternalCount">H5Pget_external_count</a> - <dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Pget_external_count</code>(<em>hid_t</em> <code>plist</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns the number of external files for a dataset. - <dt><strong>Description:</strong> - <dd><code>H5Pget_external_count</code> returns the number of external files - for the specified dataset. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier of a dataset creation property list.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns the number of external files if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_external_count_f - <dd> - <pre> -SUBROUTINE h5pget_external_count_f (prp_id, count, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: count ! Number of external files for - ! the specified dataset - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_external_count_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_family_offset" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFamilyOffset">H5Pget_family_offset</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_family_offset</code> ( - <em>hid_t</em> <code>fapl_id</code>, - <em>hsize_t *</em><code>offset</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves a data offset from the file access property list. - <dt><strong>Description:</strong> - <dd><code>H5Pget_family_offset</code> retrieves the value of <code>offset</code> - from the file access property list <code>fapl_id</code> - so that the user application - can retrieve a file handle for low-level access to a particular member - of a family of files. The file handle is retrieved with a separate call - to <a href="RM_H5F.html#File-GetVfdHandle"><code>H5Fget_vfd_handle</code></a> - (or, in special circumstances, to <code>H5FDget_vfd_handle</code>; - see <cite>Virtual File Layer</cite> and <cite>List of VFL Functions</cite> - in <a href="TechNotes.html"><cite>HDF5 Technical Notes</cite></a>). - <p> - The data offset returned in <code>offset</code> is the offset - of the data in the HDF5 file that is stored on disk in the selected - member file in a family of files. - <p> - Use of this function is only appropriate for an HDF5 file written as a - family of files with the <code>FAMILY</code> file driver. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>offset </code></td> - <td valign="top">IN: Offset in bytes within the HDF5 file.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fapl_core" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFaplCore">H5Pget_fapl_core</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fapl_core</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>size_t</em> *<code>increment</code>, - <em>hbool_t</em> *<code>backing_store</code> - ) - <dt><strong>Purpose:</strong> - <dd>Queries core file driver properties. - <dt><strong>Description:</strong> - <dd><code>H5Pget_fapl_core</code> queries the <code>H5FD_CORE</code> - driver properties as set by <code>H5Pset_fapl_core</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>size_t</em> *<code>increment</code></td> - <td valign="top">OUT: Size, in bytes, of memory increments.</td></tr> - <tr> - <td valign="top"><em>hbool_t</em> *<code>backing_store </code></td> - <td valign="top">OUT: Boolean flag indicating whether to write the file - contents to disk when the file is closed.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_fapl_core_f - <dd> - <pre> -SUBROUTINE h5pget_fapl_core_f(prp_id, increment, backing_store, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(SIZE_T), INTENT(OUT) :: increment ! File block size in bytes - LOGICAL, INTENT(OUT) :: backing_store ! Flag to indicate that entire - ! file contents are flushed to - ! a file with the same name as - ! this core file - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_fapl_core_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fapl_family" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFaplFamily">H5Pget_fapl_family</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fapl_family</code> ( - <em>hid_t</em> <code>fapl_id</code>, - <em>hsize_t *</em><code>memb_size</code>, - <em>hid_t *</em><code>memb_fapl_id</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns file access property list information. - <dt><strong>Description:</strong> - <dd><code>H5Pget_fapl_family</code> returns file access property list - for use with the family driver. - This information is returned through the output parameters. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em> hsize_t *</em><code>memb_size</code></td> - <td valign="top">OUT: Size in bytes of each file member.</td></tr> - <tr> - <td valign="top"><em>hid_t *</em><code>memb_fapl_id </code></td> - <td valign="top">OUT: Identifier of file access property list for each - family member.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_fapl_family_f - <dd> - <pre> -SUBROUTINE h5pget_fapl_family_f(prp_id, imemb_size, memb_plist, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HSIZE_T), INTENT(OUT) :: memb_size ! Logical size, in bytes, - ! of each family member - INTEGER(HID_T), INTENT(OUT) :: memb_plist ! Identifier of the file - ! access property list to be - ! used for each family member - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_fapl_family_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fapl_gass" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFaplGass">H5Pget_fapl_gass</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fapl_gass</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>GASS_Info *</em><code>info</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves GASS information. - <dt><strong>Description:</strong> - <dd>If the file access property list <code>fapl_id</code> is set - for use of the <code>H5FD_GASS</code> driver, - <code>H5Pget_fapl_gass</code> returns the <em>GASS_Info</em> - object through the <code>info</code> pointer. - <p> - The <em>GASS_Info</em> information is copied, so it is valid - only until the file access property list is modified or closed. - <dt><strong>Note:</strong> - <dd><code>H5Pget_fapl_gass</code> is an experimental function. - It is designed for use only when accessing files via the - GASS facility of the Globus environment. - For further information, see - <a href="http://www.globus.org/">http//www.globus.org/</a>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code>,</td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>GASS_Info *</em><code>info </code></td> - <td valign="top">OUT: Pointer to the GASS information structure.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fapl_mpio" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFaplMpio">H5Pget_fapl_mpio</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fapl_mpio</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>MPI_Comm *</em><code>comm</code>, - <em>MPI_Info *</em><code>info</code> - ) - <dt><strong>Purpose:</strong> - <dd> Returns MPI communicator information. - <dt><strong>Description:</strong> - <dd>If the file access property list is set to the <code>H5FD_MPIO</code> - driver, <code>H5Pget_fapl_mpio</code> returns the MPI communicator and - information through the <code>comm</code> and <code>info</code> - pointers, if those values are non-null. - <p> - Neither <code>comm</code> nor <code>info</code> is copied, - so they are valid only until the file access property list - is either modified or closed. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>MPI_Comm *</em><code>comm </code></td> - <td valign="top">OUT: MPI-2 communicator.</td></tr> - <tr> - <td valign="top"><em>MPI_Info *</em><code>info</code></td> - <td valign="top">OUT: MPI-2 info object.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_fapl_mpio_f - <dd> - <pre> -SUBROUTINE h5pget_fapl_mpio_f(prp_id, comm, info, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: comm ! Buffer to return communicator - INTEGER, INTENT(IN) :: info ! Buffer to return info object as - ! defined in MPI_FILE_OPEN of MPI-2 - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_fapl_mpio_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fapl_mpiposix" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFaplMpiPosix">H5Pget_fapl_mpiposix</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fapl_mpiposix</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>MPI_Comm *</em><code>comm</code> - ) - <dt><strong>Purpose:</strong> - <dd> Returns MPI communicator information. - <dt><strong>Description:</strong> - <dd>If the file access property list is set to the <code>H5FD_MPIO</code> - driver, <code>H5Pget_fapl_mpiposix</code> returns - the MPI communicator through the <code>comm</code> - pointer, if those values are non-null. - <p> - <code>comm</code> is not copied, so it is valid only - until the file access property list is either modified or closed. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>MPI_Comm *</em><code>comm </code></td> - <td valign="top">OUT: MPI-2 communicator.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_fapl_mpiposix_f - <dd> - <pre> -SUBROUTINE h5pget_fapl_mpiposix_f(prp_id, comm, use_gpfs, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: comm ! Buffer to return communicator - LOGICAL, INTENT(OUT) :: use_gpfs - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5pget_fapl_mpiposix_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fapl_multi" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFaplMulti">H5Pget_fapl_multi</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fapl_multi</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>const H5FD_mem_t *</em><code>memb_map</code>, - <em>const hid_t *</em><code>memb_fapl</code>, - <em>const char **</em><code>memb_name</code>, - <em>const haddr_t *</em><code>memb_addr</code>, - <em>hbool_t *</em><code>relax</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns information about the multi-file access property list. - <dt><strong>Description:</strong> - <dd><code>H5Pget_fapl_multi</code> returns information about the - multi-file access property list. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>const H5FD_mem_t *</em><code>memb_map </code></td> - <td valign="top">OUT: Maps memory usage types to other memory usage types.</td></tr> - <tr> - <td valign="top"><em>const hid_t *</em><code>memb_fapl</code></td> - <td valign="top">OUT: Property list for each memory usage type.</td></tr> - <tr> - <td valign="top"><em>const char **</em><code>memb_name</code></td> - <td valign="top">OUT: Name generator for names of member files.</td></tr> - <tr> - <td valign="top"><em>const haddr_t *</em><code>memb_addr</code></td> - <td valign="top">OUT:</td></tr> - <tr> - <td valign="top"><em>hbool_t *</em><code>relax</code></td> - <td valign="top">OUT: Allows read-only access to incomplete file sets - when <code>TRUE</code>.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_fapl_multi_f - <dd> - <pre> -SUBROUTINE h5pget_fapl_multi_f(prp_id, memb_map, memb_fapl, memb_name, - memb_addr, relax, hdferr) - IMPLICIT NONE - INTEGER(HID_T),INTENT(IN) :: prp_id ! Property list identifier - - INTEGER,DIMENSION(0:H5FD_MEM_NTYPES_F-1),INTENT(OUT) :: memb_map - INTEGER(HID_T),DIMENSION(0:H5FD_MEM_NTYPES_F-1),INTENT(OUT) :: memb_fapl - CHARACTER(LEN=*),DIMENSION(0:H5FD_MEM_NTYPES_F-1),INTENT(OUT) :: memb_name - REAL, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_addr - ! Numbers in the interval [0,1) (e.g. 0.0 0.1 0.5 0.2 0.3 0.4) - ! real address in the file will be calculated as X*HADDR_MAX - - LOGICAL, INTENT(OUT) :: relax - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_fapl_multi_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fapl_srb" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFaplSrb">H5Pget_fapl_srb</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fapl_srb</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>SRB_Info *</em><code>info</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves SRB information. - <dt><strong>Description:</strong> - <dd>If the file access property list <code>fapl_id</code> is set - for use of the <code>H5FD_SRB</code> driver, - <code>H5Pget_fapl_srb</code> returns the <em>SRB_Info</em> - object through the <code>info</code> pointer. - <p> - The <em>SRB_Info</em> information is copied, so it is valid - only until the file access property list is modified or closed. - <dt><strong>Note:</strong> - <dd><code>H5Pset_fapl_gass</code> is an experimental function. - It is designed for use only when accessing files via the - Storage Resource Broker (SRB). For further information, see - <a href="http://www.npaci.edu/Research/DI/srb/">http//www.npaci.edu/Research/DI/srb/</a>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>SRB_Info *</em><code>info </code></td> - <td valign="top">OUT: Pointer to the SRB information structure.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fapl_stream" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFaplStream">H5Pget_fapl_stream</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fapl_stream</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>H5FD_stream_fapl_t *</em><code>fapl</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns the streaming I/O driver settings. - <dt><strong>Description:</strong> - <dd><code>H5Pget_fapl_stream</code> returns the file access properties - set for the use of the streaming I/O driver. - <p> - <code>H5Pset_fapl_stream</code> and <code>H5Pget_fapl_stream</code> - are not intended for use in a parallel environment. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5FD_stream_fapl_t *</em><code>fapl </code></td> - <td valign="top">OUT: The streaming I/O file access property list.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fclose_degree" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFcloseDegree">H5Pget_fclose_degree</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fclose_degree</code>(<em>hid_t</em> <code>fapl_id</code>, - <em>H5F_close_degree_t *</em><code>fc_degree</code>) - <dt><strong>Purpose:</strong> - <dd>Returns the file close degree. - <dt><strong>Description:</strong> - <dd><code>H5Pget_fclose_degree</code> returns the current setting of the file - close degree property <code>fc_degree</code> in the file access property list - <code>fapl_id</code>. - <p> The value of <code>fc_degree</code> determines how aggressively <code>H5Fclose</code> - deals with objects within a file that remain open when <code>H5Fclose</code> - is called to close that file. <code>fc_degree</code> can have any one of - four valid values as described above in <a href="#Property-SetFcloseDegree"><code>H5Pset_fclose_degree</code></a>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5F_close_degree_t *</em><code>fc_degree </code></td> - <td valign="top">OUT: Pointer to a location to which to return the file close degree - property, the value of <code>fc_degree</code>.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. Otherwise returns a negative - value. - <dt><strong>Fortran90 Interface:</strong> h5pget_fclose_degree_f - <dd> - <pre> -SUBROUTINE h5pget_fclose_degree_f(fapl_id, degree, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: fapl_id ! File access property list identifier - INTEGER, INTENT(OUT) :: degree ! Info about file close behavior - ! Possible values: - ! H5F_CLOSE_DEFAULT_F - ! H5F_CLOSE_WEAK_F - ! H5F_CLOSE_SEMI_F - ! H5F_CLOSE_STRONG_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_fclose_degree_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fill_time" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFillTime">H5Pget_fill_time</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_fill_time</code>(<em>hid_t</em> <code>plist_id</code>, - <em>H5D_fill_time_t *</em><code>fill_time</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves the time when fill value are written to a dataset. - <dt><strong>Description:</strong> - <dd><code>H5Pget_fill_time</code> examines the dataset creation - property list <code>plist_id</code> to determine when fill values - are to be written to a dataset. - <p> - Valid values returned in <code>fill_time</code> are as follows: - <table border=0 > - <tr valign="top"><td> </td><td> - <code>H5D_FILL_TIME_IFSET</code> - </td><td> - Fill values are written to the dataset when storage space is allocated - only if there is a user-defined fill value, i.e., one set with - <a href="#Property-SetFillValue">H5Pset_fill_value</a>. - (Default) - </td></tr><tr valign="top"><td> </td><td> - <code>H5D_FILL_TIME_ALLOC</code> - </td><td> - Fill values are written to the dataset when storage space is allocated. - </td></tr><tr valign="top"><td> </td><td> - <code>H5D_FILL_TIME_NEVER</code> - </td><td> - Fill values are never written to the dataset. - </td></tr></table> - <dt><strong>Note:</strong> - <dd><code>H5Pget_fill_time</code> is designed to work in coordination - with the dataset fill value and - dataset storage allocation time properties, retrieved with the functions - <code>H5Pget_fill_value</code> and <code>H5Pget_alloc_time</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5D_fill_time_t *</em><code>fill_time </code></td> - <td valign="top">OUT: Setting for the timing of writing fill values to the dataset.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_fill_time_f - <dd> - <pre> -SUBROUTINE h5pget_fill_time_f(plist_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset creation property - ! list identifier - INTEGER(HSIZE_T), INTENT(OUT) :: flag ! Fill time flag - ! Possible values are: - ! H5D_FILL_TIME_ERROR_F - ! H5D_FILL_TIME_ALLOC_F - ! H5D_FILL_TIME_NEVER_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_fill_time_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fill_value" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFillValue">H5Pget_fill_value</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_fill_value</code>(<em>hid_t</em> <code>plist_id</code>, - <em>hid_t</em> <code>type_id</code>, - <em>void *</em><code>value</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves a dataset fill value. - <dt><strong>Description:</strong> - <dd><code>H5Pget_fill_value</code> returns the dataset - fill value defined in the dataset creation property list - <code>plist_id</code>. - <p> - The fill value is returned through the <code>value</code> - pointer and will be converted to the datatype specified - by <code>type_id</code>. - This datatype may differ from the - fill value datatype in the property list, - but the HDF5 library must be able to convert between the - two datatypes. - <p> - If the fill value is undefined, - i.e., set to <code>NULL</code> in the property list, - <code>H5Pget_fill_value</code> will return an error. - <code>H5Pfill_value_defined</code> should be used to - check for this condition before - <code>H5Pget_fill_value</code> is called. - <p> - Memory must be allocated by the calling application. - <dt><strong>Note:</strong> - <dd><code>H5Pget_fill_value</code> is designed to coordinate - with the dataset storage allocation time and - fill value write time properties, which can be retrieved - with the functions <code>H5Pget_alloc_time</code> - and <code>H5Pget_fill_time</code>, respectively. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id </code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code>,</td> - <td valign="top">IN: Datatype identifier for the value passed - via <code>value</code>.</td></tr> - <tr><td valign="top"><em>void *</em><code>value</code></td> - <td valign="top">OUT: Pointer to buffer to contain the returned fill value.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_fill_value_f - <dd> - <pre> -SUBROUTINE h5pget_fill_value_f(prp_id, type_id, fillvalue, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of fill - ! value datatype (in memory) - TYPE(VOID), INTENT(IN) :: fillvalue ! Fillvalue - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - -END SUBROUTINE h5pget_fill_value_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_filter" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFilter">H5Pget_filter</a> - <dt><strong>Signature:</strong> - <dd><em>H5Z_filter_t</em> <code>H5Pget_filter</code>(<em>hid_t</em> <code>plist</code>, - <em>int</em> <code>filter_number</code>, - <em>unsigned int *</em><code>flags</code>, - <em>size_t *</em><code>cd_nelmts</code>, - <em>unsigned int *</em><code>cd_values</code>, - <em>size_t</em> <code>namelen</code>, - <em>char</em> <code>name[]</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns information about a filter in a pipeline. - <dt><strong>Description:</strong> - <dd><code>H5Pget_filter</code> 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> - If <code>plist</code> is a dataset creation property list, - the pipeline is a permanent filter pipeline; - if <code>plist</code> is a dataset transfer property list, - the pipeline is a transient filter pipeline. - <p> - 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> - <code>filter_number</code> is a value between zero and - <em>N</em>-1, as described in - <a href="#Property-GetNFilters"><code>H5Pget_nfilters</code></a>. - The function will return a negative value if the filter number - is out of range. - <p> - 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> - The structure of the <code>flags</code> argument is discussed - in <a href="#Property-SetFilter"><code>H5Pset_filter</code></a>. - <dt><strong>Note:</strong> - <dd>This function currently supports only the permanent filter - pipeline; <code>plist</code> must be a dataset creation property - list. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Property list identifier.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>filter_number</code></td> - <td valign="top">IN: Sequence number within the filter pipeline of - the filter for which information is sought.</td></tr> - <tr> - <td valign="top"><em>unsigned int *</em><code>flags</code></td> - <td valign="top">OUT: Bit vector specifying certain general properties - of the filter.</td></tr> - <tr> - <td valign="top"><em>size_t *</em><code>cd_nelmts</code></td> - <td valign="top">IN/OUT: Number of elements in <code>cd_values</code>.</td></tr> - <tr> - <td valign="top"><em>unsigned int *</em><code>cd_values </code></td> - <td valign="top">OUT: Auxiliary data for the filter.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>namelen</code></td> - <td valign="top">IN: Anticipated number of characters in <code>name</code>.</td></tr> - <tr> - <td valign="top"><em>char</em> <code>name[]</code></td> - <td valign="top">OUT: Name of the filter.</td></tr> - </table></ul> -<!-- NEW PAGE --> - <dt><strong>Returns:</strong> - <dd>Returns the filter identifier if successful: - <center> - <table width=75%> - <tr valign=top align=left><td> - <code>H5Z_FILTER_DEFLATE</code> - </td><td> - Data compression filter, employing the gzip algorithm - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_SHUFFLE</code> - </td><td> - Data shuffling filter - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_FLETCHER32 </code> - </td><td> - Error detection filter, employing the Fletcher32 checksum algorithm - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_SZIP</code> - </td><td> - Data compression filter, employing the SZIP algorithm - </td></tr> - </table> - </center> - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_filter_f - <dd> - <pre> -SUBROUTINE h5pget_filter_f(prp_id, filter_number, flags, cd_nelmts, - cd_values, namelen, name, filter_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: filter_number ! Sequence number within the filter - ! pipeline of the filter for which - ! information is sought - INTEGER, DIMENSION(*), INTENT(OUT) :: cd_values - ! Auxiliary data for the filter - INTEGER, INTENT(OUT) :: flags ! Bit vector specifying certain - ! general properties of the filter - INTEGER(SIZE_T), INTENT(INOUT) :: cd_nelmts - ! Number of elements in cd_values - INTEGER(SIZE_T), INTENT(IN) :: namelen ! Anticipated number of characters - ! in name - CHARACTER(LEN=*), INTENT(OUT) :: name ! Name of the filter - INTEGER, INTENT(OUT) :: filter_id ! Filter identification number - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_filter_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_filter_by_id" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetFilterById">H5Pget_filter_by_id</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_filter_by_id</code>( - <em>hid_t</em> <code>plist_id</code>, - <em>H5Z_filter_t</em> <code>filter</code>, - <em>unsigned int *</em><code>flags</code>, - <em>size_t *</em><code>cd_nelmts</code>, - <em>unsigned int</em> <code>cd_values[]</code>, - <em>size_t</em> <code>namelen</code>, - <em>char </em><code>name[]</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns information about the specified filter. - <dt><strong>Description:</strong> - <dd><code>H5Pget_filter_by_id</code> returns information about the - filter specified in <code>filter</code>, a filter identifier. - <p> - <code>plist_id</code> must identify a dataset creation property list - and <code>filter</code> will be in a permanent filter pipeline. - <p> - The <code>filter</code> and <code>flags</code> parameters are used - in the same manner as described in the discussion of - <a href="#Property-SetFilter"><code>H5Pset_filter</code></a>. - <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 href="#Property-SetFilter"><code>H5Pset_filter</code></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> - On input, the <code>name_len</code> parameter indicates the - number of characters allocated for the filter name - by the calling program in the array <code>name[]</code>. - On exit it contains the length in characters of name of the filter. - On exit <code>name[]</code> contains the name of the filter - with one character of the name in each element of the array. - <p> - If the filter specified in <code>filter</code> is not - set for the property list, an error will be returned - and <code>H5Pget_filter_by_id</code> will fail. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5Z_filter_t</em> <code>filter</code></td> - <td valign="top">IN: Filter identifier.</td></tr> - <tr> - <td valign="top"><em>unsigned int</em> <code>flags</code></td> - <td valign="top">OUT: Bit vector specifying certain general properties - of the filter.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>cd_nelmts</code></td> - <td valign="top">IN/OUT: Number of elements in <code>cd_values</code>.</td></tr> - <tr> - <td valign="top"><em>const unsigned int</em> <code>cd_values[] </code></td> - <td valign="top">OUT: Auxiliary data for the filter.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>namelen</code></td> - <td valign="top">IN/OUT: Length of filter name and - number of elements in <code>name[]</code>.</td></tr> - <tr> - <td valign="top"><em>char *</em><code>name[]</code></td> - <td valign="top">OUT: Name of filter.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. -<!-- NEW PAGE --> - <dt><strong>Fortran90 Interface:</strong> h5pget_filter_by_id_f - <dd> - <pre> -SUBROUTINE h5pget_filter_by_id_f(prp_id, filter_id, flags, cd_nelmts, - cd_values, namelen, name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: filter_id ! Filter identifier - INTEGER(SIZE_T), INTENT(INOUT) :: cd_nelmts - ! Number of elements in cd_values - INTEGER, DIMENSION(*), INTENT(OUT) :: cd_values - ! Auxiliary data for the filter - INTEGER, INTENT(OUT) :: flags ! Bit vector specifying certain - ! general properties of the filter - INTEGER(SIZE_T), INTENT(IN) :: namelen ! Anticipated number of characters - ! in name - CHARACTER(LEN=*), INTENT(OUT) :: name ! Name of the filter - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_filter_by_id_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_gc_references" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetGCReferences">H5Pget_gc_references</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_gc_references</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned</em> *<code>gc_ref</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns garbage collecting references setting. - <dt><strong>Description:</strong> - <dd><code>H5Pget_gc_references</code> returns the current setting - for the garbage collection references property from - the specified file access property list. - The garbage collection references property is set - by <a href="#Property-SetGCReferences">H5Pset_gc_references</a>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>gc_ref </code></td> - <td valign="top">OUT: Flag returning the state of reference garbage collection. - A returned value of <code>1</code> indicates that - garbage collection is on while - <code>0</code> indicates that garbage collection is off.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_gc_references_f - <dd> - <pre> -SUBROUTINE h5pget_gc_references_f (prp_id, gc_reference, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: gc_reference ! The flag for garbage collecting - ! references for the file - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_gc_references_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_hyper_vector_size" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetHyperVectorSize">H5Pget_hyper_vector_size</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_hyper_vector_size</code>(<em>hid_t</em> <code>dxpl_id</code>, - <em>size_t *</em><code>vector_size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves number of I/O vectors to be read/written in hyperslab I/O. - <dt><strong>Description:</strong> - <dd><code>H5Pset_hyper_vector_size</code> retrieves the number of - I/O vectors to be accumulated in memory before being issued - to the lower levels of the HDF5 library for reading or writing the - actual data. - <p> - The number of I/O vectors set in the dataset transfer property list - <code>dxpl_id</code> is returned in <code>vector_size</code>. - Unless the default value is in use, <code>vector_size</code> - was previously set with a call to - <a href="#Property-SetHyperVectorSize">H5Pset_hyper_vector_size</a>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dxpl_id</code></td> - <td valign="top">IN: Dataset transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>size_t *</em><code>vector_size </code></td> - <td valign="top">OUT: Number of I/O vectors to accumulate in memory for I/O operations.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_hyper_vector_size_f - <dd> - <pre> -SUBROUTINE h5pget_hyper_vector_size_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset transfer property list - ! identifier - INTEGER(SIZE_T), INTENT(OUT) :: size ! Vector size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_hyper_vector_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_istore_k" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetIstoreK">H5Pget_istore_k</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_istore_k</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned *</em> <code>ik</code> - ) - <dt><strong>Purpose:</strong> - <dd>Queries the 1/2 rank of an indexed storage B-tree. - <dt><strong>Description:</strong> - <dd><code>H5Pget_istore_k</code> queries the 1/2 rank of - an indexed storage B-tree. - The argument <code>ik</code> may be the null pointer (NULL). - This function is only valid for file creation property lists. - <p> - See <a href="#Property-SetIstoreK">H5Pset_istore_k</a> for details. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier of property list to query.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em> <code>ik</code></td> - <td valign="top">OUT: Pointer to location to return the chunked storage B-tree 1/2 rank.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_istore_k_f - <dd> - <pre> -SUBROUTINE h5pget_istore_k_f(prp_id, ik, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: ik ! 1/2 rank of chunked storage B-tree - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_istore_k_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_layout" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetLayout">H5Pget_layout</a> - <dt><strong>Signature:</strong> - <dd><em>H5D_layout_t</em> <code>H5Pget_layout</code>(<em>hid_t</em> <code>plist</code>) - <dt><strong>Purpose:</strong> - <dd>Returns the layout of the raw data for a dataset. - <dt><strong>Description:</strong> - <dd><code>H5Pget_layout</code> returns the layout of the raw data for - a dataset. This function is only valid for dataset creation - property lists. - <p> - Note that a compact storage layout may affect writing data to - the dataset with parallel applications. See note in - <a href="RM_H5D.html#Dataset-Write">H5Dwrite</a> - documentation for details. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier for property list to query.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns the layout type (a non-negative value) - of a dataset creation property list if successful. - Valid return values are: - <ul> <dl> - <dt>H5D_COMPACT - <dd>Raw data is stored in the object header in the file. - <dt>H5D_CONTIGUOUS - <dd>Raw data is stored separately from the object header in - one contiguous chunk in the file. - <dt>H5D_CHUNKED - <dd>Raw data is stored separately from the object header in - chunks in separate locations in the file. - </dl> </ul> - <p> - Otherwise, returns a negative value indicating failure. - <dt><strong>Fortran90 Interface:</strong> h5pget_layout_f - <dd> - <pre> -SUBROUTINE h5pget_layout_f (prp_id, layout, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: layout ! Type of storage layout for raw data - ! possible values are: - ! H5D_COMPACT_F - ! H5D_CONTIGUOUS_F - ! H5D_CHUNKED_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_layout_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_mdc_config" --> -<!-- -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetMdcConfig">H5Pget_mdc_config</a> - <dt><strong>Signature:</strong> - <dt><strong>Purpose:</strong> - <dt><strong>Description:</strong> - <dt><strong>Parameters:</strong> - <dt><strong>Returns:</strong> - <dt><strong>Fortran90 Interface:</strong> -</dl> ---> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_meta_block_size" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetMetaBlockSize">H5Pget_meta_block_size</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_meta_block_size</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>hsize_t *</em><code>size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns the current metadata block size setting. - <dt><strong>Description:</strong> - <dd><code>H5Pget_meta_block_size</code> returns the current - minimum size, in bytes, of new metadata block allocations. - This setting is retrieved from the file access property list - <code>fapl_id</code>. - <p> - This value is set by - <a href="#Property-SetMetaBlockSize">H5Pset_meta_block_size</a> - and is retrieved from the file access property list - <code>fapl_id</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id </code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>size</code></td> - <td valign="top">OUT: Minimum size, in bytes, of metadata block allocations.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_meta_block_size_f - <dd> - <pre> -SUBROUTINE h5pget_meta_block_size_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list - ! identifier - INTEGER(HSIZE_T), INTENT(OUT) :: size ! Metadata block size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_meta_block_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_multi_type" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetMultiType">H5Pget_multi_type</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_multi_type</code> ( - <em>hid_t</em> <code>fapl_id</code>, - <em>H5FD_mem_t *</em><code>type</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves data type property for <code>MULTI</code> driver. - <dt><strong>Description:</strong> - <dd><code>H5Pget_multi_type</code> retrieves the data type setting from the - file access or data transfer property list <code>fapl_id</code>. - This enables a user application to specify the type of data the - application wishes to access so that the application - can retrieve a file handle for low-level access to the particular member - of a set of <code>MULTI</code> files in which that type of data is stored. - The file handle is retrieved with a separate call - to <a href="RM_H5F.html#File-GetVfdHandle"><code>H5Fget_vfd_handle</code></a> - (or, in special circumstances, to <code>H5FDget_vfd_handle</code>; - see <cite>Virtual File Layer</cite> and <cite>List of VFL Functions</cite> - in <a href="TechNotes.html"><cite>HDF5 Technical Notes</cite></a>). - <p> - The type of data returned in <code>type</code> will be one of those - listed in the discussion of the <code>type</code> parameter in the the - description of the function - <a href="#Property-SetMultiType"><code>H5Pset_multi_type</code></a>. - <p> - Use of this function is only appropriate for an HDF5 file written - as a set of files with the <code>MULTI</code> file driver. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list or data transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5FD_mem_t *</em><code>type </code></td> - <td valign="top">OUT: Type of data.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_nfilters" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetNFilters">H5Pget_nfilters</a> - <dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Pget_nfilters</code>(<em>hid_t</em> <code>plist</code>) - <dt><strong>Purpose:</strong> - <dd>Returns the number of filters in the pipeline. - <dt><strong>Description:</strong> - <dd><code>H5Pget_nfilters</code> returns the number of filters - defined in the filter pipeline associated with the property list - <code>plist</code>. - <p> - In each pipeline, the filters are numbered from - 0 through <em>N</em>-1, where <em>N</em> 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> - <code>H5Pget_nfilters</code> returns the number of filters - in the pipeline, including zero (<code>0</code>) if there - are none. - <dt><strong>Note:</strong> - <dd>This function currently supports only the permanent filter - pipeline; <code>plist_id</code> must be a dataset creation - property list. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Property list identifier.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns the number of filters in the pipeline if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_nfilters_f - <dd> - <pre> -SUBROUTINE h5pget_nfilters_f(prp_id, nfilters, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset creation property - ! list identifier - INTEGER, INTENT(OUT) :: nfilters ! The number of filters in - ! the pipeline - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_nfilters_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_nprops" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetNProps">H5Pget_nprops</a> - - <dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Pget_nprops</code>( - <em>hid_t</em> <code>id</code>, - <em>size_t *</em><code>nprops</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Queries number of properties in property list or class. - - <dt><strong>Description:</strong> - <dd><code>H5Pget_nprops</code> retrieves the number of properties in a - property list or class. - If a property class identifier is given, the number of registered - properties in the class is returned in <code>nprops</code>. - If a property list identifier is given, the current number of - properties in the list is returned in <code>nprops</code>. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>id</code></td> - <td>IN: Identifier of property object to query</td></tr> - <tr> - <td><em>size_t *</em><code>nprops </code></td> - <td>OUT: Number of properties in object</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pget_nprops_f - <dd> - <pre> -SUBROUTINE h5pget_nprops_f(prp_id, nprops, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(SIZE_T), INTENT(OUT) :: nprops ! Number of properties - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_nprops_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_preserve" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetPreserve">H5Pget_preserve</a> - <dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Pget_preserve</code>(<em>hid_t</em> <code>plist</code>) - <dt><strong>Purpose:</strong> - <dd>Checks status of the dataset transfer property list. - <dt><strong>Description:</strong> - <dd><code>H5Pget_preserve</code> checks the status of the - dataset transfer property list. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier for the dataset transfer property list.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns TRUE or FALSE if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_preserve_f - <dd> - <pre> -SUBROUTINE h5pget_preserve_f(prp_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset transfer property - ! list identifier - LOGICAL, INTENT(OUT) :: flag ! Status of for the dataset - ! transfer property list - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_preserve_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_sieve_buf_size" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetSieveBufSize">H5Pget_sieve_buf_size</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_sieve_buf_size</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>hsize_t *</em><code>size</code> - ) - <dt><strong>Purpose:</strong> - <dd> Returns maximum data sieve buffer size. - <dt><strong>Description:</strong> - <dd><code>H5Pget_sieve_buf_size</code> retrieves, <code>size</code>, - the current maximum size of the data sieve buffer. - <p> - This value is set by - <a href="#Property-SetSieveBufSize">H5Pset_sieve_buf_size</a> - and is retrieved from the file access property list - <code>fapl_id</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id </code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>size</code></td> - <td valign="top">IN: Maximum size, in bytes, of data sieve buffer.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_sieve_buf_size_f - <dd> - <pre> -SUBROUTINE h5pget_sieve_buf_size_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list - ! identifier - INTEGER(SIZE_T), INTENT(OUT) :: size ! Sieve buffer size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_sieve_buf_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_size" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetSize">H5Pget_size</a> - - <dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Pget_size</code>( - <em>hid_t</em> <code>id</code>, - <em>const char *</em><code>name</code>, - <em>size_t *</em><code>size</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Queries the size of a property value in bytes. - - <dt><strong>Description:</strong> - <dd><code>H5Pget_size</code> retrieves the size of a - property's value in bytes. This function operates on both - property lists and property classes - - <p> - Zero-sized properties are allowed and return <code>0</code>. - - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>id</code></td> - <td>IN: Identifier of property object to query</td></tr> - <tr> - <td><em>const char *</em><code>name </code></td> - <td>IN: Name of property to query</td></tr> - <tr> - <td><em>size_t *</em><code>size</code></td> - <td>OUT: Size of property in bytes</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pget_size_f - <dd> - <pre> -SUBROUTINE h5pget_size_f(prp_id, name, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to query - INTEGER(SIZE_T), INTENT(OUT) :: size ! Size in bytes - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_sizes" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetSizes">H5Pget_sizes</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_sizes</code>(<em>hid_t</em> <code>plist</code>, - <em>size_t *</em> <code>sizeof_addr</code>, - <em>size_t *</em> <code>sizeof_size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves the size of the offsets and lengths used in an HDF5 file. - <dt><strong>Description:</strong> - <dd><code>H5Pget_sizes</code> retrieves the size of the offsets - and lengths used in an HDF5 file. - This function is only valid for file creation property lists. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier of property list to query.</td></tr> - <tr> - <td valign="top"><em>size_t *</em> <code>size </code></td> - <td valign="top">OUT: Pointer to location to return offset size in bytes.</td></tr> - <tr> - <td valign="top"><em>size_t *</em> <code>size</code></td> - <td valign="top">OUT: Pointer to location to return length size in bytes.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_sizes_f - <dd> - <pre> -SUBROUTINE h5pget_sizes_f(prp_id, sizeof_addr, sizeof_size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(SIZE_T), DIMENSION(:), INTENT(OUT) :: sizeof_addr - ! Size of an object address in bytes - INTEGER(SIZE_T), DIMENSION(:), INTENT(OUT) :: sizeof_size - ! Size of an object in bytes - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_sizes_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_small_data_block_size" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetSmallData">H5Pget_small_data_block_size</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_small_data_block_size</code>(<em>hid_t</em> <code>fapl_id</code>, - <em>hsize_t *</em><code>size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves the current small data block size setting. - <dt><strong>Description:</strong> - <dd><code>H5Pget_small_data_block_size</code> retrieves the - current setting for the size of the small data block. - <p> - If the returned value is zero (<code>0</code>), the small data - block mechanism has been disabled for the file. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id </code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>size</code></td> - <td valign="top">OUT: Maximum size, in bytes, of the small data block.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_small_data_block_size_f - <dd> - <pre> -SUBROUTINE h5pget_small_data_block_size_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list - ! identifier - INTEGER(HSIZE_T), INTENT(OUT) :: size ! Small raw data block size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_small_data_block_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_sym_k" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetSymK">H5Pget_sym_k</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_sym_k</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned *</em> <code>ik</code>, - <em>unsigned *</em> <code>lk</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves the size of the symbol table B-tree 1/2 rank - and the symbol table leaf node 1/2 size. - <dt><strong>Description:</strong> - <dd><code>H5Pget_sym_k</code> retrieves the size of the - symbol table B-tree 1/2 rank and the symbol table leaf - node 1/2 size. This function is only valid for file creation - property lists. If a parameter valued is set to NULL, that - parameter is not retrieved. See the description for - <a href="#Property-SetSymK">H5Pset_sym_k</a> for more - information. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Property list to query.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em> <code>ik</code></td> - <td valign="top">OUT: Pointer to location to return the symbol table's B-tree 1/2 rank.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em> <code>size</code></td> - <td valign="top">OUT: Pointer to location to return the symbol table's leaf node 1/2 size.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_sym_k_f - <dd> - <pre> -SUBROUTINE h5pget_sym_k_f(prp_id, ik, lk, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: ik ! Symbol table tree rank - INTEGER, INTENT(OUT) :: lk ! Symbol table node size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_sym_k_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_userblock" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetUserblock">H5Pget_userblock</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_userblock</code>(<em>hid_t</em> <code>plist</code>, - <em>hsize_t *</em> <code>size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves the size of a user block. - <dt><strong>Description:</strong> - <dd><code>H5Pget_userblock</code> retrieves the size of a user block - in a file creation property list. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier for property list to query.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em> <code>size </code></td> - <td valign="top">OUT: Pointer to location to return user-block size.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_userblock_f - <dd> - <pre> -SUBROUTINE h5pget_userblock_f(prp_id, block_size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HSIZE_T), DIMENSION(:), INTENT(OUT) :: block_size - ! Size of the user-block in bytes - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_userblock_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_version" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetVersion">H5Pget_version</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_version</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned *</em> <code>super</code>, - <em>unsigned *</em> <code>freelist</code>, - <em>unsigned *</em> <code>stab</code>, - <em>unsigned *</em> <code>shhdr</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves the version information of various objects for - a file creation property list. - <dt><strong>Description:</strong> - <dd><code>H5Pget_version</code> retrieves the version information of various objects - for a file creation property list. Any pointer parameters which are - passed as NULL are not queried. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier of the file creation property list.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em> <code>super</code></td> - <td valign="top">OUT: Pointer to location to return super block version number.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em> <code>freelist </code></td> - <td valign="top">OUT: Pointer to location to return global freelist version number.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em> <code>stab</code></td> - <td valign="top">OUT: Pointer to location to return symbol table version number.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em> <code>shhdr</code></td> - <td valign="top">OUT: Pointer to location to return shared object header version number.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_version_f - <dd> - <pre> -SUBROUTINE h5pget_version_f(prp_id, boot, freelist, & - stab, shhdr, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, DIMENSION(:), INTENT(OUT) :: boot ! Array to put boot block - ! version number - INTEGER, DIMENSION(:), INTENT(OUT) :: freelist - ! Array to put global - ! freelist version number - INTEGER, DIMENSION(:), INTENT(OUT) :: stab ! Array to put symbol table - ! version number - INTEGER, DIMENSION(:), INTENT(OUT) :: shhdr ! Array to put shared object - ! header version number - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_version_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_vlen_mem_manager" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetVLMemManager">H5Pget_vlen_mem_manager</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_vlen_mem_manager</code>(<em>hid_t</em> <code>plist</code>, - <em>H5MM_allocate_t</em> *<code>alloc</code>, - <em>void</em> **<code>alloc_info</code>, - <em>H5MM_free_t</em> *<code>free</code>, - <em>void</em> **<code>free_info</code> - ) - <dt><strong>Purpose:</strong> - <dd>Gets the memory manager for variable-length datatype allocation in - <code>H5Dread</code> and <code>H5Dvlen_reclaim</code>. - <dt><strong>Description:</strong> - <dd><code>H5Pget_vlen_mem_manager</code> is the companion function to - <code>H5Pset_vlen_mem_manager</code>, returning the parameters - set by that function. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier for the dataset transfer property list.</td></tr> - <tr> - <td valign="top"><em>H5MM_allocate_t</em> <code>alloc </code></td> - <td valign="top">OUT: User's allocate routine, or <code> NULL</code> - for system <code> malloc</code>.</td></tr> - <tr> - <td valign="top"><em>void</em> *<code>alloc_info</code></td> - <td valign="top">OUT: Extra parameter for user's allocation routine. - <br> - Contents are ignored if preceding parameter is - <code> NULL</code>.</td></tr> - <tr> - <td valign="top"><em>H5MM_free_t</em> <code>free</code></td> - <td valign="top">OUT: User's free routine, or <code> NULL</code> for - system <code>free</code>.</td></tr> - <tr> - <td valign="top"><em>void</em> *<code>free_info</code></td> - <td valign="top">OUT: Extra parameter for user's free routine. - <br> - Contents are ignored if preceding parameter is - <code> NULL</code>.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pinsert" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Insert">H5Pinsert</a> - - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pinsert</code>( - <em>hid_t</em> <code>plid</code>, - <em>const char *</em><code>name</code>, - <em>size_t</em> <code>size</code>, - <em>void *</em><code>value</code>, - <em>H5P_prp_set_func_t</em> <code>set</code>, - <em>H5P_prp_get_func_t</em> <code>get</code>, - <em>H5P_prp_delete_func_t</em> <code>delete</code>, - <em>H5P_prp_copy_func_t</em> <code>copy</code>, - <em>H5P_prp_compare_func_t</em> <code>compare</code>, - <em>H5P_prp_close_func_t</em> <code>close</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Registers a temporary property with a property list. - - <dt><strong>Description:</strong> - <dd><code>H5Pinsert</code> create a new property in a property list. - The property will exist only in this property list and copies made - from it. - - <p> - The initial property value must be provided in - <code>value</code> and the property value will be set accordingly. - - <p> - The name of the property must not already exist in this list, - or this routine will fail. - - <p> - The <code>set</code> and <code>get</code> callback routines may - be set to NULL if they are not needed. - - <p> - Zero-sized properties are allowed and do not store any data in the - property list. The default value of a zero-size property may be set - to NULL. They may be used to indicate the presence or absence of a - particular piece of information. - </p> - - The <code>set</code> routine is called before a new value is copied - into the property. - The <code>H5P_prp_set_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_prp_set_func_t</code>)( - <em>hid_t</em> <code>prop_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>new_value</code>); - </ul> - The parameters to the callback function are defined as follows: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list being modified</td></tr> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: The name of the property being modified</td></tr> - <tr> - <td><em>size_t </em> <code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void **</em><code>new_value</code></td> - <td>IN: Pointer to new value pointer for the property being - modified</td></tr> - </table></ul> - The <code>set</code> routine may modify the value pointer to be set - and those changes will be used when setting the property's value. - If the <code>set</code> routine returns a negative value, the new - property value is not copied into the property and the set routine - returns an error value. - The <code>set</code> routine will be called for the initial value. - <p> - <strong>Note:</strong> - The <code>set</code> callback function may be useful - to range check the value being set for the property - or may perform some transformation or translation of the - value set. The <code>get</code> callback would then - reverse the transformation or translation. - A single <code>get</code> or <code>set</code> callback - could handle multiple properties by - performing different actions based on the - property name or other properties in the property list. - - <p> - The <code>get</code> routine is called when a value is retrieved - from a property value. - The <code>H5P_prp_get_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_prp_get_func_t</code>)( - <em>hid_t</em> <code>prop_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>value</code>); - </ul> - where the parameters to the callback function are: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list being queried</td></tr> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: The name of the property being queried</td></tr> - <tr> - <td><em>size_t </em> <code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void *</em><code>value</code></td> - <td>IN: The value of the property being returned</td></tr> - </table></ul> - The <code>get</code> routine may modify the value to be returned from - the query and those changes will be preserved. - If the <code>get</code> routine returns a negative value, the query - routine returns an error value. - </p> - - <P> - The <code>delete</code> routine is called when a property is being - deleted from a property list. - The <code>H5P_prp_delete_func_t</code> callback function is defined - as follows: - <ul><code>typedef herr_t</code> (*<code>H5P_prp_delete_func_t</code>)( - <em>hid_t </em><code>prop_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>value</code>); - </ul> - where the parameters to the callback function are: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list the property is - being deleted from</td></tr> - <tr> - <td><em>const char *</em> <code>name</code></td> - <td>IN: The name of the property in the list</td></tr> - <tr> - <td><em>size_t </em> <code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void *</em> <code>value</code></td> - <td>IN: The value for the property being deleted</td></tr> - </table></ul> - The <code>delete</code> routine may modify the value passed in, - but the value is not used by the library when the <code>delete</code> - routine returns. If the <code>delete</code> routine returns a - negative value, the property list delete routine returns an - error value but the property is still deleted. - </P> - - <P> - The <code>copy</code> routine is called when a new property list - with this property is being created through a copy operation. - The <code>H5P_prp_copy_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_prp_copy_func_t</code>)( - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>value</code>); - </ul> - where the parameters to the callback function are: - <ul><table> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: The name of the property being copied</td></tr> - <tr> - <td><em>size_t </em> <code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void *</em> <code>value</code></td> - <td>IN/OUT: The value for the property being copied</td></tr> - </table></ul> - The <code>copy</code> routine may modify the value to be set and - those changes will be stored as the new value of the property. - If the <code>copy</code> routine returns a negative value, the - new property value is not copied into the property and the - copy routine returns an error value. - </P> - - <P> - The <code>compare</code> routine is called when a property list with - this property is compared to another property list with the same property. - The <code>H5P_prp_compare_func_t</code> callback function is defined - as follows: - <ul><em>typedef int</em> (*<code>H5P_prp_compare_func_t</code>)( - <em>const void *</em><code>value1</code>, - <em>const void *</em><code>value2</code>, - <em>size_t </em><code>size</code>); - </ul> - The parameters to the callback function are defined as follows: - <ul><table> - <tr> - <td><em>const void *</em><code>value1</code></td> - <td>IN: The value of the first property to compare</td></tr> - <tr> - <td><em>const void *</em><code>value2</code></td> - <td>IN: The value of the second property to compare</td></tr> - <tr> - <td><em>size_t </em><code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - </table></ul> - The <code>compare</code> routine may <EM>not</EM> modify the values. - The <code>compare</code> routine should return a positive value if - <code>value1</code> is greater than <code>value2</code>, a negative value - if <code>value2</code> is greater than <code>value1</code> and zero if - <code>value1</code> and <code>value2</code> are equal. - </P> - - <P>The <code>close</code> routine is called when a property list - with this property is being closed. - The <code>H5P_prp_close_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_prp_close_func_t</code>)( - <em>hid_t</em> <code>prop_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>value</code>); - </ul> - The parameters to the callback function are defined as follows: - <ul><table> - <tr> - <td><code>hid_t</em> <code>prop_id</em></td> - <td>IN: The ID of the property list being closed</td></tr> - <tr> - <td><code>const char *</code><em>name</em></td> - <td>IN: The name of the property in the list</td></tr> - <tr> - <td><code>size_t </code> <em>size</em></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><code>void *</code><em>value</em></td> - <td>IN: The value for the property being closed</td></tr> - </table></ul> - The <code>close</code> routine may modify the value passed in, the value - is not used by the library when the <code>close</code> routine returns. - If the <code>close</code> routine returns a negative value, the - property list close routine returns an error value but the property list - is still closed. - - <p> - <strong>Note:</strong> - There is no <code>create</code> callback routine for temporary property - list objects; the initial value is assumed to have any necessary setup - already performed on it. - -<!-- NEW PAGE --> - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><code>hid_t</code> <code>plid</em></td> - <td>IN: Property list identifier to create temporary property - within</td></tr> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: Name of property to create</td></tr> - <tr> - <td><em>size_t</em> <code>size</code></td> - <td>IN: Size of property in bytes</td></tr> - <tr> - <td><em>void *</em><code>value</code></td> - <td>IN: Initial value for the property</td></tr> - <tr> - <td><em>H5P_prp_set_func_t</em> <code>set</code></td> - <td>IN: Callback routine called before a new value is copied into - the property's value</td></tr> - <tr> - <td><em>H5P_prp_get_func_t</em> <code>get</code></td> - <td>IN: Callback routine called when a property value is retrieved - from the property</td></tr> - <tr> - <td><em>H5P_prp_delete_func_t</em> <code>delete </code></td> - <td>IN: Callback routine called when a property is deleted from - a property list</td></tr> - <tr> - <td><em>H5P_prp_copy_func_t</em> <code>copy</code></td> - <td>IN: Callback routine called when a property is copied from - an existing property list</td></tr> - <tr> - <td><em>H5P_prp_compare_func_t</em> <code>compare</code></td> - <td>IN: Callback routine called when a property is compared with - another property list</td></tr> - <tr> - <td><em>H5P_prp_close_func_t</em> <code>close</code></td> - <td>IN: Callback routine called when a property list is being closed - and the property value will be disposed of</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pinsert_f - <dd> - <pre> -SUBROUTINE h5pinsert_f - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist ! Property list class identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert - INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value - TYPE, INTENT(IN) :: value ! Property value - ! Supported types are: - ! INTEGER - ! REAL - ! DOUBLE PRECISION - ! CHARACTER(LEN=*) - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pinsert_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pisa_class" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-IsAClass">H5Pisa_class</a> - - <dt><strong>Signature:</strong> - <dd><em>htri_t</em> <code>H5Pisa_class</code>( - <em>hid_t</em> <code>plist</code>, - <em>hid_t</em> <code>pclass</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Determines whether a property list is a member of a class. - - <dt><strong>Description:</strong> - <dd><code>H5Pisa_class</code> checks to determine whether a property list - is a member of the specified class. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>plist</code></td> - <td>IN: Identifier of the property list</td></tr> - <tr> - <td><code>hid_t</code> <em>pclass </em></td> - <td>IN: Identifier of the property class</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: TRUE (positive) if equal; FALSE (zero) if unequal - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pisa_class_f - <dd> - <pre> -SUBROUTINE h5pisa_class_f(plist, pclass, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier - INTEGER(HID_T), INTENT(IN) :: pclass ! Class identifier - LOGICAL, INTENT(OUT) :: flag ! Logical flag - ! .TRUE. if a member - ! .FALSE. otherwise - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pisa_class_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Piterate" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Iterate">H5Piterate</a> - - <dt><strong>Purpose:</strong> - <dd>Iterates over properties in a property class or list. - - <dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Piterate</code>( - <em>hid_t</em> <code>id</code>, - <em>int *</em> <code>idx</code>, - <em>H5P_iterate_t</em> <code>iter_func</code>, - <em>void *</em> <code>iter_data</code> - ) - - <dt><strong>Description:</strong> - <p><code>H5Piterate</code> iterates over the properties in the - property object specified in <code>id</code>, which may be either a - property list or a property class, performing a specified - operation on each property in turn. - - <p> - For each property in the object, <code>iter_func</code> and - the additional information specified below are passed to the - <code>H5P_iterate_t</code> operator function. - - <b><i>(NOTE: <code>iter_func</code> was changed to - <code>H5P_iterate_t</code> in the preceding sentence. - Is this correct?)</i></b> - - <p> - The iteration begins with the <code>idx</code>-th property in - the object; the next element to be processed by the operator - is returned in <code>idx</code>. - If <code>idx</code> is NULL, the iterator starts at the first - property; since no stopping point is returned in this case, - the iterator cannot be restarted if one of the calls to its - operator returns non-zero. - </p> - - The prototype for the <code>H5P_iterate_t</code> operator is - as follows: - <ul> <dl> - <dt><em>typedef herr_t</em> (*<code>H5P_iterate_t</code>)( - <em>hid_t</em> <code>id</code>, - <em>const char *</em><code>>name</code>, - <em>void *</em><code>iter_data</code> - ) - </dl> </ul> - The operation receives the property list or class identifier for - the object being iterated over, <code>id</code>, - the name of the current property within the object, <code>name</code>, - and the pointer to the operator data passed in to - <code>H5Piterate</code>, <code>iter_data</code>. - </p> - - The valid return values from an operator are as follows: - <ul><table> - <tr> - <td valign=top>Zero</td> - <td>Causes the iterator to continue, returning zero when all - properties have been processed</td></tr> - <tr> - <td valign=top>Positive</td> - <td>Causes the iterator to immediately return that positive - value, indicating short-circuit success. The iterator can - be restarted at the index of the next property</td></tr> - <tr> - <td valign=top>Negative</td> - <td>Causes the iterator to immediately return that value, - indicating failure. The iterator can be restarted at the - index of the next property</td></tr> - </table></ul> - - <P> - <code>H5Piterate</code> assumes that the properties in the object - identified by <code>id</code> remain unchanged through the iteration. - If the membership changes during the iteration, the function's behavior - is undefined. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>id</code></td> - <td>IN: Identifier of property object to iterate over</td></tr> - <tr> - <td><em>int *</em> <code>idx</code></td> - <td>IN/OUT: Index of the property to begin with</td></tr> - <tr> - <td><em>H5P_iterate_t</em> <code>iter_func </code></td> - <td>IN: Function pointer to function to be called with each - property iterated over</td></tr> - <tr> - <td><em>void *</em> <code>iter_data</code></td> - <td>IN/OUT: Pointer to iteration data from user</td></tr> - </table></ul> - -<dt><strong>Returns:</strong> - <dd>Success: the return value of the last call to - <code>iter_func</code> if it was non-zero; - zero if all properties have been processed - <dd>Failure: a negative value - </table></ul> - - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pmodify_filter" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-ModifyFilter">H5Pmodify_filter</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pmodify_filter</code>(<em>hid_t</em> <code>plist</code>, - <em>H5Z_filter_t</em> <code>filter</code>, - <em>unsigned int</em> <code>flags</code>, - <em>size_t</em> <code>cd_nelmts</code>, - <em>const unsigned int</em> <code>cd_values[]</code> - ) - <dt><strong>Purpose:</strong> - <dd>Modifies a filter in the filter pipeline. - <dt><strong>Description:</strong> - <dd><code>H5Pmodify_filter</code> modifies the specified - <code>filter</code> in the filter pipeline. - <code>plist</code> must be a dataset creation property list - and the modified filter will be in a permanent filter pipeline. - <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 href="#Property-SetFilter">H5Pset_filter</a>. - <dt><strong>Note:</strong> - <dd>This function currently supports only the permanent filter - pipeline; <code>plist_id</code> must be a dataset creation - property list. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5Z_filter_t</em> <code>filter</code></td> - <td valign="top">IN: Filter to be modified.</td></tr> - <tr> - <td valign="top"><em>unsigned int</em> <code>flags</code></td> - <td valign="top">IN: Bit vector specifying certain general properties - of the filter.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>cd_nelmts</code></td> - <td valign="top">IN: Number of elements in <code>cd_values</code>.</td></tr> - <tr> - <td valign="top"><em>const unsigned int</em> <code>cd_values[] </code></td> - <td valign="top">IN: Auxiliary data for the filter.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - - <dt><strong>Fortran90 Interface:</strong> h5pmodify_filter_f - <dd> - <pre> -SUBROUTINE h5pmodify_filter_f(prp_id, filter, flags, cd_nelmts, & - cd_values, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: filter ! Filter to be modified - INTEGER, INTENT(IN) :: flags ! Bit vector specifying certain - ! general properties of the filter - INTEGER(SIZE_T), INTENT(IN) :: cd_nelmts ! Number of elements in cd_values - INTEGER, DIMENSION(*), INTENT(IN) :: cd_values - ! Auxiliary data for the filter - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pmodify_filter_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pregister" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Register">H5Pregister</a> - - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pregister</code>( - <em>hid_t</em> <code>class</code>, - <em>const char *</em> <code>name</code>, - <em>size_t</em> <code>size</code>, - <em>void *</em> <code>default</code>, - <em>H5P_prp_create_func_t</em> <code>create</code>, - <em>H5P_prp_set_func_t</em> <code>set</code>, - <em>H5P_prp_get_func_t</em> <code>get</code>, - <em>H5P_prp_delete_func_t</em> <code>delete</code>, - <em>H5P_prp_copy_func_t</em> <code>copy</code>, - <em>H5P_prp_compare_func_t</em> <code>compare</code>, - <em>H5P_prp_close_func_t</em> <code>close</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Registers a permanent property with a property list class. - - <dt><strong>Description:</strong> - <dd><code>H5Pregister</code> registers a new property with a - property list class. - The property will exist in all property list objects of - <code>class</code> created after this routine finishes. The name - of the property must not already exist, or this routine will fail. - The default property value must be provided and all new property - lists created with this property will have the property value set - to the default value. Any of the callback routines may be set to - NULL if they are not needed. - - <P> - Zero-sized properties are allowed and do not store any data in the - property list. These may be used as flags to indicate the presence - or absence of a particular piece of information. The default pointer - for a zero-sized property may be set to NULL. - The property <code>create</code> and <code>close</code> callbacks - are called for zero-sized properties, but the <code>set</code> and - <code>get</code> callbacks are never called. - </P> - - <P> - The <code>create</code> routine is called when a new property list - with this property is being created. - The <code>H5P_prp_create_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_prp_create_func_t</code>)( - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>initial_value</code>); - </ul> - The parameters to this callback function are defined as follows: - <ul><table> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: The name of the property being modified</td></tr> - <tr> - <td><em>size_t</em> <code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void *</em><code>initial_value</code></td> - <td>IN/OUT: The default value for the property being created, - which will be passed to <code>H5Pregister</code></td></tr> - </table></ul> - The <code>create</code> routine may modify the value to be set and - those changes will be stored as the initial value of the property. - If the <code>create</code> routine returns a negative value, - the new property value is not copied into the property and the - create routine returns an error value. - </P> - - <P> - The <code>set</code> routine is called before a new value is copied - into the property. - The <code>H5P_prp_set_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*H5P_prp_set_func_t)( - <em>hid_t </em><code>prop_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>new_value</code>); - </ul> - The parameters to this callback function are defined as follows: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list being modified</td></tr> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: The name of the property being modified</td></tr> - <tr> - <td><em>size_t </em><code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void **</em><code>new_value</code></td> - <td>IN/OUT: Pointer to new value pointer for the property being - modified</td></tr> - </table></ul> - The <code>set</code> routine may modify the value pointer to be set - and those changes will be used when setting the property's value. - If the <code>set</code> routine returns a negative value, the new - property value is not copied into the property and the - <code>set</code> routine returns an error value. - The <code>set</code> routine will not be called for the initial - value, only the <code>create</code> routine will be called. - <p> - <strong>Note:</strong> - The <code>set</code> callback function may be useful - to range check the value being set for the property - or may perform some transformation or translation of the - value set. The <code>get</code> callback would then - reverse the - <!-- NEW PAGE --> - transformation or translation. - A single <code>get</code> or <code>set</code> callback - could handle multiple properties by - performing different actions based on the - property name or other properties in the property list. - - <p> - The <code>get</code> routine is called when a value is retrieved - from a property value. - The <code>H5P_prp_get_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_prp_get_func_t</code>)( - <em>hid_t </em><code>prop_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>value</code>); - </ul> - The parameters to the callback function are defined as follows: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list being queried</td></tr> - <tr> - <td><em>const char *</em> <code>name</code></td> - <td>IN: The name of the property being queried</td></tr> - <tr> - <td><em>size_t </em> <code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void *</em> <code>value</code></td> - <td>IN/OUT: The value of the property being returned</td></tr> - </table></ul> - The <code>get</code> routine may modify the value to be returned from - the query and those changes will be returned to the calling routine. - If the <code>set</code> routine returns a negative value, the query - routine returns an error value. - </P> - - <P> - The <code>delete</code> routine is called when a property is being - deleted from a property list. - The <code>H5P_prp_delete_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_prp_delete_func_t</code>)( - <em>hid_t </em><code>prop_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>value</code>); - </ul> - The parameters to the callback function are defined as follows: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list the property is being - deleted from</td></tr> - <tr> - <td><em>const char *</em> <code>name</code></td> - <td>IN: The name of the property in the list</td></tr> - <tr> - <td><em>size_t </em> <code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void *</em> <code>value</code></td> - <td>IN: The value for the property being deleted</td></tr> - </table></ul> - The <code>delete</code> routine may modify the value passed in, - but the value is not used by the library when the <code>delete</code> - routine returns. If the <code>delete</code> routine returns - a negative value, the property list delete routine returns - an error value but the property is still deleted. - </P> - - <P> - The <code>copy</code> routine is called when a new property list with - this property is being created through a copy operation. - The <code>H5P_prp_copy_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_prp_copy_func_t</code>)( - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>value</code>); - </ul> - The parameters to the callback function are defined as follows: - <ul><table> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: The name of the property being copied</td></tr> - <tr> - <td><em>size_t </em><code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void *</em><code>value</code></td> - <td>IN/OUT: The value for the property being copied</td></tr> - </table></ul> - The <code>copy</code> routine may modify the value to be set and - those changes will be stored as the new value of the property. - If the <code>copy</code> routine returns a negative value, - the new property value is not copied into the property and - the copy routine returns an error value. - </P> - - <P> - The <code>compare</code> routine is called when a property list with - this property is compared to another property list with the same property. - The <code>H5P_prp_compare_func_t</code> callback function is defined - as follows: - <ul><em>typedef int</em> (*<code>H5P_prp_compare_func_t</code>)( - <em>const void *</em><code>value1</code>, - <em>const void *</em><code>value2</code>, - <em>size_t </em><code>size</code>); - </ul> - The parameters to the callback function are defined as follows: - <ul><table> - <tr> - <td><em>const void *</em><code>value1</code></td> - <td>IN: The value of the first property to compare</td></tr> - <tr> - <td><em>const void *</em><code>value2</code></td> - <td>IN: The value of the second property to compare</td></tr> - <tr> - <td><em>size_t </em><code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - </table></ul> - The <code>compare</code> routine may <EM>not</EM> modify the values. - The <code>compare</code> routine should return a positive value if - <code>value1</code> is greater than <code>value2</code>, a negative value - if <code>value2</code> is greater than <code>value1</code> and zero if - <code>value1</code> and <code>value2</code> are equal. - </P> - - <P> - The <code>close</code> routine is called when a property list with - this property is being closed. - The <code>H5P_prp_close_func_t</code> callback function is defined - as follows: - <ul><em>typedef herr_t</em> (*<code>H5P_prp_close_func_t</code>)( - <em>hid_t </em><code>prop_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t </em><code>size</code>, - <em>void *</em><code>value</code>); - </ul> - The parameters to the callback function are defined as follows: - <ul><table> - <tr> - <td><em>hid_t</em> <code>prop_id</code></td> - <td>IN: The identifier of the property list being - closed</td></tr> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: The name of the property in the list</td></tr> - <tr> - <td><em>size_t</em> <code>size</code></td> - <td>IN: The size of the property in bytes</td></tr> - <tr> - <td><em>void *</em><code>value</code></td> - <td>IN: The value for the property being closed</td></tr> - </table></ul> - The <code>close</code> routine may modify the value passed in, - but the value is not used by the library when the - <code>close</code> routine returns. - If the <code>close</code> routine returns a negative value, - the property list close routine returns an error value but - the property list is still closed. - </P> - -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><code>hid_t</code> <em>class</em></td> - <td valign="top">IN: Property list class to register permanent property - within</td></tr> - <tr> - <td valign="top"><code>const char *</code> <em>name</em></td> - <td valign="top">IN: Name of property to register</td></tr> - <tr> - <td valign="top"><code>size_t</code> <em>size</em></td> - <td valign="top">IN: Size of property in bytes</td></tr> - <tr> - <td valign="top"><code>void *</code> <em>default</em></td> - <td valign="top">IN: Default value for property in newly created property - lists</td></tr> - <tr> - <td valign="top"><code>H5P_prp_create_func_t</code> <em>create </em></td> - <td valign="top">IN: Callback routine called when a property list is being - created and the property value will be initialized</td></tr> - <tr> - <td valign="top"><code>H5P_prp_set_func_t</code> <em>set</em></td> - <td valign="top">IN: Callback routine called before a new value is copied - into the property's value</td></tr> - <tr> - <td valign="top"><code>H5P_prp_get_func_t</code> <em>get</em></td> - <td valign="top">IN: Callback routine called when a property value is - retrieved from the property</td></tr> - <tr> - <td valign="top"><code>H5P_prp_delete_func_t</code> <em>delete</em></td> - <td valign="top">IN: Callback routine called when a property is deleted from - a property list</td></tr> - <tr> - <td valign="top"><code>H5P_prp_copy_func_t</code> <em>copy</em></td> - <td valign="top">IN: Callback routine called when a property is copied from - a property list</td></tr> - <tr> - <td valign="top"><code>H5P_prp_compare_func_t</code> <em>compare</em></td> - <td valign="top">IN: Callback routine called when a property is compared with - another property list</td></tr> - <tr> - <td valign="top"><code>H5P_prp_close_func_t</code> <em>close</em></td> - <td valign="top">IN: Callback routine called when a property list is being - closed and the property value will be disposed of</td></tr> - </table></ul> - -<dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pregister_f - <dd> - <pre> -SUBROUTINE h5pregister_f - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register - INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value - TYPE, INTENT(IN) :: value ! Property value - ! Supported types are: - ! INTEGER - ! REAL - ! DOUBLE PRECISION - ! CHARACTER(LEN=*) - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pregister_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Premove" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Remove">H5Premove</a> - - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Premove</code>( - <em>hid_t</em> <code>plid</code>; - <em>const char *</em><code>name</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Removes a property from a property list. - - <dt><strong>Description:</strong> - <dd><code>H5Premove</code> removes a property from a property list. - - <p> - Both properties which were in existence when the property list - was created (i.e. properties registered with <code>H5Pregister</code>) - and properties added to the list after it was created (i.e. added - with <code>H5Pinsert</code>) may be removed from a property list. - Properties do not need to be removed from a property list before the - list itself is closed; they will be released automatically when - <code>H5Pclose</code> is called. - - <p> - If a <code>close</code> callback exists for the removed property, - it will be called before the property is released. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>plid</code></td> - <td>IN: Identifier of the property list to modify</td></tr> - <tr> - <td><em>const char *</em><code>name </code></td> - <td>IN: Name of property to remove</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5premove_f - <dd> - <pre> -SUBROUTINE h5premove_f(plid, name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plid ! Property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to remove - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5premove_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Set">H5Pset</a> - - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset</code>( - <em>hid_t</em> <code>plid</code>, - <em>const char *</em><code>name</code>, - <em>void *</em><code>value</code>) - ) - - <dt><strong>Purpose:</strong> - <dd>Sets a property list value. - - <dt><strong>Description:</strong> - <dd><code>H5Pset</code> sets a new value for a property in a - property list. If there is a <code>set</code> callback - routine registered for this property, the <code>value</code> will be - passed to that routine and any changes to the <code>value</code> - will be used when setting the property value. - The information pointed to by the <code>value</code> pointer - (possibly modified by the <code>set</code> callback) is copied into - the property list value and may be changed by the application making - the <code>H5Pset</code> call without affecting the property value. - - <P> - The property name must exist or this routine will fail. - - <P> - If the <code>set</code> callback routine returns an error, the - property value will not be modified. - - <P> - This routine may not be called for zero-sized properties - and will return an error in that case. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>hid_t</em> <code>plid</code>; - <td>IN: Property list identifier to modify</td></tr> - <tr> - <td><em>const char *</em><code>name; </code> - <td>IN: Name of property to modify</td></tr> - <tr> - <td><em>void *</em><code>value</code>; - <td>IN: Pointer to value to set the property to</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - - <dt><strong>Fortran90 Interface:</strong> h5pset_f - <dd> - <pre> -SUBROUTINE h5pset_f(plid, name, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plid ! Property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to set - TYPE, INTENT(IN) :: value ! Property value - ! Supported types are: - ! INTEGER - ! REAL - ! DOUBLE PRECISION - ! CHARACTER(LEN=*) - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_alignment" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetAlignment">H5Pset_alignment</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_alignment</code>(<em>hid_t</em> <code>plist</code>, - <em>hsize_t</em> <code>threshold</code>, - <em>hsize_t</em> <code>alignment</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets alignment properties of a file access property list. - <dt><strong>Description:</strong> - <dd><code>H5Pset_alignment</code> sets the alignment properties - of a file access property list - so that any file object greater than or equal in size to - <code>threshold</code> bytes will be aligned on an address - which is a multiple of <code>alignment</code>. The addresses - are relative to the end of the user block; the alignment is - calculated by subtracting the user block size from the - absolute file address and then adjusting the address to be a - multiple of <code>alignment</code>. - <p> - Default values for <code>threshold</code> and - <code>alignment</code> are one, implying - no alignment. Generally the default values will result in - the best performance for single-process access to the file. - For MPI-IO and other parallel systems, choose an alignment - which is a multiple of the disk block size. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier for a file access property list.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>threshold </code></td> - <td valign="top">IN: Threshold value. - Note that setting the threshold value to 0 (zero) has - the effect of a special case, forcing everything - to be aligned.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>alignment</code></td> - <td valign="top">IN: Alignment value.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_alignment_f - <dd> - <pre> -SUBROUTINE h5pset_alignment_f(prp_id, threshold, alignment, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HSIZE_T), INTENT(IN) :: threshold ! Threshold value - INTEGER(HSIZE_T), INTENT(IN) :: alignment ! Alignment value - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_alignment_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_alloc_time" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetAllocTime">H5Pset_alloc_time</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_alloc_time</code>(<em>hid_t</em> <code>plist_id</code>, - <em>H5D_alloc_time_t</em> <code>alloc_time</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the timing for storage space allocation. - <dt><strong>Description:</strong> - <dd><code>H5Pset_alloc_time</code> sets up the timing for the allocation of - storage space for a dataset's raw data. - This property is set in the dataset creation property list - <code>plist_id</code>. - <p> - Timing is specified in <code>fill_time</code> with one of the - following values: - <table border=0 > - <tr valign="top"><td rowspan="4"> </td><td> - <code>H5D_ALLOC_TIME_DEFAULT</code> - </td><td> - Allocate dataset storage space at the default time.<br> - (Defaults differ by storage method.) - </td></tr><tr valign="top"><td> - <code>H5D_ALLOC_TIME_EARLY</code> - </td><td> - Allocate all space when the dataset is created.<br> - (Default for compact datasets.) - </td></tr><tr valign="top"><td> - <code>H5D_ALLOC_TIME_INCR</code> - </td><td> - Allocate space incrementally, as data is written to the dataset.<br> - (Default for chunked storage datasets.) - <li>Chunked datasets: - Storage space allocation for each chunk is deferred until data - is written to the chunk. - <li>Contiguous datasets: - Incremental storage space allocation for contiguous data - is treated as late allocation. - <li>Compact datasets: - Incremental allocation is not allowed with compact datasets; - </em><code>H5Pset_alloc_time</code> will return an error. - </td></tr><tr valign="top"><td> - <code>H5D_ALLOC_TIME_LATE</code> - </td><td> - Allocate all space when data is first written to the dataset.<br> - (Default for contiguous datasets.) - </td></tr></table> - <dt><strong>Note:</strong> - <dd><code>H5Pset_alloc_time</code> is designed to work in concert - with the dataset fill value and fill value write time properties, - set with the functions - <code>H5Pset_fill_value</code> and <code>H5Pset_fill_time</code>. - <p> - <p> - See <a href="RM_H5D.html#Dataset-Create">H5Dcreate</a> for - further cross-references. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5D_alloc_time_t</em> <code>alloc_time </code></td> - <td valign="top">IN: When to allocate dataset storage space.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_alloc_time_f - <dd> - <pre> -SUBROUTINE h5pset_alloc_time_f(plist_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset creation property - ! list identifier - INTEGER(HSIZE_T), INTENT(IN) :: flag ! Allocation time flag - ! Possible values are: - ! H5D_ALLOC_TIME_ERROR_F - ! H5D_ALLOC_TIME_DEFAULT_F - ! H5D_ALLOC_TIME_EARLY_F - ! H5D_ALLOC_TIME_LATE_F - ! H5D_ALLOC_TIME_INCR_F</pre> -<!-- NEW PAGE --> -<pre> - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_alloc_time_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_btree_ratios" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetBTreeRatios">H5Pset_btree_ratios</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_btree_ratios</code>(<em>hid_t</em> <code>plist</code>, - <em>double</em> <code>left</code>, - <em>double</em> <code>middle</code>, - <em>double</em> <code>right</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets B-tree split ratios for a dataset transfer property list. - <dt><strong>Description:</strong> - <dd><code>H5Pset_btree_ratios</code> sets the B-tree split ratios - for a dataset transfer property list. The split ratios determine - what percent of children go in the first node when a node splits. - <p> - The ratio <code>left</code> is used when the splitting node is - the left-most node at its level in the tree; - the ratio <code>right</code> is used when the splitting node is - the right-most node at its level; - and the ratio <code>middle</code> is used for all other cases. - <p> - A node which is the only node at its level in the tree uses - the ratio <code>right</code> when it splits. - <p> - All ratios are real numbers between 0 and 1, inclusive. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: The dataset transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>double</em> <code>left</code></td> - <td valign="top">IN: The B-tree split ratio for left-most nodes.</td></tr> - <tr> - <td valign="top"><em>double</em> <code>right</code></td> - <td valign="top">IN: The B-tree split ratio for right-most nodes and lone nodes.</td></tr> - <tr> - <td valign="top"><em>double</em> <code>middle </code></td> - <td valign="top">IN: The B-tree split ratio for all other nodes.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_btree_ratios_f - <dd> - <pre> -SUBROUTINE h5pset_btree_ratios_f(prp_id, left, middle, right, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id - ! Property list identifier - REAL, INTENT(IN) :: left ! The B-tree split ratio for left-most nodes - REAL, INTENT(IN) :: middle ! The B-tree split ratio for all other nodes - REAL, INTENT(IN) :: right ! The B-tree split ratio for right-most - ! nodes and lone nodes. - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_btree_ratios_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_buffer" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetBuffer">H5Pset_buffer</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_buffer</code>(<em>hid_t</em> <code>plist</code>, - <em>hsize_t</em> <code>size</code>, - <em>void</em> <code>*tconv</code>, - <em>void</em> <code>*bkg</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets type conversion and background buffers. - <dt><strong>Description:</strong> - <dd> Given a dataset transfer property list, <code>H5Pset_buffer</code> - sets the maximum size - for the type conversion buffer and background buffer and - optionally supplies pointers to application-allocated buffers. - If the buffer size is smaller than the entire amount of data - being transferred between the application and the file, and a type - conversion buffer or background buffer is required, then - strip mining will be used. - <p> - Note that there are minimum size requirements for the buffer. - Strip mining can only break the data up along the first dimension, - so the buffer must be large enough to accommodate a complete slice - that encompasses all of the remaining dimensions. - For example, when strip mining a 100x200x300 hyperslab - of a simple data space, the buffer must be large enough to - hold 1x200x300 data elements. - When strip mining a 100x200x300x150 hyperslab of a simple data space, - the buffer must be large enough to hold 1x200x300x150 data elements. - <p> - If <code>tconv</code> and/or <code>bkg</code> are null pointers, - then buffers will be allocated and freed during the data transfer. - <p> - The default value for the maximum buffer is 1 Mb. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier for the dataset transfer property list.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>size </code></td> - <td valign="top">IN: Size, in bytes, of the type conversion and background buffers.</td></tr> - <tr> - <td valign="top"><em>void</em> <code>tconv</code></td> - <td valign="top">IN: Pointer to application-allocated type conversion buffer.</td></tr> - <tr> - <td valign="top"><em>void</em> <code>bkg</code></td> - <td valign="top">IN: Pointer to application-allocated background buffer.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_buffer_f - <dd> - <pre> -SUBROUTINE h5pset_buffer_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset transfer property - ! list identifier - INTEGER(HSIZE_T), INTENT(IN) :: size ! Conversion buffer size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_buffer_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_cache" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetCache">H5Pset_cache</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_cache</code>(<em>hid_t</em> <code>plist_id</code>, - <em>int</em> <code>mdc_nelmts</code>, - <em>int</em> <code>rdcc_nelmts</code>, - <em>size_t</em> <code>rdcc_nbytes</code>, - <em>double</em> <code>rdcc_w0</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the meta data cache and raw data chunk cache parameters. - <dt><strong>Description:</strong> - <dd><code>H5Pset_cache</code> sets - the number of elements (objects) in the meta data cache and - the number of elements, the total number of bytes, and - the preemption policy value in the raw data chunk cache. - <p> - The <em>plist_id</em> is a file access property list. - The number of elements (objects) in the meta data cache - and the raw data chunk cache are <em>mdc_nelmts</em> and - <em>rdcc_nelmts</em>, respectively. - The total size of the raw data chunk cache and the preemption policy - are <em>rdcc_nbytes</em> and <em>rdcc_w0</em>. - <p> - Any (or all) of the <code>H5Pget_cache</code> pointer arguments - may be null pointers. - <p> - The <em>rdcc_w0</em> value should be between 0 and 1 inclusive and - indicates how much chunks that have been fully read are - favored for preemption. A value of zero means fully read - chunks are treated no differently than other chunks (the - preemption is strictly LRU) while a value of one means fully - read chunks are always preempted before other chunks. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Identifier of the file access property list.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>mdc_nelmts</code></td> - <td valign="top">IN: Number of elements (objects) in the meta data cache.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>rdcc_nelmts</code></td> - <td valign="top">IN: Number of elements (objects) in the raw data chunk cache.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>rdcc_nbytes </code></td> - <td valign="top">IN: Total size of the raw data chunk cache, in bytes.</td></tr> - <tr> - <td valign="top"><em>double</em> <code>rdcc_w0</code></td> - <td valign="top">IN: Preemption policy.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_cache_f - <dd> - <pre> -SUBROUTINE h5pset_cache_f(prp_id, mdc_nelmts,rdcc_nelmts, rdcc_nbytes, rdcc_w0, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: mdc_nelmts ! Number of elements (objects) - ! in the meta data cache - INTEGER(SIZE_T), INTENT(IN) :: rdcc_nelmts ! Number of elements (objects) - ! in the meta data cache - INTEGER(SIZE_T), INTENT(IN) :: rdcc_nbytes ! Total size of the raw data - ! chunk cache, in bytes - REAL, INTENT(IN) :: rdcc_w0 ! Preemption policy - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_cache_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_chunk" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetChunk">H5Pset_chunk</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_chunk</code>(<em>hid_t</em> <code>plist</code>, - <em>int</em> <code>ndims</code>, - <em>const hsize_t *</em> <code>dim</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the size of the chunks used to store a chunked layout dataset. - <dt><strong>Description:</strong> - <dd><code>H5Pset_chunk</code> sets the size of the chunks used to - store a chunked layout dataset. This function is only valid - for dataset creation property lists. - <p> - The <code>ndims</code> parameter currently must be the same size - as the rank of the dataset. - <p> - The values of the <code>dim</code> - array define the size of the chunks to store the dataset's raw data. - The unit of measure for <code>dim</code> values is - <em>dataset elements</em>. - <p> - As a side-effect of this function, the layout of the dataset is - changed to <code>H5D_CHUNKED</code>, if it is not already so set. - (See <a href="#Property-SetLayout"><code>H5Pset_layout</code></a>.) - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier for property list to query.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>ndims</code></td> - <td valign="top">IN: The number of dimensions of each chunk.</td></tr> - <tr> - <td valign="top"><em>const hsize_t *</em> <code>dim </code></td> - <td valign="top">IN: An array defining the size, in dataset elements, - of each chunk.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_chunk_f - <dd> - <pre> -SUBROUTINE h5pset_chunk_f(prp_id, ndims, dims, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: ndims ! Number of chunk dimensions - INTEGER(HSIZE_T), DIMENSION(ndims), INTENT(IN) :: dims - ! Array containing sizes of - ! chunk dimensions - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_chunk_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_data_transform" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetDataTransform">H5Pset_data_transform</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_data_transform</code> - (<em>hid_t</em> <code>plist_id</code>, - <em>const char</em> *<code>expression</code>) - <dt><strong>Purpose:</strong> - <dd>Sets a data transform expression. - <dt><strong>Description:</strong> - <dd><code>H5Pset_data_transform</code> sets the data transform to - be used for reading and writing data. - This function operates on the dataset transfer property lists - plist_id. - <p> - The expression parameter is a string containing an algebraic - expression, such as <code>(5/9.0)*(x-32)</code> - or <code>x*(x-5)</code>. - When a dataset is read or written with this property list, - the transform expression is applied with the <code>x</code> - being replaced by the values in the dataset. - When reading data, the values in the file are not changed - and the transformed data is returned to the user. - <p> - Data transforms can only be applied to integer or floating-point - datasets. Order of operations is obeyed and the only supported - operations are +, -, *, and /. Parentheses can be nested arbitrarily - and can be used to change precedence. - <p> - When writing data back to the dataset, the transformed data is - written to the file and there is no way to recover the original - values to which the transform was applied. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Identifier of the property list or class</td></tr> - <tr> - <td valign="top"><em>const char</em> *<code>expression </code></td> - <td valign="top">IN: Pointer to the null-terminated data transform expression - </td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_deflate" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetDeflate">H5Pset_deflate</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_deflate</code>(<em>hid_t</em> <code>plist</code>, - <em>int</em> <code>level</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets compression method and compression level. - <dt><strong>Description:</strong> - <dd><code>H5Pset_deflate</code> sets the compression method for a - dataset creation property list to <code>H5D_COMPRESS_DEFLATE</code> - and the compression level to <code>level</code>, which should - be a value from zero to nine, inclusive. - Lower compression levels are faster but result in less compression. - This is the same algorithm as used by the GNU gzip program. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier for the dataset creation property list.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>level</code></td> - <td valign="top">IN: Compression level.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_deflate_f - <dd> - <pre> -SUBROUTINE h5pset_deflate_f(prp_id, level, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: level ! Compression level - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_deflate_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- ********** MOVED TO TechNotes/VFLfunc.html ********** - -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetDriver">H5Pset_driver</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_driver</code>( - <em>hid_t</em> <code>plist_id</code>, - <em>hid_t</em> <code>driver_id</code>, - <em>const void *</em> <code>driver_info</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the file driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_driver</code> sets the file driver, - <code>driver_id</code>, for a file access or data transfer - property list, <code>plist_id</code>, and supplies an - optional struct containing the driver-specific properties, - <code>driver_info</code>. - <p> - <font color=red><b><i>Need <code>driver_info</code> struct definition.</i></b></font> - <p> - The driver properties will be copied into the property list - and the reference count on the driver will be incremented, - allowing the caller to close the driver identifier but still use - the property list. - <dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>IN: File access or data transfer property list identifier. - <dt><em>hid_t</em> <code>driver_id</code> - <dd>IN: Driver identifier. - <dt><em>const void *</em> <code>driver_info</code> - <dd>IN: Optional struct containing driver properties. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Non-C API(s):</strong> - <dd><a href="fortran/h5p_FORTRAN.html#h5pxxx_f" - target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> -</dl> - ---> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_dxpl_mpio" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetDxplMpio">H5Pset_dxpl_mpio</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_dxpl_mpio</code>( - <em>hid_t</em> <code>dxpl_id</code>, - <em>H5FD_mpio_xfer_t</em> <code>xfer_mode</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets data transfer mode. - <dt><strong>Description:</strong> - <dd><code>H5Pset_dxpl_mpio</code> sets the data transfer property list - <code>dxpl_id</code> to use transfer mode <code>xfer_mode</code>. - The property list can then be used to control the I/O transfer mode - during data I/O operations. - <p> - Valid transfer modes are as follows: - <dir> - <dl> - <dt><code>H5FD_MPIO_INDEPENDENT</code> - <dd>Use independent I/O access (default). - <dt><code>H5FD_MPIO_COLLECTIVE</code> - <dd>Use collective I/O access. - </dl> - </dir></p> - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dxpl_id</code></td> - <td valign="top">IN: Data transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5FD_mpio_xfer_t</em> <code>xfer_mode </code></td> - <td valign="top">IN: Transfer mode.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd> - <pre> -SUBROUTINE h5pset_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: data_xfer_mode ! Data transfer mode - ! Possible values are: - ! H5FD_MPIO_INDEPENDENT_F - ! H5FD_MPIO_COLLECTIVE_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_dxpl_mpio_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_dxpl_multi" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetDxplMulti">H5Pset_dxpl_multi</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_dxpl_multi</code>( - <em>hid_t</em> <code>dxpl_id</code>, - <em>const hid_t *</em><code>memb_dxpl</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the data transfer property list for the multi-file driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_dxpl_multi</code> sets the data transfer property list - <code>dxpl_id</code> to use the multi-file driver for each - memory usage type <code>memb_dxpl[]</code>. - <p> - <code>H5Pset_dxpl_multi</code> can only be used after - the member map has been set with <code>H5Pset_fapl_multi</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dxpl_id</code>,</td> - <td valign="top">IN: Data transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>const hid_t *</em><code>memb_dxpl </code></td> - <td valign="top">IN: Array of data access property lists.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_edc_check" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetEdcCheck">H5Pset_edc_check</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_edc_check</code>(<em>hid_t</em> <code>plist</code>, - <em>H5Z_EDC_t</em> <code>check</code>) - <dt><strong>Purpose:</strong> - <dd>Sets whether to enable error-detection when reading a dataset. - <dt><strong>Description:</strong> - <dd><code>H5Pset_edc_check</code> sets the dataset transfer property - list <code>plist</code> to enable or disable error detection - when reading data. - <p> - Whether error detection is enabled or disabled is specified - in the <code>check</code> parameter. - Valid values are as follows: - <table border="0"> - <tr><td> </td><td> - <code>H5Z_ENABLE_EDC</code> (default) - <br> - <code>H5Z_DISABLE_EDC</code> - </td></tr> - </table> - <p> - The error detection algorithm used is the algorithm previously - specified in the corresponding dataset creation property list. - <p> - This function does not affect the use of error detection when - writing data. - <dt><strong>Note:</strong> - <dd>The initial error detection implementation, Fletcher32 checksum, - supports error detection for chunked datasets only. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Dataset transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5Z_EDC_t</em> <code>check </code></td> - <td valign="top">IN: Specifies whether error checking is enabled or disabled - for dataset read operations.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_edc_check_f - <dd> - <pre> -SUBROUTINE h5pset_edc_check_f(prp_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset transfer property - ! list identifier - INTEGER, INTENT(IN) :: flag ! EDC flag; possible values - ! H5Z_DISABLE_EDC_F - ! H5Z_ENABLE_EDC_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - -END SUBROUTINE h5pset_edc_check_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_external" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetExternal">H5Pset_external</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_external</code>(<em>hid_t</em> <code>plist</code>, - <em>const char</em> <code>*name</code>, - <em>off_t</em> <code>offset</code>, - <em>hsize_t</em> <code>size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Adds an external file to the list of external files. - <dt><strong>Description:</strong> - <dd>The first call to <code>H5Pset_external</code> sets the - <i>external storage</i> property in the property list, - thus designating that the dataset will be stored in - one or more non-HDF5 file(s) external to the HDF5 file. - This call also adds the file <code>name</code> as the - first file in the list of external files. - Subsequent calls to the function add the named file as - the next file in the list. - <p> - If a dataset is split across multiple files, then the files - should be defined in order. The total size of the dataset is - the sum of the <code>size</code> arguments for all the external files. - If the total size is larger than the size of a dataset then the - dataset can be extended (provided the data space also allows - the extending). - <p> - The <code>size</code> argument specifies the number of bytes reserved - for data in the external file. - If <code>size</code> is set to <code>H5F_UNLIMITED</code>, the - external file can be of unlimited size and no more files can be added - to the external files list. - <p> - All of the external files for a given dataset must be - specified with <code>H5Pset_external</code> - <i>before</i> <code>H5Dcreate</code> is called to create - the dataset. - If one these files does not exist on the system when - <code>H5Dwrite</code> is called to write data to it, - the library will create the file. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier of a dataset creation property list.</td></tr> - <tr> - <td valign="top"><em>const char</em> <code>*name </code></td> - <td valign="top">IN: Name of an external file.</td></tr> - <tr> - <td valign="top"><em>off_t</em> <code>offset</code></td> - <td valign="top">IN: Offset, in bytes, from the beginning of the file - to the location in the file where the data starts.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>size</code></td> - <td valign="top">IN: Number of bytes reserved in the file for the data.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_external_f - <dd> - <pre> -SUBROUTINE h5pset_external_f(prp_id, name, offset,bytes, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of an external file - INTEGER, INTENT(IN) :: offset ! Offset, in bytes, from the - ! beginning of the file to the - ! location in the file where - ! the data starts - INTEGER(HSIZE_T), INTENT(IN) :: bytes ! Number of bytes reserved in - ! the file for the data - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_external_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_family_offset" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFamilyOffset">H5Pset_family_offset</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_family_offset</code> ( - <em>hid_t</em> <code>fapl_id</code>, - <em>hsize_t</em> <code>offset</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets offset property for low-level access to a file in a family of files. - <dt><strong>Description:</strong> - <dd><code>H5Pset_family_offset</code> sets the offset property in the - file access property list <code>fapl_id</code> so that the user application - can retrieve a file handle for low-level access to a particular member - of a family of files. The file handle is retrieved with a separate call - to <a href="RM_H5F.html#File-GetVfdHandle"><code>H5Fget_vfd_handle</code></a> - (or, in special circumstances, to <code>H5FDget_vfd_handle</code>; - see <cite>Virtual File Layer</cite> and <cite>List of VFL Functions</cite> - in <a href="TechNotes.html"><cite>HDF5 Technical Notes</cite></a>). - <p> - The value of <code>offset</code> is an offset in bytes from the - beginning of the HDF5 file, identifying a user-determined location - within the HDF5 file. The file handle the user application is seeking - is for the specific member-file in the associated family of files - to which this offset is mapped. - <p> - Use of this function is only appropriate for an HDF5 file written as a - family of files with the <code>FAMILY</code> file driver. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>offset </code></td> - <td valign="top">IN: Offset in bytes within the HDF5 file.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_family_offset_f - <dd> - <pre> -SUBROUTINE h5pset_family_offset_f(prp_id, offset, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HSIZE_T), INTENT(IN) :: offset ! Offset in bytes - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - -END SUBROUTINE h5pset_family_offset_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_core" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplCore">H5Pset_fapl_core</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_core</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>size_t</em> <code>increment</code>, - <em>hbool_t</em> <code>backing_store</code> - ) - <dt><strong>Purpose:</strong> - <dd>Modifies the file access property list to use the - <code>H5FD_CORE</code> driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_core</code> modifies the file access property list - to use the <code>H5FD_CORE</code> driver. - <p> - The <code>H5FD_CORE</code> driver enables an application to work - with a file in memory, speeding reads and writes as no disk access - is made. File contents are stored only in memory until the file - is closed. The <code>backing_store</code> parameter determines - whether file contents are ever written to disk. - <p> - <code>increment</code> specifies the increment by which allocated - memory is to be increased each time more memory is required. - <p> - If <code>backing_store</code> is set to <code>1</code> - (<code>TRUE</code>), the file contents are flushed to a file - with the same name as this core file when the file is closed - or access to the file is terminated in memory. - <dt><strong>Note:</strong> - <dd>There is currently no means for reading a file from disk then - using the <code>H5FD_CORE</code> driver to manipulate the file. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>increment</code></td> - <td valign="top">IN: Size, in bytes, of memory increments.</td></tr> - <tr> - <td valign="top"><em>hbool_t</em> <code>backing_store </code></td> - <td valign="top">IN: Boolean flag indicating whether to write the file - contents to disk when the file is closed.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fapl_core_f - <dd> - <pre> -SUBROUTINE h5pset_fapl_core_f(prp_id, increment, backing_store, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(SIZE_T), INTENT(IN) :: increment ! File block size in bytes - LOGICAL, INTENT(IN) :: backing_store ! Flag to indicate that entire - ! file contents are flushed to - ! a file with the same name as - ! this core file - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fapl_core_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_family" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplFamily">H5Pset_fapl_family</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_family</code> ( - <em>hid_t</em> <code>fapl_id</code>, - <em> hsize_t</em> <code>memb_size</code>, - <em>hid_t</em> <code>memb_fapl_id</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the file access property list to use the family driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_family</code> sets the file access property list - identifier, <code>fapl_id</code>, to use the family driver. - <p> - <code>memb_size</code> is the size in bytes of each file member. This size - will be saved in the file when the property list <code>fapl_id</code> is used - to create a new file. If <code>fapl_id</code> is used to open an existing - file, <code>memb_size</code> has to be equal to the original size saved in - the file. A failure with an errror message indicating the correct member - size will be returned if <code>memb_size</code> does not match the size saved. - If any user does not know the original size, <code>H5F_FAMILY_DEFAULT</code> - can be passed in. The library will retrieve the correct size saved in the file. - <p> - <code>memb_fapl_id</code> is the identifier of the - file access property list to be used for each family member. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em> hsize_t</em> <code>memb_size</code></td> - <td valign="top">IN: Size in bytes of each file member.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>memb_fapl_id </code></td> - <td valign="top">IN: Identifier of file access property list for each - family member.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fapl_family_f - <dd> - <pre> -SUBROUTINE h5pset_fapl_family_f(prp_id, imemb_size, memb_plist, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HSIZE_T), INTENT(IN) :: memb_size ! Logical size, in bytes, - ! of each family member - INTEGER(HID_T), INTENT(IN) :: memb_plist ! Identifier of the file - ! access property list to be - ! used for each family member - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fapl_family_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_gass" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplGass">H5Pset_fapl_gass</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_gass</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>GASS_Info</em> <code>info</code> - ) - <dt><strong>Purpose:</strong> - <dd>Stores user-supplied GASS information. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_gass</code> stores user-supplied GASS information, - the <em>GASS_Info</em> struct data as passed in <code>info</code>, - to the file access property list <code>fapl_id</code>. - <code>fapl_id</code> can then be used to create and/or open the file. - <p> - The <em>GASS_Info</em> object, <code>info</code>, is used for - file open operations when using GASS in the Globus environment. - <p> - Any modification to <code>info</code> after this function call - returns may have undetermined effect to the access property list. - Users must call <code>H5Pset_fapl_gass</code> again to setup - the property list. - <dt><strong>Note:</strong> - <dd><code>H5Pset_fapl_gass</code> is an experimental function. - It is designed for use only when accessing files via the - GASS facility of the Globus environment. - For further information, see - <a href="http://www.globus.org/">http//www.globus.org/</a>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code>,</td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>GASS_Info</em> <code>info </code></td> - <td valign="top">IN: Pointer to the GASS information structure.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_log" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplLog">H5Pset_fapl_log</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_log</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>const char *</em><code>logfile</code>, - <em>unsigned int</em> <code>flags</code>, - <em>size_t</em> <code>buf_size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets up the use of the logging driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_log</code> modifies the - file access property list to use the logging driver - <code>H5FD_LOG</code>. - <p> - <code>logfile</code> is the name of the file in which the - logging entries are to be recorded. - <p> - The actions to be logged are specified in the parameter <code>flags</code> - using the pre-defined constants described in the following table. - Multiple flags can be set through the use of an logical OR contained - in parentheses. For example, logging read and write locations would - be specified as <code>(H5FD_LOG_LOC_READ|H5FD_LOG_LOC_WRITE)</code>. - <!--The <code>flags</code> parameter contains a 2-byte hexadecimal value - which is computed from the following elements:--> - <center> - <table width=100%> - <tr valign=top align=left><td> - <hr> - <b>Flag</b> - <!--</td><td width="20%"> - <hr> - <b>Hex value</b>--> - </td><td> - <hr> - <b>Description</b> - </td></tr> - - <tr valign=top align=left><td> - <hr> - <code>H5FD_LOG_LOC_READ</code> - <!--</td><td> - <code>0x0001</code>--> - </td><td rowspan="3"> - <hr> - Track the location and length of every read, write, or seek operation. - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_LOC_WRITE </code> - <!--</td><td> - <code>0x0002 </code>--> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_LOC_SEEK</code> - <!--</td><td> - <code>0x0004</code>--> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_LOC_IO</code> - <!--</td><td> - <code>0x0007</code>--> - </td><td> - Track all I/O locations and lengths. - The logical equivalent of the following: - </td></tr> - <tr valign=top align=left><td> - <code> </code> - </td><td> - <code>(H5FD_LOG_LOC_READ | H5FD_LOG_LOC_WRITE | H5FD_LOG_LOC_SEEK)</code> - </td></tr> - - <tr valign=top align=left><td> - <hr> - <code>H5FD_LOG_FILE_READ</code> - <!--</td><td> - <code>0x0008</code>--> - </td><td rowspan="2"> - <hr> - Track the number of times each byte is read or written. - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_FILE_WRITE </code> - <!--</td><td> - <code>0x0010</code>--> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_FILE_IO</code> - <!--</td><td> - <code>0x0018</code>--> - </td><td> - Track the number of times each byte is read and written. - The logical equivalent of the following: - </td></tr> - <tr valign=top align=left><td> - <code> </code> - </td><td> - <code>(H5FD_LOG_FILE_READ | H5FD_LOG_FILE_WRITE)</code> - </td></tr> - - <tr valign=top align=left><td> - <hr> - <code>H5FD_LOG_FLAVOR</code> - <!--</td><td> - <code>0x0020</code>--> - </td><td> - <hr> - Track the type, or flavor, of information stored at each byte. - </td></tr> - - <tr valign=top align=left><td> - <hr> - <code>H5FD_LOG_NUM_READ</code> - <!--</td><td> - <code>0x0040</code>--> - </td><td rowspan="3"> - <hr> - Track the total number of read, write, or seek operations that occur. - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_NUM_WRITE</code> - <!--</td><td> - <code>0x0080</code>--> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_NUM_SEEK</code> - <!--</td><td> - <code>0x0100</code>--> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_NUM_IO</code> - <!--</td><td> - <code>0x01C0</code>--> - </td><td> - Track the total number of all types of I/O operations. - The logical equivalent of the following: - </td></tr> - <tr valign=top align=left><td> - <code> </code> - </td><td> - <code>(H5FD_LOG_NUM_READ | H5FD_LOG_NUM_WRITE | H5FD_LOG_NUM_SEEK)</code> - </td></tr> - -<!-- NEW PAGE --> - <tr valign=top align=left><td> - <hr> - <code>H5FD_LOG_TIME_OPEN</code> - <!--</td><td> - <code>0x0200</code>--> - </td><td rowspan="5"> - <hr> - Track the time spent in open, read, write, seek, or close operations. - <dir> - <span class="termEmphasis"><i> - Not implemented in this release: open and read - <br> - Partially implemented: write and seek - <br> - Fully implemented: close</i></span> - </dir> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_TIME_READ</code> - <!--</td><td> - <code>0x0400</code>--> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_TIME_WRITE</code> - <!--</td><td> - <code>0x0800</code>--> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_TIME_SEEK</code> - <!--</td><td> - <code>0x1000</code>--> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_TIME_CLOSE</code> - <!--</td><td> - <code>0x2000</code>--> - </td></tr> - <tr valign=top align=left><td> - <code>H5FD_LOG_TIME_IO</code> - <!--</td><td> - <code>0x3E00</code>--> - </td><td> - Track the time spent in each of the above operations. - The logical equivalent of the following: - </td></tr> - <tr valign=top align=left><td> - <code> </code> - </td><td> - <code>(H5FD_LOG_TIME_OPEN | H5FD_LOG_TIME_READ | H5FD_LOG_TIME_WRITE - | H5FD_LOG_TIME_SEEK | H5FD_LOG_TIME_CLOSE)</code> - </td></tr> - - <tr valign=top align=left><td> - <hr> - <code>H5FD_LOG_ALLOC</code> - <!--</td><td> - <code>0x4000</code>--> - </td><td> - <hr> - Track the allocation of space in the file. - </td></tr> - - <tr valign=top align=left><td> - <hr> - <code>H5FD_LOG_ALL</code> - <!--</td><td> - <code>0xFFFF -- all possible - <br>0x8FFF -- all current at r1.6</code>--> - </td><td> - <hr> - Track everything. - The logical equivalent of the following: - </td></tr> - <tr valign=top align=left><td> - <code> </code> - </td><td> - <code>(H5FD_LOG_ALLOC | H5FD_LOG_TIME_IO | H5FD_LOG_NUM_IO | H5FD_LOG_FLAVOR - |H5FD_LOG_FILE_IO | H5FD_LOG_LOC_IO)</code> - </td></tr> - - <tr valign=top align=left><td> - <hr> - </td><td> - <hr> - </td></tr> - - </table> - </center> - - <p> - The logging driver can track the number of times - each byte in the file is read from or written to - (using <code>H5FD_LOG_FILE_READ</code> and <code>H5FD_LOG_FILE_WRITE</code>) - and what kind of data is at that location - (e.g., meta data, raw data; using <code>H5FD_LOG_FLAVOR</code>). - This information is tracked in a buffer of size <code>buf_size</code>, - which must be at least the size in bytes of the file to be logged. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>char *</em><code>logfile</code></td> - <td valign="top">IN: Name of the log file.</td></tr> - <tr> - <td valign="top"><em>unsigned int</em> <code>flags </code></td> - <td valign="top">IN: Flags specifying the types of logging activity.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>buf_size</code></td> - <td valign="top">IN: The size of the logging buffer.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns non-negative if successful. - Otherwise returns negative. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_mpio" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplMpio">H5Pset_fapl_mpio</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_mpio</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>MPI_Comm</em> <code>comm</code>, - <em>MPI_Info</em> <code>info</code> - ) - <dt><strong>Purpose:</strong> - <dd>Stores MPI IO communicator information to the file access property list. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_mpio</code> stores the user-supplied - MPI IO parameters <code>comm</code>, for communicator, and - <code>info</code>, for information, in - the file access property list <code>fapl_id</code>. - That property list can then be used to create and/or open the file. - <p> - <code>H5Pset_fapl_mpio</code> is available only in the - parallel HDF5 library and is not a collective function. - <p> - <code>comm</code> is the MPI communicator to be used for - file open as defined in <code>MPI_FILE_OPEN</code> of MPI-2. - This function does not create a duplicated communicator. - Modifications to <code>comm</code> after this function call - returns may have an undetermined effect on the access property list. - Users should not modify the communicator while it is defined - in a property list. - <p> - <code>info</code> is the MPI info object to be used for - file open as defined in <code>MPI_FILE_OPEN</code> of MPI-2. - This function does not create a duplicated info object. - Any modification to the info object after this function call - returns may have an undetermined effect on the access property list. - Users should not modify the info while it is defined - in a property list. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>MPI_Comm</em> <code>comm </code></td> - <td valign="top">IN: MPI-2 communicator.</td></tr> - <tr> - <td valign="top"><em>MPI_Info</em> <code>info</code></td> - <td valign="top">IN: MPI-2 info object.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fapl_mpio_f - <dd> - <pre> -SUBROUTINE h5pset_fapl_mpio_f(prp_id, comm, info, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: comm ! MPI communicator to be used for - ! file open as defined in - ! MPI_FILE_OPEN of MPI-2 - INTEGER, INTENT(IN) :: info ! MPI info object to be used for - ! file open as defined in - ! MPI_FILE_OPEN of MPI-2 - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fapl_mpio_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pget_fapl_mpio" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplMpiPosix">H5Pset_fapl_mpiposix</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_mpiposix</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>MPI_Comm</em> <code>comm</code> - ) - <dt><strong>Purpose:</strong> - <dd>Stores MPI IO communicator information to a file access property list. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_mpiposix</code> stores the user-supplied - MPI IO parameter <code>comm</code>, for communicator, - in the file access property list <code>fapl_id</code>. - That property list can then be used to create and/or open the file. - <p> - <code>H5Pset_fapl_mpiposix</code> is available only in the - parallel HDF5 library and is not a collective function. - <p> - <code>comm</code> is the MPI communicator to be used for - file open as defined in <code>MPI_FILE_OPEN</code> of MPI-2. - This function does not create a duplicated communicator. - Modifications to <code>comm</code> after this function call - returns may have an undetermined effect on the access property list. - Users should not modify the communicator while it is defined - in a property list. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>MPI_Comm</em> <code>comm </code></td> - <td valign="top">IN: MPI-2 communicator.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fapl_mpiposix_f - <dd> - <pre> -SUBROUTINE h5pset_fapl_mpiposix_f(prp_id, comm, use_gpfs, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: comm ! MPI communicator to be used - ! for file open as defined in - ! MPI_FILE_OPEN of MPI-2 - LOGICAL, INTENT(IN) :: use_gpfs - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5pset_fapl_mpiposix_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_multi" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplMulti">H5Pset_fapl_multi</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_multi</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>const H5FD_mem_t *</em><code>memb_map</code>, - <em>const hid_t *</em><code>memb_fapl</code>, - <em>const char * const *</em><code>memb_name</code>, - <em>const haddr_t *</em><code>memb_addr</code>, - <em>hbool_t</em> <code>relax</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets up use of the multi-file driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_multi</code> sets the file access property list - <code>fapl_id</code> to use the multi-file driver. - <p> - The multi-file driver enables different types of HDF5 data and - metadata to be written to separate files. These files are viewed - by the HDF5 library and the application as a single virtual HDF5 file - with a single HDF5 file address space. - The types of data that can be broken out into separate files include - raw data, the superblock, B-tree data, global heap data, - local heap data, and object headers. - At the programmer's discretion, two or more types of data can be - written to the same file while other types of data are written to - separate files. - <p> - The array <code>memb_map</code> maps memory usage types to other - memory usage types and is the mechanism that allows the caller - to specify how many files are created. - The array contains <code>H5FD_MEM_NTYPES</code> entries, - which are either the value <code>H5FD_MEM_DEFAULT</code> - or a memory usage type. - The number of unique values determines the number of files - that are opened. - <p> - The array <code>memb_fapl</code> contains a property list - for each memory usage type that will be associated with a file. - <p> - The array <code>memb_name</code> should be a name generator - (a printf-style format with a %s which will be replaced with the - name passed to <code>H5FDopen</code>, usually from - <code>H5Fcreate</code> or <code>H5Fopen</code>). - <p> - The array <code>memb_addr</code> specifies the offsets within the - virtual address space, from <code>0</code> (zero) to - <code>HADDR_MAX</code>, at which each type of data storage begins. - <p> - If <code>relax</code> is set to <code>TRUE</code> (or <code>1</code>), - then opening an existing file for read-only access will not fail - if some file members are missing. - This allows a file to be accessed in a limited sense if just the - meta data is available. - <p> - Default values for each of the optional arguments are as follows: - <dir> - <dl> - <dt><code>memb_map</code> - <dd>The default member map contains the value - <code>H5FD_MEM_DEFAULT</code> for each element. - <dt><code>memb_fapl</code> - <dd>The default value is <code>H5P_DEFAULT</code> for each element. - <dt><code>memb_name</code> - <dd>The default string is <code>%s-<i>X</i>.h5</code> - where <code><i>X</i></code> is one of the - following letters: - <dir> - <code>s</code> for <code>H5FD_MEM_SUPER</code> - <br> - <code>b</code> for <code>H5FD_MEM_BTREE</code> - <br> - <code>r</code> for <code>H5FD_MEM_DRAW</code> - <br> - <code>g</code> for <code>H5FD_MEM_GHEAP</code> - <br> - <code>l</code> for <code>H5FD_MEM_LHEAP</code> - <br> - <code>o</code> for <code>H5FD_MEM_OHDR</code> - </dir></dd></dt> -<!-- NEW PAGE --> - <dt><code>memb_addr</code> - <dd>The default value is <code>HADDR_UNDEF</code> for each element. - </dl> - </dir> - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>const H5FD_mem_t *</em><code>memb_map </code></td> - <td valign="top">IN: Maps memory usage types to other memory usage types.</td></tr> - <tr> - <td valign="top"><em>const hid_t *</em><code>memb_fapl</code></td> - <td valign="top">IN: Property list for each memory usage type.</td></tr> - <tr> - <td valign="top"><em>const char * const *</em><code>memb_name</code></td> - <td valign="top">IN: Name generator for names of member files.</td></tr> - <tr> - <td valign="top"><em>const haddr_t *</em><code>memb_addr</code></td> - <td valign="top">IN: The offsets within the virtual address space, - from <code>0</code> (zero) to <code>HADDR_MAX</code>, - at which each type of data storage begins.</td></tr> - <tr> - <td valign="top"><em>hbool_t</em> <code>relax</code></td> - <td valign="top">IN: Allows read-only access to incomplete file sets - when <code>TRUE</code>.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Example:</strong> - <dd>The following code sample sets up a multi-file access property list - that partitions data into meta and raw files, each being - one-half of the address: - <pre> - H5FD_mem_t mt, memb_map[H5FD_MEM_NTYPES]; - hid_t memb_fapl[H5FD_MEM_NTYPES]; - const char *memb[H5FD_MEM_NTYPES]; - haddr_t memb_addr[H5FD_MEM_NTYPES]; - - // The mapping... - for (mt=0; mt<H5FD_MEM_NTYPES; mt++) { - memb_map[mt] = H5FD_MEM_SUPER; - } - memb_map[H5FD_MEM_DRAW] = H5FD_MEM_DRAW; - - // Member information - memb_fapl[H5FD_MEM_SUPER] = H5P_DEFAULT; - memb_name[H5FD_MEM_SUPER] = "%s.meta"; - memb_addr[H5FD_MEM_SUPER] = 0; - - memb_fapl[H5FD_MEM_DRAW] = H5P_DEFAULT; - memb_name[H5FD_MEM_DRAW] = "%s.raw"; - memb_addr[H5FD_MEM_DRAW] = HADDR_MAX/2; - - hid_t fapl = H5Pcreate(H5P_FILE_ACCESS); - H5Pset_fapl_multi(fapl, memb_map, memb_fapl, - memb_name, memb_addr, TRUE); - </pre> - - <dt><strong>Fortran90 Interface:</strong> h5pset_fapl_multi_f - <dd> - <pre> -SUBROUTINE h5pset_fapl_multi_f(prp_id, memb_map, memb_fapl, memb_name, - memb_addr, relax, hdferr) - IMPLICIT NONE - INTEGER(HID_T),INTENT(IN) :: prp_id ! Property list identifier - - INTEGER,DIMENSION(0:H5FD_MEM_NTYPES_F-1),INTENT(IN) :: memb_map - INTEGER(HID_T),DIMENSION(0:H5FD_MEM_NTYPES_F-1),INTENT(IN) :: memb_fapl - CHARACTER(LEN=*),DIMENSION(0:H5FD_MEM_NTYPES_F-1),INTENT(IN) :: memb_name - REAL, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_addr - ! Numbers in the interval [0,1) (e.g. 0.0 0.1 0.5 0.2 0.3 0.4) - ! real address in the file will be calculated as X*HADDR_MAX - - LOGICAL, INTENT(IN) :: relax - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fapl_multi_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_sec2" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplSec2">H5Pset_fapl_sec2</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_sec2</code>( - <em>hid_t</em> <code>fapl_id</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the sec2 driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_sec2</code> modifies the file access property list - to use the <code>H5FD_SEC2</code> driver. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id </code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fapl_sec2_f - <dd> - <pre> -SUBROUTINE h5pset_fapl_sec2_f(prp_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fapl_sec2_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_split" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplSplit">H5Pset_fapl_split</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_split</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>const char *</em><code>meta_ext</code>, - <em>hid_t</em> <code>meta_plist_id</code>, - <em>const char *</em><code>raw_ext</code>, - <em>hid_t</em> <code>raw_plist_id</code> - ) - <dt><strong>Purpose:</strong> - <dd>Emulates the old split file driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_split</code> is a compatibility function that - enables the multi-file driver to emulate the split driver from - HDF5 Releases 1.0 and 1.2. - The split file driver stored metadata and raw data in separate files - but provided no mechanism for separating types of metadata. - <p> - <code>fapl_id</code> is a file access property list identifier. - <p> - <code>meta_ext</code> is the filename extension for the metadata file. - The extension is appended to the name passed to <code>H5FDopen</code>, - usually from <code>H5Fcreate</code> or <code>H5Fopen</code>, - to form the name of the metadata file. - If the string %s is used in the extension, it works like the - name generator as in <code>H5Pset_fapl_multi</code>. - <p> - <code>meta_plist_id</code> is the file access property list identifier - for the metadata file. - <p> - <code>raw_ext</code> is the filename extension for the raw data file. - The extension is appended to the name passed to <code>H5FDopen</code>, - usually from <code>H5Fcreate</code> or <code>H5Fopen</code>, - to form the name of the rawdata file. - If the string %s is used in the extension, it works like the - name generator as in <code>H5Pset_fapl_multi</code>. - <p> - <code>raw_plist_id</code> is the file access property list identifier - for the raw data file. - <p> - If a user wishes to check to see whether this driver is in use, - the user must call <code>H5Pget_driver</code> and compare the - returned value to the string <code>H5FD_MULTI</code>. - A positive match will confirm that the multi driver is in use; - HDF5 provides no mechanism to determine whether it was called - as the special case invoked by <code>H5Pset_fapl_split</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code>,</td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>meta_ext, </code></td> - <td valign="top">IN: Metadata filename extension.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>meta_plist_id</code>,</td> - <td valign="top">IN: File access property list identifier for the metadata file.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>raw_ext</code>,</td> - <td valign="top">IN: Raw data filename extension.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>raw_plist_id</code></td> - <td valign="top">IN: File access property list identifier for the raw data file.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Example:</strong> - <dd> - <pre> -/* Example 1: Both metadata and rawdata files are in the same */ -/* directory. Use Station1-m.h5 and Station1-r.h5 as */ -/* the metadata and rawdata files. */ -hid_t fapl, fid; -fapl = H5Pcreate(H5P_FILE_ACCESS); -H5Pset_fapl_split(fapl, "-m.h5", H5P_DEFAULT, "-r.h5", H5P_DEFAULT); -fid=H5Fcreate("Station1",H5F_ACC_TRUNC,H5P_DEFAULT,fapl); - -/* Example 2: metadata and rawdata files are in different */ -/* directories. Use PointA-m.h5 and /pfs/PointA-r.h5 as */ -/* the metadata and rawdata files. */ -hid_t fapl, fid; -fapl = H5Pcreate(H5P_FILE_ACCESS); -H5Pset_fapl_split(fapl, "-m.h5", H5P_DEFAULT, "/pfs/%s-r.h5", H5P_DEFAULT); -fid=H5Fcreate("PointA",H5F_ACC_TRUNC,H5P_DEFAULT,fapl);</pre> - </dt> - - <dt><strong>Fortran90 Interface:</strong> h5pset_fapl_split_f - <dd> - <pre> -SUBROUTINE h5pset_fapl_split_f(prp_id, meta_ext, meta_plist, raw_ext, & - raw_plist, hdferr) - IMPLICIT NONE - INTEGER(HID_T),INTENT(IN) :: prp_id ! Property list identifier - CHARACTER(LEN=*),INTENT(IN) :: meta_ext ! Name of the extension for - ! the metafile filename - INTEGER(HID_T),INTENT(IN) :: meta_plist ! Identifier of the meta file - ! access property list - CHARACTER(LEN=*),INTENT(IN) :: raw_ext ! Name extension for the raw - ! file filename - INTEGER(HID_T),INTENT(IN) :: raw_plist ! Identifier of the raw file - ! access property list - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fapl_split_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_srb" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplSrb">H5Pset_fapl_srb</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_srb</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>SRB_Info</em> <code>info</code> - ) - <dt><strong>Purpose:</strong> - <dd>Saves SRB connection handler and sets SRB settings. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_srb</code> stores the SRB client-to-server - connection handler <code>SRB_CONN</code> after the connection - is established and other user-supplied SRB information. - <p> - The user-supplied SRB information is contained in the - <em>SRB_Info</em> struct pointed to by <code>info</code> - and is stored in the file access property list <code>fapl_id</code>. - This information can then be used to create or open a file. - <dt><strong>Note:</strong> - <dd><code>H5Pset_fapl_gass</code> is an experimental function. - It is designed for use only when accessing files via the - Storage Resource Broker (SRB). For further information, see - <a href="http://www.npaci.edu/Research/DI/srb/">http//www.npaci.edu/Research/DI/srb/</a>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id </code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>SRB_Info</em> <code>info</code></td> - <td valign="top">IN: Pointer to the SRB information structure.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_stdio" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplStdio">H5Pset_fapl_stdio</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_stdio</code>( - <em>hid_t</em> <code>fapl_id</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the standard I/O driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_stdio</code> modifies the file access property list - to use the standard I/O driver, <code>H5FD_STDIO</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id </code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fapl_stdio_f - <dd> - <pre> -SUBROUTINE h5pset_fapl_stdio_f(prp_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fapl_stdio_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_stream" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFaplStream">H5Pset_fapl_stream</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fapl_stream</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>H5FD_stream_fapl_t *</em><code>fapl</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets up the use of the streaming I/O driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fapl_stream</code> sets up the use of the - streaming I/O driver. - <p> - <code>fapl_id</code> is the identifier for the - file access property list currently in use. - <p> - <code>fapl</code> is the file access property list. - <p> - The <code>H5FD_stream_fapl_t</code> struct contains the following - elements: - <dir> - <table border=0> - <tr align=left> - <td><em>size_t</em></td> - <td><code>increment</code></td></tr> - <tr align=left> - <td><em><font size=-1>H5FD_STREAM_SOCKET_TYPE</font></em></td> - <td><code>socket</code></td></tr> - <tr align=left> - <td><em>hbool_t</em></td> - <td><code>do_socket_io</code></td></tr> - <tr align=left> - <td><em>unsigned int</em></td> - <td><code>backlog</code></td></tr> - <tr align=left> - <td><em><font size=-1>H5FD</font>_stream_broadcast_t</em></td> - <td><code>broadcast_fn</code></td></tr> - <tr align=left> - <td><em>void *</em></td> - <td><code>broadcast_arg</code></td></tr> - </table> - <ul> - <li><code>increment</code> specifies how much memory to allocate - each time additional memory is required. - <li><code>socket</code> is an external socket descriptor; - if a valid socket argument is provided, that socket will be used. - <li><code>do_socket_io</code> is a boolean value specifying whether - to perform I/O on <code>socket</code>. - <li><code>backlog</code> is the argument for the - <code>listen</code> call. - <li><code>broadcast_fn</code> is the broadcast callback function. - <li><code>broadcast_arg</code> is the user argument to - the broadcast callback function. - </ul> - </dir> - <p> - <code>H5Pset_fapl_stream</code> and <code>H5Pget_fapl_stream</code> - are not intended for use in a parallel environment. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5FD_stream_fapl_t *</em><code>fapl </code></td> - <td valign="top">IN: The streaming I/O file access property list.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fclose_degree" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFcloseDegree">H5Pset_fclose_degree</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fclose_degree</code>(<em>hid_t</em> <code>fapl_id</code>, - <em>H5F_close_degree_t</em> <code>fc_degree</code>) - <dt><strong>Purpose:</strong> - <dd>Sets the file close degree. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fclose_degree</code> sets the file close degree property <code>fc_degree</code> - in the file access property list <code>fapl_id</code>. - <p> The value of <code>fc_degree</code> determines how aggressively <code>H5Fclose</code> - deals with objects within a file that remain open when <code>H5Fclose</code> - is called to close that file. <code>fc_degree</code> can have any one of - four valid values: - <div align="center"> - <table width="75%" border="1" cellpadding="3"> - <tr> - <th valign="top">Degree name</th> - <th valign="top"><code>H5Fclose</code> behavior with no open object - in file</th> - <th valign="top"><code>H5Fclose</code> behavior with open object(s) - in file</th> - </tr> - <tr> - <td valign="top"><code>H5F_CLOSE_WEAK</code></td> - <td valign="top">Actual file is closed.</td> - <td valign="top">Access to file identifier is terminated; actual file - close is delayed until all objects in file are closed</td> - </tr> - <tr> - <td valign="top"><code>H5F_CLOSE_SEMI</code></td> - <td valign="top">Actual file is closed.</td> - <td valign="top">Function returns FAILURE</td> - </tr> - <tr> - <td valign="top"><code>H5F_CLOSE_STRONG</code></td> - <td valign="top">Actual file is closed.</td> - <td valign="top">All open objects remaining in the file are closed then - file is closed</td> - </tr> - <tr> - <td valign="top"><code>H5F_CLOSE_DEFAULT</code></td> - <td colspan="2" valign="top">The VFL driver chooses the behavior. Currently, - all VFL drivers set this value to <code>H5F_CLOSE_WEAK</code>, except - for the MPI-I/O driver, which sets it to <code>H5F_CLOSE_SEMI</code>. - </td> - </tr> - </table> - </div> - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5F_close_degree_t</em> <code>fc_degree </code></td> - <td valign="top">IN: Pointer to a location containing the file close degree property, - the value of <code>fc_degree</code>.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. Otherwise returns a negative - value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fclose_degree_f - <dd> - <pre> -SUBROUTINE h5pset_fclose_degree_f(fapl_id, degree, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: fapl_id ! File access property list identifier - INTEGER, INTENT(IN) :: degree ! Info about file close behavior - ! Possible values: - ! H5F_CLOSE_DEFAULT_F - ! H5F_CLOSE_WEAK_F - ! H5F_CLOSE_SEMI_F - ! H5F_CLOSE_STRONG_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fclose_degree_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- HEADER RIGHT "H5Pset_fill_time" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFillTime">H5Pset_fill_time</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_fill_time</code>(<em>hid_t</em> <code>plist_id</code>, - <em>H5D_fill_time_t</em> <code>fill_time</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the time when fill values are written to a dataset. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fill_time</code> sets up the timing for writing fill values - to a dataset. - This property is set in the dataset creation property list <code>plist_id</code>. - <p> - Timing is specified in <code>fill_time</code> with one of the following values: - <table border=0 > - <tr valign="top"><td> </td><td> - <code>H5D_FILL_TIME_IFSET</code> - </td><td> - Write fill values to the dataset when storage space is allocated - only if there is a user-defined fill value, i.e., one set with - <a href="#Property-SetFillValue">H5Pset_fill_value</a>. - (Default) - </td></tr><tr valign="top"><td> </td><td> - <code>H5D_FILL_TIME_ALLOC</code> - </td><td> - Write fill values to the dataset when storage space is allocated. - </td></tr><tr valign="top"><td> </td><td> - <code>H5D_FILL_TIME_NEVER</code> - </td><td> - Never write fill values to the dataset. - </td></tr></table> - <dt><strong>Note:</strong> - <dd><code>H5Pset_fill_time</code> is designed for coordination - with the dataset fill value and - dataset storage allocation time properties, set with the functions - <code>H5Pset_fill_value</code> and <code>H5Pset_alloc_time</code>. - <p> - See <a href="RM_H5D.html#Dataset-Create">H5Dcreate</a> for - further cross-references. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5D_fill_time_t</em> <code>fill_time </code></td> - <td valign="top">IN: When to write fill values to a dataset.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fill_time_f - <dd> - <pre> -SUBROUTINE h5pset_fill_time_f(plist_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset creation property - ! list identifier - INTEGER(HSIZE_T), INTENT(IN) :: flag ! File time flag - ! Possible values are: - ! H5D_FILL_TIME_ERROR_F - ! H5D_FILL_TIME_ALLOC_F - ! H5D_FILL_TIME_NEVER_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fill_time_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fill_value" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFillValue">H5Pset_fill_value</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fill_value</code>(<em>hid_t</em> <code>plist_id</code>, - <em>hid_t</em> <code>type_id</code>, - <em>const void *</em><code>value</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the fill value for a dataset. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fill_value</code> sets the fill value for - a dataset in the dataset creation property list. - <p> - <code>value</code> is interpreted as being of datatype - <code>type_id</code>. This datatype may differ from that of - the dataset, but the HDF5 library must be able to convert - <code>value</code> to the dataset datatype when the dataset - is created. - <p> - The default fill value is <code>0</code> (zero), which is - interpreted according to the actual dataset datatype. - <p> - Setting <code>value</code> to <code>NULL</code> indicates - that the fill value is to be undefined. - <dt><strong>Notes:</strong> - <dd> Applications sometimes write data only to portions of - an allocated dataset. It is often useful in such cases - to fill the unused space with a known - <span class="termEmphasis">fill value</span>. - This function allows the user application to set that fill value; - the functions - <a href="RM_H5D.html#Dataset-Fill">H5Dfill</a> and - <a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a>, - respectively, provide the ability - to apply the fill value on demand or - to set up its automatic application. - <p> - A fill value should be defined so that it is appropriate for - the application. While the HDF5 default fill value is - <code>0</code> (zero), it is often appropriate to use another value. - It might be useful, for example, to use a value that is - known to be impossible for the application to legitimately generate. - <p> - <code>H5Pset_fill_value</code> is designed to work in - concert with <code>H5Pset_alloc_time</code> and - <code>H5Pset_fill_time</code>. - <code>H5Pset_alloc_time</code> and <code>H5Pset_fill_time</code> - govern the timing of dataset storage allocation and fill value - write operations and can be important in tuning application - performance. - <p> - See <a href="RM_H5D.html#Dataset-Create">H5Dcreate</a> for - further cross-references. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code>,</td> - <td valign="top">IN: Datatype of <code>value</code>.</td></tr> - <tr> - <td valign="top"><em>const void *</em><code>value </code></td> - <td valign="top">IN: Pointer to buffer containing value to use as fill value.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fill_value_f - <dd> - <pre> -SUBROUTINE h5pset_fill_value_f(prp_id, type_id, fillvalue, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of fill - ! value datatype (in memory) - TYPE(VOID), INTENT(IN) :: fillvalue ! Fillvalue - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fill_value_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_filter" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFilter">H5Pset_filter</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_filter</code>(<em>hid_t</em> <code>plist</code>, - <em>H5Z_filter_t</em> <code>filter</code>, - <em>unsigned int</em> <code>flags</code>, - <em>size_t</em> <code>cd_nelmts</code>, - <em>const unsigned int</em> <code>cd_values[]</code> - ) - <dt><strong>Purpose:</strong> - <dd>Adds a filter to the filter pipeline. - <dt><strong>Description:</strong> - <dd><code>H5Pset_filter</code> adds the specified - <code>filter</code> and corresponding properties to the - end of an output filter pipeline. - If <code>plist</code> is a dataset creation property list, - the filter is added to the permanent filter pipeline; - if <code>plist</code> is a dataset transfer property list, - the filter is added to the transient filter pipeline. - <p> - The array <code>cd_values</code> contains - <code>cd_nelmts</code> integers which are auxiliary data - for the filter. The integer values will be stored in the - dataset object header as part of the filter information. - <p> - The <code>flags</code> argument is a bit vector with - the following fields specifying certain general properties - of the filter: - <center> - <table align=center width="75%"> - <tr valign=top> - <td valign=top><code>H5Z_FLAG_OPTIONAL</code> </td> - <td valign=top>If this bit is set then the filter is - optional. If the filter fails (see below) during an - <code>H5Dwrite</code> 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 <code>H5Dread</code> 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. If this bit is - clear and a filter fails, then <code>H5Dwrite</code> - or <code>H5Dread</code> also fails. - <p> - 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> - </table> - </center> - <p> - The <code>filter</code> parameter specifies the filter to be set. - Valid filter identifiers are as follows: - - <center> - <table width=75%> - <tr valign=top align=left><td> - <code>H5Z_FILTER_DEFLATE</code> - </td><td> - Data compression filter, employing the gzip algorithm - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_SHUFFLE</code> - </td><td> - Data shuffling filter - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_FLETCHER32 </code> - </td><td> - Error detection filter, employing the Fletcher32 checksum algorithm - </td></tr> - <tr valign=top align=left><td> - <code>H5Z_FILTER_SZIP</code> - </td><td> - Data compression filter, employing the SZIP algorithm - </td></tr> - </table> - </center> - <p> - Also see <a href="#Property-SetEdcCheck">H5Pset_edc_check</a> and - <a href="Property-SetFilterCallback">H5Pset_filter_callback</a>. - - <dt><strong>Notes:</strong> - <dd>This function currently supports only the permanent filter - pipeline; <code>plist</code> must be a dataset creation - property list. - <p> - If multiple filters are set for a property list, they will be - applied to each chunk in the order in which they were set. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5Z_filter_t</em> <code>filter</code></td> - <td valign="top">IN: Filter identifier for the filter - to be added to the pipeline.</td></tr> - <tr> - <td valign="top"><em>unsigned int</em> <code>flags</code></td> - <td valign="top">IN: Bit vector specifying certain general properties - of the filter.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>cd_nelmts</code></td> - <td valign="top">IN: Number of elements in <code>cd_values</code>.</td></tr> - <tr> - <td valign="top"><em>const unsigned int</em> <code>cd_values[] </code></td> - <td valign="top">IN: Auxiliary data for the filter.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_filter_f - <dd> - <pre> -SUBROUTINE h5pset_filter_f(prp_id, filter, flags, cd_nelmts, cd_values, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: filter ! Filter to be added to the pipeline - INTEGER, INTENT(IN) :: flags ! Bit vector specifying certain - ! general properties of the filter - INTEGER(SIZE_T), INTENT(IN) :: cd_nelmts - ! Number of elements in cd_values - INTEGER, DIMENSION(*), INTENT(IN) :: cd_values - ! Auxiliary data for the filter - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_filter_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_filter_callback" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFilterCallback">H5Pset_filter_callback</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_filter_callback</code>(<em>hid_t</em> <code>plist</code>, - <em>H5Z_filter_func_t</em> <code>func</code>, - <em>void *</em><code>op_data</code>) - <dt><strong>Purpose:</strong> - <dd>Sets user-defined filter callback function. - <dt><strong>Description:</strong> - <dd><code>H5Pset_filter_callback</code> sets the user-defined - filter callback function <code>func</code> in the - dataset transfer property list <code>plist</code>. - <p> - The parameter <code>op_data</code> is a pointer to user-defined - input data for the callback function and will be passed through - to the callback function. - <p> - The callback function <code>func</code> defines the actions - an application is to take when a filter fails. - The function prototype is as follows: - <dir> - <code>typedef</code> <em>H5Z_cb_return_t</em> (<code>H5Z_filter_func_t</code>) - (<em>H5Z_filter_t</em> <code>filter</code>, - <em>void *</em><code>buf</code>, - <em>size_t</em> <code>buf_size</code>, - <em>void *</em><code>op_data</code>) - </dir> - <p> - where <code>filter</code> indicates which filter has failed, - <code>buf</code> and <code>buf_size</code> are used to pass in - the failed data, - and <code>op_data</code> is the required input data for this - callback function. - <p> - Valid callback function return values are - <code>H5Z_CB_FAIL</code> and <code>H5Z_CB_CONT</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Dataset transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5Z_filter_func_t</em> <code>func </code></td> - <td valign="top">IN: User-defined filter callback function.</td></tr> - <tr> - <td valign="top"><em>void *</em><code>op_data</code></td> - <td valign="top">IN: User-defined input data for the callback function.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fletcher32" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetFletcher32">H5Pset_fletcher32</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_fletcher32</code>(<em>hid_t</em> <code>plist</code>) - <dt><strong>Purpose:</strong> - <dd>Sets up use of the Fletcher32 checksum filter. - <dt><strong>Description:</strong> - <dd><code>H5Pset_fletcher32</code> sets the Fletcher32 checksum filter - in the dataset creation property list <code>plist</code>. - <dt><strong>Note:</strong> - <dd>The initial error detection implementation supports - error detection for chunked datasets only. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_fletcher32_f - <dd> - <pre> -SUBROUTINE h5pset_fletcher32_f(prp_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset creation property list - ! identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_fletcher32_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_gc_references" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetGCReferences">H5Pset_gc_references</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_gc_reference</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned</em> <code>gc_ref</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets garbage collecting references flag. - <dt><strong>Description:</strong> - <dd><code>H5Pset_gc_references</code> sets the flag for - garbage collecting references for the file. - <p> - Dataset region references and other reference types use space - in an HDF5 file's global heap. If garbage collection is on - and the user passes in an uninitialized value in a reference structure, - the heap might get corrupted. When garbage collection is off, however, - and the user re-uses a reference, the previous heap block will be - orphaned and not returned to the free heap space. - <p> - When garbage collection is on, the user must initialize the - reference structures to 0 or risk heap corruption. - <p> - The default value for garbage collecting references is off. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>gc_ref </code></td> - <td valign="top">IN: Flag setting reference garbage collection to - on (<code>1</code>) or off (<code>0</code>).</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_gc_references_f - <dd> - <pre> -SUBROUTINE h5pset_gc_references_f (prp_id, gc_reference, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: gc_reference ! Flag for garbage collecting - ! references for the file - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_gc_references_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_hyper_vector_size" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetHyperVectorSize">H5Pset_hyper_vector_size</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_hyper_vector_size</code>(<em>hid_t</em> <code>dxpl_id</code>, - <em>size_t</em> <code>vector_size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets number of I/O vectors to be read/written in hyperslab I/O. - <dt><strong>Description:</strong> - <dd><code>H5Pset_hyper_vector_size</code> sets the number of - I/O vectors to be accumulated in memory before being issued - to the lower levels of the HDF5 library for reading or writing the - actual data. - <p> - The <em>I/O vectors</em> are hyperslab offset and length pairs - and are generated during hyperslab I/O. - <p> - The number of I/O vectors is passed in <code>vector_size</code> - to be set in the dataset transfer property list <code>dxpl_id</code>. - <code>vector_size</code> must be greater than <code>1</code> (one). - <p> - <code>H5Pset_hyper_vector_size</code> is an I/O optimization function; - increasing <code>vector_size</code> should provide better performance, - but the library will use more memory during hyperslab I/O. - The default value of <code>vector_size</code> is <code>1024</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dxpl_id</code></td> - <td valign="top">IN: Dataset transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>vector_size </code></td> - <td valign="top">IN: Number of I/O vectors to accumulate in memory for I/O operations. - Must be greater than <code>1</code> (one). Default value: <code>1024</code>.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_hyper_vector_size_f - <dd> - <pre> -SUBROUTINE h5pset_hyper_vector_size_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset transfer property list - ! identifier - INTEGER(SIZE_T), INTENT(IN) :: size ! Vector size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_hyper_vector_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_istore_k" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetIstoreK">H5Pset_istore_k</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_istore_k</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned</em> <code>ik</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the size of the parameter used to control the - B-trees for indexing chunked datasets. - <dt><strong>Description:</strong> - <dd><code>H5Pset_istore_k</code> sets the size of the parameter - used to control the B-trees for indexing chunked datasets. - This function is only valid for file creation property lists. - <p> - <code>ik</code> is one half the rank of a tree that stores - chunked raw data. On average, such a tree will be 75% full, - or have an average rank of 1.5 times the value of - <code>ik</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier of property list to query.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>ik</code></td> - <td valign="top">IN: 1/2 rank of chunked storage B-tree.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_istore_k_f - <dd> - <pre> -SUBROUTINE h5pset_istore_k_f (prp_id, ik, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: ik ! 1/2 rank of chunked storage B-tree - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_istore_k_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_layout" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetLayout">H5Pset_layout</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_layout</code>(<em>hid_t</em> <code>plist</code>, - <em>H5D_layout_t</em> <code>layout</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the type of storage used to store the raw data for a dataset. - <dt><strong>Description:</strong> - <dd><code>H5Pset_layout</code> sets the type of storage used to store the - raw data for a dataset. - This function is only valid for dataset creation property lists. - <p> - Valid values for <code>layout</code> are: - <ul><dl> - <dt>H5D_COMPACT - <dd>Store raw data in the dataset object header in file. - This should only be used for very small amounts of raw - data. - The current limit is approximately 64K (HDF5 Release 1.6). - <dt>H5D_CONTIGUOUS - <dd>Store raw data separately from the object header in one - large chunk in the file. - <dt>H5D_CHUNKED - <dd>Store raw data separately from the object header as - chunks of data in separate locations in the file. - </dl></ul> - <p> - Note that a compact storage layout may affect writing data to - the dataset with parallel applications. See note in - <a href="RM_H5D.html#Dataset-Write">H5Dwrite</a> - documentation for details. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier of property list to query.</td></tr> - <tr> - <td valign="top"><em>H5D_layout_t</em> <code>layout </code></td> - <td valign="top">IN: Type of storage layout for raw data.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_layout_f - <dd> - <pre> -SUBROUTINE h5pset_layout_f (prp_id, layout, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: layout ! Type of storage layout for raw data - ! Possible values are: - ! H5D_COMPACT_F - ! H5D_CONTIGUOUS_F - ! H5D_CHUNKED_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_layout_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_mdc_config" --> -<!-- -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetMdcConfig">H5Pset_mdc_config</a> - <dt><strong>Signature:</strong> - <dt><strong>Purpose:</strong> - <dt><strong>Description:</strong> - <dt><strong>Parameters:</strong> - <dt><strong>Returns:</strong> - <dt><strong>Fortran90 Interface:</strong> -</dl> ---> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_meta_block_size" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetMetaBlockSize">H5Pset_meta_block_size</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_meta_block_size</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>hsize_t</em> <code>size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the minimum metadata block size. - <dt><strong>Description:</strong> - <dd><code>H5Pset_meta_block_size</code> sets the - minimum size, in bytes, of metadata block allocations when - <code>H5FD_FEAT_AGGREGATE_METADATA</code> is set by a VFL driver. - <p> - Each <i>raw</i> metadata block is initially allocated to be of the - given size. Specific metadata objects (e.g., object headers, - local heaps, B-trees) are then sub-allocated from this block. - <p> - The default setting is 2048 bytes, meaning that the library - will attempt to aggregate metadata in at least 2K blocks in the file. - Setting the value to <code>0</code> (zero) with this function - will turn off metadata aggregation, even if the VFL driver attempts - to use the metadata aggregation strategy. - <p> - Metadata aggregation reduces the number of small data objects - in the file that would otherwise be required for metadata. - The aggregated block of metadata is usually written in a - single write action and always in a contiguous block, - potentially significantly improving library and application - performance. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id </code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>size</code></td> - <td valign="top">IN: Minimum size, in bytes, of metadata block allocations.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_meta_block_size_f - <dd> - <pre> -SUBROUTINE h5pset_meta_block_size_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list - ! identifier - INTEGER(HSIZE_T), INTENT(IN) :: size ! Metadata block size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_meta_block_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_multi_type" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetMultiType">H5Pset_multi_type</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_multi_type</code> ( - <em>hid_t</em> <code>fapl_id</code>, - <em>H5FD_mem_t</em> <code>type</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets data type property for <code>MULTI</code> driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_multi_type</code> sets the data type property in the - file access or data transfer property list <code>fapl_id</code>. - This enables a user application to specify the type of data the - application wishes to access so that the application - can retrieve a file handle for low-level access to the particular member - of a set of <code>MULTI</code> files in which that type of data is stored. - The file handle is retrieved with a separate call - to <a href="RM_H5F.html#File-GetVfdHandle"><code>H5Fget_vfd_handle</code></a> - (or, in special circumstances, to <code>H5FDget_vfd_handle</code>; - see <cite>Virtual File Layer</cite> and <cite>List of VFL Functions</cite> - in <a href="TechNotes.html"><cite>HDF5 Technical Notes</cite></a>). - <p> - The type of data specified in <code>type</code> may be one of the following: - <table border=0> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_DEFAULT</code> - </td><td> - Need description.... - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_SUPER</code> - </td><td> - Super block ... need description.... - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_BTREE</code> - </td><td> - Btree ... need description.... - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_DRAW</code> - </td><td> - Need description.... - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_GHEAP</code> - </td><td> - Global heap ... need description.... - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_LHEAP</code> - </td><td> - Local Heap ... need description.... - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_OHDR</code> - </td><td> - Need description.... - </td></tr> - </table> - <p> - Use of this function is only appropriate for an HDF5 file written - as a set of files with the <code>MULTI</code> file driver. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list or data transfer property list identifier.</td></tr> - <tr> - <td valign="top"><em>H5FD_mem_t</em> <code>type </code></td> - <td valign="top">OUT: Type of data.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_preserve" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetPreserve">H5Pset_preserve</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_preserve</code>(<em>hid_t</em> <code>plist</code>, - <em>hbool_t</em> <code>status</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the dataset transfer property list status to TRUE or FALSE. - <dt><strong>Description:</strong> - <dd><code>H5Pset_preserve</code> sets the - dataset transfer property list status to TRUE or FALSE. - <p> - When reading or writing compound data types and the - destination is partially initialized and the read/write is - intended to initialize the other members, one must set this - property to TRUE. Otherwise the I/O pipeline treats the - destination datapoints as completely uninitialized. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier for the dataset transfer property list.</td></tr> - <tr> - <td valign="top"><em>hbool_t</em> <code>status </code></td> - <td valign="top">IN: Status of for the dataset transfer property list - (TRUE/FALSE).</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_preserve_f - <dd> - <pre> -SUBROUTINE h5pset_preserve_f(prp_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset transfer property - ! list identifier - LOGICAL, INTENT(IN) :: flag ! Status for the dataset - ! transfer property list - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_preserve_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_shuffle" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetShuffle">H5Pset_shuffle</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_shuffle</code>(<em>hid_t</em> <code>plist_id</code>) - <dt><strong>Purpose:</strong> - <dd>Sets up use of the shuffle filter. - <dt><strong>Description:</strong> - <dd><code>H5Pset_shuffle</code> sets the shuffle filter, - <code>H5Z_FILTER_SHUFFLE</code>, - in the dataset creation property list <code>plist_id</code>. - <p> - The shuffle filter <span class=termEmphasis>de-interlaces</span> - a block of data by reordering the bytes. - All the bytes from one consistent byte position of - each data element are placed together in one block; - all bytes from a second consistent byte position of - each data element are placed together a second block; etc. - For example, given three data elements of a 4-byte datatype - stored as <code>012301230123</code>, - shuffling will re-order data as <code>000111222333</code>. - This can be a valuable step in an effective compression - algorithm because the bytes in each byte position are often - closely related to each other and putting them together - can increase the compression ratio. - <p> - As implied above, the primary value of the shuffle filter - lies in its coordinated use with a compression filter; - it does not provide data compression when used alone. - When the shuffle filter is applied to a dataset - immediately prior to the use of a compression filter, - the compression ratio achieved is often superior to that - achieved by the use of a compression filter without - the shuffle filter. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id </code></td> - <td valign="top">IN: Dataset creation property list identifier.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_shuffle_f - <dd> - <pre> -SUBROUTINE h5pset_shuffle_f(prp_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_shuffle_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_sieve_buf_size" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetSieveBufSize">H5Pset_sieve_buf_size</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_sieve_buf_size</code>( - <em>hid_t</em> <code>fapl_id</code>, - <em>hsize_t</em> <code>size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the maximum size of the data sieve buffer. - <dt><strong>Description:</strong> - <dd><code>H5Pset_sieve_buf_size</code> sets <code>size</code>, - the maximum size in bytes of the data sieve buffer, which is - used by file drivers that are capable of using data sieving. - <p> - The data sieve buffer is used when performing I/O on datasets - in the file. Using a buffer which is large enough to hold - several pieces of the dataset being read in for - hyperslab selections boosts performance by quite a bit. - <p> - The default value is set to 64KB, indicating that file I/O for - raw data reads and writes will occur in at least 64KB blocks. - Setting the value to 0 with this API function will turn off the - data sieving, even if the VFL driver attempts to use that strategy. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id </code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>size</code></td> - <td valign="top">IN: Maximum size, in bytes, of data sieve buffer.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_sieve_buf_size_f - <dd> - <pre> -SUBROUTINE h5pset_sieve_buf_size_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list - ! identifier - INTEGER(SIZE_T), INTENT(IN) :: size ! Sieve buffer size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_sieve_buf_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_sizes" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetSizes">H5Pset_sizes</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_sizes</code>(<em>hid_t</em> <code>plist</code>, - <em>size_t</em> <code>sizeof_addr</code>, - <em>size_t</em> <code>sizeof_size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the byte size of the offsets and lengths used to address objects - in an HDF5 file. - <dt><strong>Description:</strong> - <dd><code>H5Pset_sizes</code> sets the byte size of the offsets - and lengths used to address objects in an HDF5 file. - This function is only valid for file creation property lists. - Passing in a value of 0 for one of the <code>sizeof_...</code> - parameters retains the current value. - The default value for both values is the same as - <code>sizeof(hsize_t)</code> in the library (normally 8 bytes). - Valid values currently are 2, 4, 8 and 16. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier of property list to modify.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>sizeof_addr </code></td> - <td valign="top">IN: Size of an object offset in bytes.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>sizeof_size</code></td> - <td valign="top">IN: Size of an object length in bytes.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_sizes_f - <dd> - <pre> -SUBROUTINE h5pset_sizes_f (prp_id, sizeof_addr, sizeof_size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(SIZE_T), INTENT(IN) :: sizeof_addr ! Size of an object offset - ! in bytes - INTEGER(SIZE_T), INTENT(IN) :: sizeof_size ! Size of an object length - ! in bytes - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_sizes_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_small_data_block_size" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetSmallData">H5Pset_small_data_block_size</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_small_data_block_size</code>(<em>hid_t</em> <code>fapl_id</code>, - <em>hsize_t</em> <code>size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the size of a contiguous block reserved for small data. - <dt><strong>Description:</strong> - <dd><code>H5Pset_small_data_block_size</code> reserves blocks of - <code>size</code> bytes for the contiguous storage of the raw data - portion of <em>small</em> datasets. - The HDF5 library then writes the raw data from small datasets - to this reserved space, thus reducing unnecessary discontinuities - within blocks of meta data and improving IO performance. - <p> - A small data block is actually allocated the first time a - qualifying small dataset is written to the file. - Space for the raw data portion of this small dataset is suballocated - within the small data block. - The raw data from each subsequent small dataset is also written to - the small data block until it is filled; additional small data blocks - are allocated as required. - <p> - The HDF5 library employs an algorithm that determines whether - IO performance is likely to benefit from the use of this mechanism - with each dataset as storage space is allocated in the file. - A larger <code>size</code> will result in this mechanism being - employed with larger datasets. - <p> - The small data block size is set as an allocation property in the - file access property list identified by <code>fapl_id</code>. - <p> - Setting <code>size</code> to zero (<code>0</code>) disables the - small data block mechanism. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id </code></td> - <td valign="top">IN: File access property list identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>size</code></td> - <td valign="top">IN: Maximum size, in bytes, of the small data block. - <br> - The default size is <code>2048</code>.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_small_data_block_size_f - <dd> - <pre> -SUBROUTINE h5pset_small_data_block_size_f(plist_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist_id ! File access - ! property list identifier - INTEGER(HSIZE_T), INTENT(IN) :: size ! Small raw data block size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_small_data_block_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_sym_k" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetSymK">H5Pset_sym_k</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_sym_k</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned</em> <code>ik</code>, - <em>unsigned</em> <code>lk</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the size of parameters used to control the symbol table nodes. - <dt><strong>Description:</strong> - <dd><code>H5Pset_sym_k</code> sets the size of parameters used to - control the symbol table nodes. This function is only valid - for file creation property lists. Passing in a value of 0 for - one of the parameters retains the current value. - <p> - <code>ik</code> is one half the rank of a tree that stores a symbol - table for a group. Internal nodes of the symbol table are on - average 75% full. That is, the average rank of the tree is - 1.5 times the value of <code>ik</code>. - <p> - <code>lk</code> is one half of the number of symbols that can - be stored in a symbol table node. A symbol table node is the - leaf of a symbol table tree which is used to store a group. - When symbols are inserted randomly into a group, the group's - symbol table nodes are 75% full on average. That is, they - contain 1.5 times the number of symbols specified by - <code>lk</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist </code></td> - <td valign="top">IN: Identifier for property list to query.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>ik</code></td> - <td valign="top">IN: Symbol table tree rank.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>lk</code></td> - <td valign="top">IN: Symbol table node size.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_sym_k_f - <dd> - <pre> -SUBROUTINE h5pset_sym_k_f (prp_id, ik, lk, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: ik ! Symbol table tree rank - INTEGER, INTENT(IN) :: lk ! Symbol table node size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_sym_k_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_szip" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetSzip">H5Pset_szip</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_szip</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned int</em> <code>options_mask</code>, - <em>unsigned int</em> <code>pixels_per_block</code>) - <dt><strong>Purpose:</strong> - <dd>Sets up use of the SZIP compression filter. - <dt><strong>Description:</strong> - <dd><code>H5Pset_szip</code> sets an SZIP compression filter, - <code>H5Z_FILTER_SZIP</code>, for a dataset. - SZIP is a compression method designed for use with scientific data. - <p> - Before proceeding, be aware that there are factors that affect - your rights and ability to use SZIP compression. - See the documents at - <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html" - target="External">SZIP Compression in HDF5</a> - for <em>important information regarding terms of use and - the SZIP copyright notice</em>, - for further discussion of SZIP compression in HDF5, - and for a list of SZIP-related references. - - <p> - In the text below, the term <em>pixel</em> refers to - an HDF5 data element. - This terminology derives from SZIP compression's use with image data, - where pixel referred to an image pixel. - <p> - The SZIP <code>bits_per_pixel</code> value (see <b>Notes</b>, below) - is automatically set, based on the HDF5 datatype. - SZIP can be used with atomic datatypes that may have size - of 8, 16, 32, or 64 bits. - Specifically, a dataset with a datatype that is - 8-, 16-, 32-, or 64-bit - signed or unsigned integer; - char; or - 32- or 64-bit float - can be compressed with SZIP. - See <b>Notes</b>, below, for further discussion of the - the SZIP <code>bits_per_pixel</code> setting. - - <p> - SZIP compression cannot be applied to - compound datatypes, - array datatypes, - variable-length datatypes, - enumerations, or - any other user-defined datatypes. - If an SZIP filter is set up for a dataset containing a non-allowed - datatype, <code>H5Pset_szip</code> will succeed but the subsequent call - to <a href="RM_H5D.html#Dataset-Create"><code>H5Dcreate</code></a> - will fail; - the conflict is detected only when the property list is used. - - - <p> - SZIP options are passed in an options mask, <code>options_mask</code>, - as follows. - <center> - <table> - <tr valign=top align=left><td> - <hr> - <b>Option</b> - </td><td> - <hr> - <b>Description</b> - <br> - <font size=-1>(Mutually exclusive; select one.)</font> - </td></tr> - <tr valign=top align=left><td> - <hr> - <code>H5_SZIP_EC_OPTION_MASK </code> - </td><td> - <hr> - Selects entropy coding method. - </td></tr> - <tr valign=top align=left><td> - <code>H5_SZIP_NN_OPTION_MASK</code> - </td><td> - Selects nearest neighbor coding method. - </td></tr> - <tr valign=top align=left><td> - <hr> - </td><td> - <hr> - </td></tr> - </table> - </center> - The following guidelines can be used in determining - which option to select: - <ul> - <li>The entropy coding method, the EC option specified by - <code>H5_SZIP_EC_OPTION_MASK</code>, is best suited for - data that has been processed. - The EC method works best for small numbers. - <li>The nearest neighbor coding method, the NN option - specified by <code>H5_SZIP_NN_OPTION_MASK</code>, - preprocesses the data then the applies EC method as above. - </ul> - Other factors may affect results, but the above criteria - provides a good starting point for optimizing data compression. - - <p> - SZIP compresses data block by block, with a user-tunable block size. - This block size is passed in the parameter - <code>pixels_per_block</code> and must be even and not greater than 32, - with typical values being <code>8</code>, <code>10</code>, - <code>16</code>, or <code>32</code>. - This parameter affects compression ratio; - the more pixel values vary, the smaller this number should be to - achieve better performance. - <p> - In HDF5, compression can be applied only to chunked datasets. - If <code>pixels_per_block</code> is bigger than the total - number of elements in a dataset chunk, - <code>H5Pset_szip</code> will succeed but the subsequent call to - <a href="RM_H5D.html#Dataset-Create"><code>H5Dcreate</code></a> - will fail; the conflict is detected only when the property list - is used. - <p> - To achieve optimal performance for SZIP compression, - it is recommended that a chunk's fastest-changing dimension - be equal to <em>N</em> times <code>pixels_per_block</code> - where <em>N</em> is the maximum number of blocks per scan line - allowed by the SZIP library. - In the current version of SZIP, <em>N</em> is set to 128. - <p> - <code>H5Pset_szip</code> will fail if SZIP encoding is - disabled in the available copy of the SZIP library. - <a href="RM_H5Z.html#Compression-GetFilterInfo"> - <code>H5Zget_filter_info</code></a> can be employed - to avoid such a failure. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Dataset creation property list - identifier.</td></tr> - <tr> - <td valign="top"><em>unsigned int</em> <code>options_mask</code></td> - <td valign="top">IN: A bit-mask conveying the desired SZIP options. - Valid values are <code>H5_SZIP_EC_OPTION_MASK</code> - and <code>H5_SZIP_NN_OPTION_MASK</code>.</td></tr> - <tr> - <td valign="top"><em>unsigned int</em> <code>pixels_per_block </code></td> - <td valign="top">IN: The number of pixels or data elements in each data block.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Notes:</strong> - <dd>The following notes are of interest primarily to those who have - used SZIP compression outside of the HDF5 context. - <p> - In non-HDF5 applications, SZIP typically requires that the - user application supply additional parameters: - <ul> - <li><code>pixels_in_object</code>, - the number of pixels in the object to be compressed - <li><code>bits_per_pixel</code>, - the number of bits per pixel - <li><code>pixels_per_scanline</code>, - the number of pixels per scan line - </ul> - <p> - These values need not be independently supplied in the HDF5 - environment as they are derived from the datatype and dataspace, - which are already known. - In particular, HDF5 sets - <code>pixels_in_object</code> to the number of elements in a chunk - and <code>bits_per_pixel</code> to the size of the element or - pixel datatype. - The following algorithm is used to set - <code>pixels_per_scanline</code>: - <ul> - <li>If the size of a chunk's fastest-changing dimension, - <em>size</em>, is greater than 4K, - set <code>pixels_per_scanline</code> to - 128 times <code>pixels_per_block</code>. - <li>If <em>size</em> is less than 4K - but greater than <code>pixels_per_block</code>, - set <code>pixels_per_scanline</code> to the minimum of - <em>size</em> and 128 times <code>pixels_per_block</code>. - <li>If <em>size</em> is less than <code>pixels_per_block</code> - but greater than the number elements in the chunk, - set <code>pixels_per_scanline</code> to the minimum of - the number elements in the chunk and - 128 times <code>pixels_per_block</code>. - </ul> - - <p> - The HDF5 datatype may have precision that is less than the - full size of the data element, e.g., an 11-bit integer can be - defined using - <a href="RM_H5T.html#Datatype-SetPrecision"><code>H5Tset_precision</code></a>. - To a certain extent, SZIP can take advantage of the - precision of the datatype to improve compression: - <ul><li> - If the HDF5 datatype size is 24-bit or less and - the offset of the bits in the HDF5 datatype is zero - (see <a href="RM_H5T.html#Datatype-SetOffset"><code>H5Tset_offset</code></a> - or <a href="RM_H5T.html#Datatype-GetOffset"><code>H5Tget_offset</code></a>), - the data is the in lowest N bits of the data element. - In this case, the SZIP <code>bits_per_pixel</code> - is set to the precision - of the HDF5 datatype. - <li> - If the offset is not zero, the SZIP <code>bits_per_pixel</code> - will be set to the number of bits in the full size of the data - element. - <li> - If the HDF5 datatype precision is 25-bit to 32-bit, - the SZIP <code>bits_per_pixel</code> will be set to 32. - <li> - If the HDF5 datatype precision is 33-bit to 64-bit, - the SZIP <code>bits_per_pixel</code> will be set to 64. - </ul> - - <p> - HDF5 always modifies the options mask provided by the user - to set up usage of <code>RAW_OPTION_MASK</code>, - <code>ALLOW_K13_OPTION_MASK</code>, and one of - <code>LSB_OPTION_MASK</code> or <code>MSB_OPTION_MASK</code>, - depending on endianness of the datatype. - - <dt><strong>Fortran90 Interface:</strong> h5pset_szip_f - <dd> - <pre> -SUBROUTINE h5pset_szip_f(prp_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id - ! Dataset creation property list identifier - INTEGER, INTENT(IN) :: options_mask - ! A bit-mask conveying the desired - ! SZIP options - ! Current valid values in Fortran are: - ! H5_SZIP_EC_OM_F - ! H5_SZIP_NN_OM_F - INTEGER, INTENT(IN) :: pixels_per_block - ! The number of pixels or data elements - ! in each data block - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_szip_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - -<!-- - <p> - <dt><strong>References:</strong> - (This material will appear in a separate file in the final release documents.) - <ul> - <li>J. Venbrux, P.S. Yeh, G. Zweigle, J. Vesel, - "A VLSI Chip Solution for Lossless Medical Imagery Compression," - <cite>SPIE conference on Medical Imaging 1994</cite>. - Vol. 2164, pp. 561-572, February 13-14, 1994, - Newport Beach, California. - - <li>J. Venbrux, J. Gambles, D. Wiseman, G. Zweigle, W.H. Miller, P.S. Yeh, - "A VLSI Chip Set Development for Lossless Data Compression," - <cite>AIAA Computing in Aerospace 9 Conference</cite>. - October 1993, San Diego, California. - - <li>J. Venbrux, G. Zweigle, J. Gambles, D.Wiseman, W. Miller, P. Yeh, - "An Adaptive, Lossless Data Compression Algorithm and VLSI - Implementations," - <cite>NASA Symposium on VLSI Design</cite>. - Pp 1.2.1-1.2.16, November 1993. - - <li>J. Venbrux, P.S. Yeh, and M. N. Liu, - "A VLSI Chip Set for High Speed Lossless Data Compression," - <cite>IEEE Transactions on Circuits and Systems for Video - Technology</cite>. - Pp. 381-391, December 1992. - - <li>CCSDS 120.0-G-1. - <cite>Lossless Data Compression</cite>. - Green Book. Issue 1, May 1997. - This Report presents a summary of the key operational concepts and - rationale underlying the requirements for the CCSDS Recommendation, - Lossless Data Compression. Supporting performance information along - with illustrations are also included. This Report also provides a - broad tutorial overview of the CCSDS Lossless Data Compression - algorithm and is aimed at helping first-time readers - to understand the Recommendation. - <br> - Appears In: CCSDS Publications TGannett 02/04/2003 387K Services - Check Out View - - <li>CCSDS 121.0-B-1. - <cite>Lossless Data Compression</cite>. - Blue Book. Issue 1, May 1997. - This Recommendation defines a source-coding data-compression - algorithm and specifies how data compressed using the algorithm - are inserted into source packets for retrieval and decoding. - <br> - Appears In: CCSDS Publications - - </ul> ---> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_userblock" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetUserblock">H5Pset_userblock</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_userblock</code>(<em>hid_t</em> <code>plist</code>, - <em>hsize_t</em> <code>size</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets user block size. - <dt><strong>Description:</strong> - <dd><code>H5Pset_userblock</code> sets the user block size of a - file creation property list. - The default user block size is 0; it may be set to any - power of 2 equal to 512 or greater (512, 1024, 2048, etc.). - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier of property list to modify.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>size </code></td> - <td valign="top">IN: Size of the user-block in bytes.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_userblock_f - <dd> - <pre> -SUBROUTINE h5pset_userblock_f (prp_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HSIZE_T), INTENT(IN) :: size ! Size of the user-block in bytes - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_userblock_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_vlen_mem_manager" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetVLMemManager">H5Pset_vlen_mem_manager</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_vlen_mem_manager</code>(<em>hid_t</em> <code>plist</code>, - <em>H5MM_allocate_t</em> <code>alloc</code>, - <em>void</em> *<code>alloc_info</code>, - <em>H5MM_free_t</em> <code>free</code>, - <em>void</em> *<code>free_info</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets the memory manager for variable-length datatype allocation in - <code>H5Dread</code> and <code>H5Dvlen_reclaim</code>. - <dt><strong>Description:</strong> - <dd><code>H5Pset_vlen_mem_manager</code> sets the memory manager for - variable-length datatype allocation in <code>H5Dread</code> - and free in <code>H5Dvlen_reclaim</code>. - <p> - The <code>alloc</code> and <code>free</code> parameters - identify the memory management routines to be used. - If the user has defined custom memory management routines, - <code>alloc</code> and/or <code>free</code> should be set to make - those routine calls (i.e., the name of the routine is used as - the value of the parameter); - if the user prefers to use the system's <code> malloc</code> - and/or <code>free</code>, the <code>alloc</code> and - <code>free</code> parameters, respectively, should be set to - <code> NULL</code> - <p> - The prototypes for these user-defined functions would appear as follows: - <br> - <em>typedef void</em> *(*<code>H5MM_allocate_t</code>)(<em>size_t</em> <code>size</code>, - <em>void</em> *<code>alloc_info</code>) ; - - <br> - <em>typedef void</em> (*<code>H5MM_free_t</code>)(<em>void</em> *<code>mem</code>, - <em>void</em> *<code>free_info</code>) ; - <br> - The <code>alloc_info</code> and <code>free_info</code> parameters - can be used to pass along any required information to - the user's memory management routines. - <p> - In summary, if the user has defined custom memory management - routines, the name(s) of the routines are passed in the - <code>alloc</code> and <code>free</code> parameters and the - custom routines' parameters are passed in the - <code>alloc_info</code> and <code>free_info</code> parameters. - If the user wishes to use the system <code> malloc</code> and - <code>free</code> functions, the <code>alloc</code> and/or - <code>free</code> parameters are set to <code> NULL</code> - and the <code>alloc_info</code> and <code>free_info</code> - parameters are ignored. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>plist</code></td> - <td valign="top">IN: Identifier for the dataset transfer property list.</td></tr> - <tr> - <td valign="top"><em>H5MM_allocate_t</em> <code>alloc </code></td> - <td valign="top">IN: User's allocate routine, or <code> NULL</code> - for system <code> malloc</code>.</td></tr> - <tr> - <td valign="top"><em>void</em> *<code>alloc_info</code></td> - <td valign="top">IN: Extra parameter for user's allocation routine. - <br> - Contents are ignored if preceding parameter is - <code> NULL</code>.</td></tr> - <tr> - <td valign="top"><em>H5MM_free_t</em> <code>free</code></td> - <td valign="top">IN: User's free routine, or <code> NULL</code> - for system <code>free</code>.</td></tr> - <tr> - <td valign="top"><em>void</em> *<code>free_info</code></td> - <td valign="top">IN: Extra parameter for user's free routine. - <br> - Contents are ignored if preceding parameter is - <code> NULL</code>.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Punregister" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-Unregister">H5Punregister</a> - - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Punregister</code>( - <em>H5P_class_t</em> <code>class</code>, - <em>const char *</em><code>name</code> - ) - - <dt><strong>Purpose:</strong> - <dd>Removes a property from a property list class. - - <dt><strong>Description:</strong> - <dd><code>H5Punregister</code> removes a property from a - property list class. - - <p> - Future property lists created of that class will not contain - this property; - existing property lists containing this property are not affected. - - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td><em>H5P_class_t</em> <code>class </code></td> - <td>IN: Property list class from which to remove - permanent property</td></tr> - <tr> - <td><em>const char *</em><code>name</code></td> - <td>IN: Name of property to remove</td></tr> - </table></ul> - - <dt><strong>Returns:</strong> - <dd>Success: a non-negative value - <dd>Failure: a negative value - <dt><strong>Fortran90 Interface:</strong> h5punregister_f - <dd> - <pre> -SUBROUTINE h5punregister_f(class, name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to remove - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5punregister_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - - - - -<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr> -<center> -<table border=0 width=98%> -<tr><td valign=top align=left> -<a href="index.html">HDF5 documents and links</a> <br> -<a href="H5.intro.html">Introduction to HDF5</a> <br> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a> <br> -<!-- -<a href="Glossary.html">Glossary</a><br> ---> -</td> -<td valign=top align=right> -And in this document, the -<a href="RM_H5Front.html">HDF5 Reference Manual</a> -<br> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5im.html">H5IM</a> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5lt.html">H5LT</a> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5pt.html">H5PT</a> -<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5tb.html">H5TB</a> -<br> -<a href="RM_H5.html">H5</a> -<a href="RM_H5A.html">H5A</a> -<a href="RM_H5D.html">H5D</a> -<a href="RM_H5E.html">H5E</a> -<a href="RM_H5F.html">H5F</a> -<a href="RM_H5G.html">H5G</a> -<a href="RM_H5I.html">H5I</a> -<a href="RM_H5P.html">H5P</a> -<br> -<a href="RM_H5R.html">H5R</a> -<a href="RM_H5S.html">H5S</a> -<a href="RM_H5T.html">H5T</a> -<a href="RM_H5Z.html">H5Z</a> -<a href="Tools.html">Tools</a> -<a href="PredefDTypes.html">Datatypes</a> -</td></tr> -</table> -</center> -<hr><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address> -<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a> -<br> -Describes HDF5 Release 1.7, the unreleased development branch; working toward HDF5 Release 1.8.0 -</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> -<!-- -document.writeln("Last modified: 23 June 2005"); ---> -</SCRIPT> - -</body> -</html> - |