Help us improve by taking our short survey: https://www.hdfgroup.org/website-survey/
HDF5 Last Updated on 2026-03-04
The HDF5 Field Guide
Loading...
Searching...
No Matches
Property Lists (H5P)

Detailed Description

Use the functions in this module to manage HDF5 property lists and property list classes. HDF5 property lists are the main vehicle to configure the behavior of HDF5 API functions.

Typically, property lists are created by instantiating one of the built-in or user-defined property list classes. After adding suitable properties, property lists are used when opening or creating HDF5 items, or when reading or writing data. Property lists can be modified by adding or changing properties. Property lists are deleted by closing the associated handles.

Property List Class Root

Property list class root functions (H5P)
FunctionPurpose
H5PcloseTerminates access to a property list.
H5PcopyCopies an existing property list to create a new property list.
H5PcreateCreates a new property list as an instance of a property list class.
H5Pencode/H5PdecodeEncodes/ecodes property list into/from a binary object buffer.
H5Pget_classReturns the property list class identifier for a property list

Property List Class Root

Property list class root (Advanced) functions (H5P)
FunctionPurpose
H5Pclose_classCloses an existing property list class.
H5Pcopy_propCopies a property from one list or class to another.
H5Pcreate_classCreates a new property list class.
H5PequalCompares two property lists or classes for equality.
H5PexistQueries whether a property name exists in a property list or class.
H5Pget_class_nameRetrieves the name of a class.
H5Pget_class_parentRetrieves the parent class of a property class.
H5Pget_npropsQueries the number of properties in a property list or class.
H5Pget_sizeQueries the size of a property value in bytes.
H5PinsertRegisters a temporary property with a property list.
H5Pisa_classDetermines whether a property list is a member of a class.
H5PiterateIterates over properties in a property class or list
H5Pregister/H5PunregisterRegisters/removes a permanent property with/from a property list class
H5PremoveRemoves a property from a property list.
H5Pset/H5PgetSets/queries a property list value

Property List Class Root / Object Creation Properties / Group Creation Properties

File creation property list functions (H5P)
FunctionPurpose
H5Pset_userblock/H5Pget_userblockSets/retrieves size of userblock.
H5Pset_sizes/H5Pget_sizesSets/retrieves byte size of offsets and lengths used to address objects in HDF5 file.
H5Pset_sym_k/H5Pget_sym_kSets/retrieves size of parameters used to control symbol table nodes.
H5Pset_istore_k/H5Pget_istore_kSets/retrieves size of parameter used to control B-trees for indexing chunked datasets.
H5Pset_file_space_page_size/H5Pget_file_space_page_sizeSets or retrieves the file space page size used in paged aggregation and paged buffering.
H5Pset_file_space_strategy/H5Pget_file_space_strategySets or retrieves the file space handling strategy, the persisting free-space and the free-space section size.
H5Pset_shared_mesg_nindexes/H5Pget_shared_mesg_nindexesSets or retrieves number of shared object header message indexes in file creation property list.
H5Pset_shared_mesg_indexConfigures the specified shared object header message index.
H5Pget_shared_mesg_indexRetrieves the configuration settings for a shared message index.
H5Pset_shared_mesg_phase_change/H5Pget_shared_mesg_phase_changeSets or retrieves shared object header message storage phase change thresholds.
H5Pget_version

Property List Class Root

File access property list functions (H5P)
FunctionPurpose
H5Pset_alignment/H5Pget_alignmentSets/retrieves alignment properties.
H5Pset_cache/H5Pget_cacheSets/retrieves metadata cache and raw data chunk cache parameters.
H5Pset_core_write_tracking/H5Pget_core_write_trackingSets/retrieves write tracking information for core driver.
H5Pset_elink_file_cache_size/H5Pget_elink_file_cache_sizeSets/retrieves the size of the external link open file cache from the specified file access property list.
H5Pset_evict_on_close/H5Pget_evict_on_closeSet/get the file access property list setting that determines whether an HDF5 object will be evicted from the library's metadata cache when it is closed.
H5Pset_gc_references/H5Pget_gc_referencesSets/retrieves garbage collecting references flag.
H5Pset_family_offsetSets offset property for low-level access to a file in a family of files.
H5Pget_family_offsetRetrieves a data offset from the file access property list.
H5Pset_fclose_degree/H5Pget_fclose_degreeSets/retrieves file close degree property.
H5Pset_file_imageSets an initial file image in a memory buffer.
H5Pget_file_imageRetrieves a copy of the file image designated as the initial content and structure of a file.
H5Pset_file_image_callbacks/H5Pget_file_image_callbacksSets/gets the callbacks for working with file images.
H5Pset_file_locking/H5Pget_file_lockingSets/retrieves file locking property values.
H5Pset_meta_block_size/H5Pget_meta_block_sizeSets the minimum metadata blocksize or retrieves the current metadata block size setting.
H5Pset_metadata_read_attempts/H5Pget_metadata_read_attemptsSets/gets the number of read attempts from a file access property list.
H5Pset_mdc_config/H5Pget_mdc_configSet/get the initial metadata cache configuration in the indicated file access property list.
H5Pset_mdc_image_config/H5Pget_mdc_image_configSet/get the metadata cache image option for a file access property list.
H5Pset_mdc_log_options/H5Pget_mdc_log_optionsSet/get the metadata cache logging options.
H5Pset_multi_type/H5Pget_multi_typeSets/gets the type of data property for the MULTI driver.
H5Pset_object_flush_cb/H5Pget_object_flush_cbSet/get the object flush property values from the file access property list.
H5Pset_page_buffer_size/H5Pget_page_buffer_sizeSet/get the maximum size for the page buffer.
H5Pset_sieve_buf_size/H5Pget_sieve_buf_sizeSets/retrieves maximum size of data sieve buffer.
H5Pset_libver_boundsSets bounds on library versions, and indirectly format versions, to be used when creating objects.
H5Pget_libver_boundsRetrieves library version bounds settings that indirectly control the format versions used when creating objects.
H5Pset_small_data_block_sizeSets the size of a contiguous block reserved for small data.
H5Pget_small_data_block_sizeRetrieves the current small data block size setting.
H5Pset_volSets the file VOL connector for a file access property list.
H5Pget_vol_cap_flagsRetrieves the capability flags for the VOL connector that will be used with a file access property list.
H5Pget_vol_idRetrieves the identifier of the current VOL connector.
H5Pget_vol_infoRetrieves a copy of the VOL information for a connector.
H5Pset_mpi_params/H5Pget_mpi_paramsSets/retrieves the MPI communicator and info.
H5Pset_coll_metadata_write/H5Pget_coll_metadata_writeSets/retrieves metadata write mode setting.
File driver property list functions (H5P)
FunctionPurpose
H5Pset_driverSets a file driver.
H5Pget_driverReturns the identifier for the driver used to create a file.
H5Pget_driver_infoReturns a pointer to file driver information.
H5Pset_driver_by_nameSets a file driver according to a given driver name.
H5Pset_driver_by_valueSets a file driver according to a given driver value.
H5Pget_driver_config_strRetrieves a string representation of the configuration for the driver.
H5Pset_fapl_core/H5Pget_fapl_coreSets the driver for buffered memory files (in RAM) or retrieves information regarding the driver.
H5Pset_fapl_direct/H5Pget_fapl_directSets up use of the direct I/O driver or retrieves the direct I/O driver settings.
H5Pset_fapl_family/H5Pget_fapl_familySets driver for file families, designed for systems that do not support files larger than 2 gigabytes, or retrieves information regarding driver.
H5Pset_fapl_hdfs/H5Pget_fapl_hdfs.
H5Pset_fapl_ioc/H5Pget_fapl_iocModifies/queries the file driver properties of the I/O concentrator driver.
H5Pset_fapl_logThe logging driver is a clone of the standard SEC2 (H5FD_SEC2) driver with additional facilities for logging metrics and activity to a file.
H5Pset_fapl_mirror/H5Pget_fapl_mirrorModifies/queries the file driver properties of the mirror driver.
H5Pset_fapl_mpio/H5Pget_fapl_mpioSets driver for files on parallel file systems (MPI I/O) or retrieves information regarding the driver.
H5Pset_fapl_mpiposix/H5Pget_fapl_mpiposixNo longer available.
H5Pset_fapl_multi/H5Pget_fapl_multiSets driver for multiple files, separating categories of metadata and raw data, or retrieves information regarding driver.
H5Pset_fapl_onion/H5Pget_fapl_onionModifies/queries the file driver properties of the onion driver.
H5Pset_fapl_ros3/H5Pget_fapl_ros3Modifies/queries the file driver properties of the ros3 driver.
H5Pset_fapl_sec2Sets driver for unbuffered permanent files or retrieves information regarding driver.
H5Pset_fapl_splitSets driver for split files, a limited case of multi driver with one metadata file and one raw data file.
H5Pset_fapl_splitter/H5Pget_fapl_splitterModifies/queries the file driver properties of the splitter driver.
H5Pset_fapl_stdioSets driver for buffered permanent files.
H5Pset_fapl_subfiling/H5Pget_fapl_subfilingModifies/queries the file driver properties of the subfiling driver.
H5Pset_fapl_windowsSets the Windows I/O driver.
H5Pset_multi_typeSpecifies type of data to be accessed via the MULTI driver enabling more direct access.
H5Pget_multi_typeRetrieves type of data property for MULTI driver.

Property List Class Root

Link access property list functions (H5P)
FunctionPurpose
H5Pset_elink_cb/H5Pget_elink_cbSets/gets the external link traversal callback function.
H5Pset_elink_acc_flags/H5Pget_elink_acc_flagsSets/gets the external link traversal file access flag.
H5Pset_elink_fapl/H5Pget_elink_faplSets/gets a file access property list for use in accessing a file pointed to by an external link
H5Pset_elink_prefix/H5Pget_elink_prefixSets/gets prefix to be applied to external link paths.
H5Pset_nlinks/H5Pget_nlinksSets/gets maximum number of soft or user-defined link traversals.

Property List Class Root / Object Creation Properties

Dataset creation property list functions (H5P)
FunctionPurpose
H5Pset_layoutSets the type of storage used to store the raw data for a dataset.
H5Pget_layoutReturns the layout of the raw data for a dataset.
H5Pset_chunkSets the size of the chunks used to store a chunked layout dataset.
H5Pget_chunkRetrieves the size of chunks for the raw data of a chunked layout dataset.
H5Pset_chunk_opts/H5Pget_chunk_optsSets/gets the edge chunk option setting from a dataset creation property list.
H5Pset_deflateSets compression method and compression level.
H5Pset_fill_valueSets the fill value for a dataset.
H5Pget_fill_valueRetrieves a dataset fill value.
H5Pfill_value_definedDetermines whether the fill value is defined.
H5Pset_fill_timeSets the time when fill values are written to a dataset.
H5Pget_fill_timeRetrieves the time when fill value are written to a dataset.
H5Pset_alloc_timeSets the timing for storage space allocation.
H5Pget_alloc_timeRetrieves the timing for storage space allocation.
H5Pset_filterAdds a filter to the filter pipeline.
H5Pall_filters_availVerifies that all required filters are available.
H5Pget_nfiltersReturns the number of filters in the pipeline.
H5Pget_filterReturns information about a filter in a pipeline. The C function is a macro:
See also
API Compatibility Macros.
H5Pget_filter_by_idReturns information about the specified filter. The C function is a macro:
See also
API Compatibility Macros.
H5Pmodify_filterModifies a filter in the filter pipeline.
H5Premove_filterDeletes one or more filters in the filter pipeline.
H5Pset_fletcher32Sets up use of the Fletcher32 checksum filter.
H5Pset_nbitSets up use of the n-bit filter.
H5Pset_scaleoffsetSets up use of the scale-offset filter.
H5Pset_shuffleSets up use of the shuffle filter.
H5Pset_szipSets up use of the Szip compression filter.
H5Pset_externalAdds an external file to the list of external files.
H5Pget_external_countReturns the number of external files for a dataset.
H5Pget_externalReturns information about an external file.
H5Pset_char_encodingSets the character encoding used to encode a string. Use to set ASCII or UTF-8 character encoding for object names.
H5Pget_char_encodingRetrieves the character encoding used to create a string.
H5Pset_virtualSets the mapping between virtual and source datasets.
H5Pget_virtual_countGets the number of mappings for the virtual dataset.
H5Pget_virtual_dsetnameGets the name of a source dataset used in the mapping.
H5Pget_virtual_filenameGets the filename of a source dataset used in the mapping.
H5Pget_virtual_srcspaceGets a dataspace identifier for the selection within the source dataset used in the mapping.
H5Pget_virtual_vspaceGets a dataspace identifier for the selection within the virtual dataset used in the mapping.
H5Pset_dset_no_attrs_hint/H5Pget_dset_no_attrs_hintSets/gets the flag to create minimized dataset object headers.

Property List Class Root / Link Access Properties

Dataset access property list functions (H5P)
FunctionPurpose
H5Pset_bufferSets type conversion and background buffers.
H5Pget_bufferReads buffer settings.
H5Pset_append_flush/H5Pget_append_flushSets/gets the values of the append property that is set up in the dataset access property list.
H5Pset_chunk_cache/H5Pget_chunk_cacheSets/gets the raw data chunk cache parameters.
H5Pset_efile_prefix/H5Pget_efile_prefixSets/gets the prefix for external raw data storage files as set in the dataset access property list.
H5Pset_virtual_prefix/H5Pget_virtual_prefixSets/gets the prefix to be applied to VDS source file paths.
H5Pset_virtual_printf_gap/H5Pget_virtual_printf_gapSets/gets the maximum number of missing source files and/or datasets with the printf-style names when getting the extent for an unlimited virtual dataset.
H5Pset_virtual_view/H5Pget_virtual_viewSets/gets the view of the virtual dataset (VDS) to include or exclude missing mapped elements.
H5Pset_virtual_spatial_tree/H5Pget_virtual_spatial_treeSets/gets the flag to use spatial trees when searching many VDS mappings

Property List Class Root / Object Creation Properties

Group creation property list functions (H5P)
FunctionPurpose
H5Pall_filters_availVerifies that all required filters are available.
H5Pget_filterReturns information about a filter in a pipeline. The C function is a macro:
See also
API Compatibility Macros.
H5Pget_filter_by_idReturns information about the specified filter. The C function is a macro:
See also
API Compatibility Macros.
H5Pget_nfiltersReturns the number of filters in the pipeline.
H5Pmodify_filterModifies a filter in the filter pipeline.
H5Premove_filterDeletes one or more filters in the filter pipeline.
H5Pset_deflateSets the deflate (GNU gzip) compression method and compression level.
H5Pset_filterAdds a filter to the filter pipeline.
H5Pset_fletcher32Sets up use of the Fletcher32 checksum filter.
H5Pset_local_heap_size_hint/H5Pget_local_heap_size_hintSets/gets the anticipated maximum size of a local heap.
H5Pset_link_phase_changeSets the parameters for conversion between compact and dense groups.
H5Pget_link_phase_changeQueries the settings for conversion between compact and dense groups.
H5Pset_est_link_infoSets estimated number of links and length of link names in a group.
H5Pget_est_link_infoQueries data required to estimate required local heap or object header size.
H5Pset_nlinksSets maximum number of soft or user-defined link traversals.
H5Pget_nlinksRetrieves the maximum number of link traversals.
H5Pset_link_creation_orderSets creation order tracking and indexing for links in a group.
H5Pget_link_creation_orderQueries whether link creation order is tracked and/or indexed in a group.
H5Pset_char_encodingSets the character encoding used to encode a string. Use to set ASCII or UTF-8 character encoding for object names.
H5Pget_char_encodingRetrieves the character encoding used to create a string.

Property List Class Root / Link Access Properties

Group access property list functions (H5P)
FunctionPurpose
H5Pset_all_coll_metadata_ops/H5Pget_all_coll_metadata_opsSets/gets metadata I/O mode for read operations

Property List Class Root

Object creation property list functions (H5P)
FunctionPurpose
H5Pset_attr_creation_order/H5Pget_attr_creation_orderSets/gets tracking and indexing of attribute creation order.
H5Pset_attr_phase_change/H5Pget_attr_phase_changeSets/gets attribute storage phase change thresholds
H5Pset_filter/H5Pget_filterAdds/gets a filter to/from the filter pipeline.
H5Pget_filter_by_idReturns information about a filter in a pipeline.
H5Pget_nfiltersReturns information about the specified filter.
H5Pset_obj_track_times/H5Pget_obj_track_timesSets/gets the recording of times associated with an object.
H5Pmodify_filterModifies a filter in the filter pipeline.
H5Premove_filterDelete one or more filters in the filter pipeline.
H5Pset_fletcher32Sets up use of the Fletcher32 checksum filter.

Property List Class Root

Object copy property list functions (H5P)
FunctionPurpose
H5Padd_merge_committed_dtype_pathAdds a path to the list of paths that will be searched in the destination file for a matching committed datatype.
H5Pfree_merge_committed_dtype_pathsClears the list of paths stored in the object copy property list.
H5Pset_copy_object/H5Pget_copy_objectSets/gets the properties to be used when an object is copied.
H5Pset_mcdt_search_cb/H5Pget_mcdt_search_cbSets/gets the callback function that H5Ocopy() will invoke before searching for a matching committed datatype.

Property List Class Root

String creation property list functions (H5P)
FunctionPurpose
H5Pset_char_encoding/H5Pget_char_encodingSets/gets the character encoding used to encode link and attribute names.

Property List Class Root / String Creation Properties

Link creation property list functions (H5P)
FunctionPurpose
H5Pset_create_intermediate_group/H5Pget_create_intermediate_groupSpecifies/retrieves whether to create missing intermediate groups.

Property List Class Root / String Creation Properties

Attribute creation property list functions (H5P)
FunctionPurpose
H5Pset_char_encoding/H5Pget_char_encodingSets/gets the character encoding used to encode link and attribute names.

Topics

 Dataset Transfer Properties
 File Access Properties
 File Mount Properties
 Link Access Properties
 Map Creation Properties
 Object Copy Properties
 Object Creation Properties
 Property List Class Root
 Property List Class Root (Advanced)
 String Creation Properties
 VOL Data Mapping Properties