Please, help us to better serve our user community by answering the following short survey: https://www.hdfgroup.org/website-survey/
HDF5  1.15.0
API Reference
 
Loading...
Searching...
No Matches
Object Creation Properties

Detailed Description

Object creation property list functions (H5P)
Function Purpose
H5Pset_attr_creation_order/H5Pget_attr_creation_order Sets/gets tracking and indexing of attribute creation order.
H5Pset_attr_phase_change/H5Pget_attr_phase_change Sets/gets attribute storage phase change thresholds
H5Pset_filter/H5Pget_filter Adds/gets a filter to/from the filter pipeline.
H5Pget_filter_by_id Returns information about a filter in a pipeline.
H5Pget_nfilters Returns information about the specified filter.
H5Pset_obj_track_times/H5Pget_obj_track_times Sets/gets the recording of times associated with an object.
H5Pmodify_filter Modifies a filter in the filter pipeline.
H5Premove_filter Delete one or more filters in the filter pipeline.
H5Pset_fletcher32 Sets up use of the Fletcher32 checksum filter.

+ Collaboration diagram for Object Creation Properties:

Modules

 Dataset Creation Properties
 
 Datatype Creation Properties
 
 Group Creation Properties
 

Functions

herr_t H5Pget_attr_creation_order (hid_t plist_id, unsigned *crt_order_flags)
 Retrieves tracking and indexing settings for attribute creation order.
 
herr_t H5Pget_attr_phase_change (hid_t plist_id, unsigned *max_compact, unsigned *min_dense)
 Retrieves attribute storage phase change thresholds.
 
H5Z_filter_t H5Pget_filter2 (hid_t plist_id, unsigned idx, unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[], size_t namelen, char name[], unsigned *filter_config)
 Returns information about a filter in a pipeline.
 
herr_t H5Pget_filter_by_id2 (hid_t plist_id, H5Z_filter_t filter_id, unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[], size_t namelen, char name[], unsigned *filter_config)
 Returns information about the specified filter.
 
int H5Pget_nfilters (hid_t plist_id)
 Returns the number of filters in the pipeline.
 
herr_t H5Pget_obj_track_times (hid_t plist_id, hbool_t *track_times)
 Determines whether times associated with an object are being recorded.
 
herr_t H5Pmodify_filter (hid_t plist_id, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[])
 Modifies a filter in the filter pipeline.
 
herr_t H5Premove_filter (hid_t plist_id, H5Z_filter_t filter)
 Delete one or more filters in the filter pipeline.
 
herr_t H5Pset_attr_creation_order (hid_t plist_id, unsigned crt_order_flags)
 Sets tracking and indexing of attribute creation order.
 
herr_t H5Pset_attr_phase_change (hid_t plist_id, unsigned max_compact, unsigned min_dense)
 Sets attribute storage phase change thresholds.
 
herr_t H5Pset_filter (hid_t plist_id, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, const unsigned int c_values[])
 Adds a filter to the filter pipeline.
 
herr_t H5Pset_fletcher32 (hid_t plist_id)
 Sets up use of the Fletcher32 checksum filter.
 
herr_t H5Pset_obj_track_times (hid_t plist_id, hbool_t track_times)
 Sets the recording of times associated with an object.
 

Function Documentation

◆ H5Pget_attr_creation_order()

herr_t H5Pget_attr_creation_order ( hid_t  plist_id,
unsigned *  crt_order_flags 
)

Retrieves tracking and indexing settings for attribute creation order.

Parameters
[in]plist_idProperty list identifier
[out]crt_order_flagsFlags specifying whether to track and index attribute creation order
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pget_attr_creation_order() retrieves the settings for tracking and indexing attribute creation order on an object.

plist_id is an object creation property list (ocpl), as it can be a dataset or group creation property list identifier. The term ocpl is used when different types of objects may be involved.

crt_order_flags returns flags with the following meanings:

H5P_CRT_ORDER_TRACKED Attribute creation order is tracked but not necessarily indexed.
H5P_CRT_ORDER_INDEXED Attribute creation order is indexed (requires H5P_CRT_ORDER_TRACKED).

If crt_order_flags is returned with a value of 0 (zero), attribute creation order is neither tracked nor indexed.

Since
1.8.0

◆ H5Pget_attr_phase_change()

herr_t H5Pget_attr_phase_change ( hid_t  plist_id,
unsigned *  max_compact,
unsigned *  min_dense 
)

Retrieves attribute storage phase change thresholds.

Parameters
[in]plist_idProperty list identifier
[out]max_compactMaximum number of attributes to be stored in compact storage (Default: 8)
[out]min_denseMinimum number of attributes to be stored in dense storage (Default: 6)
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pget_attr_phase_change() retrieves threshold values for attribute storage on an object. These thresholds determine the point at which attribute storage changes from compact storage (i.e., storage in the object header) to dense storage (i.e., storage in a heap and indexed with a B-tree).

In the general case, attributes are initially kept in compact storage. When the number of attributes exceeds max_compact, attribute storage switches to dense storage. If the number of attributes subsequently falls below min_dense, the attributes are returned to compact storage.

If max_compact is set to 0 (zero), dense storage always used.

plist_id is an object creation property list (ocpl), as it can be a dataset or group creation property list identifier. The term ocpl is used when different types of objects may be involved.

Since
1.8.0

◆ H5Pget_filter2()

H5Z_filter_t H5Pget_filter2 ( hid_t  plist_id,
unsigned  idx,
unsigned int *  flags,
size_t *  cd_nelmts,
unsigned  cd_values[],
size_t  namelen,
char  name[],
unsigned *  filter_config 
)

Returns information about a filter in a pipeline.

Parameters
[in]plist_idObject creation property list identifier
[in]idxSequence number within the filter pipeline of the filter for which information is sought
[out]flagsBit vector specifying certain general properties of the filter
[in,out]cd_nelmtsNumber of elements in cd_values
[out]cd_valuesAuxiliary data for the filter
[in]namelenAnticipated number of characters in name
[out]nameName of the filter
[out]filter_configBit field, as described in H5Zget_filter_info()
Returns
Returns a negative value on failure, and the filter identifier if successful (see H5Z_filter_t):
  • H5Z_FILTER_DEFLATE Data compression filter, employing the gzip algorithm
  • H5Z_FILTER_SHUFFLE Data shuffling filter
  • H5Z_FILTER_FLETCHER32 Error detection filter, employing the Fletcher32 checksum algorithm
  • H5Z_FILTER_SZIP Data compression filter, employing the SZIP algorithm
  • H5Z_FILTER_NBIT Data compression filter, employing the N-bit algorithm
  • H5Z_FILTER_SCALEOFFSET Data compression filter, employing the scale-offset algorithm

    H5Pget_filter2() returns information about a filter specified by its filter number, in a filter pipeline specified by the property list with which it is associated.

    plist_id must be a dataset or group creation property list.

    idx is a value between zero and N-1, as described in H5Pget_nfilters(). The function will return a negative value if the filter number is out of range.

    The structure of the flags argument is discussed in H5Pset_filter().

    On input, cd_nelmts indicates the number of entries in the cd_values array, as allocated by the caller; on return, cd_nelmts contains the number of values defined by the filter.

    If name is a pointer to an array of at least namelen bytes, the filter name will be copied into that array. The name will be null terminated if namelen 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.

    filter_config is the bit field described in H5Zget_filter_info().

Version
1.8.5 Function extended to work with group creation property lists.
Since
1.8.0

◆ H5Pget_filter_by_id2()

herr_t H5Pget_filter_by_id2 ( hid_t  plist_id,
H5Z_filter_t  filter_id,
unsigned int *  flags,
size_t *  cd_nelmts,
unsigned  cd_values[],
size_t  namelen,
char  name[],
unsigned *  filter_config 
)

Returns information about the specified filter.

Parameters
[in]plist_idObject creation property list identifier
[in]filter_idFilter identifier
[out]flagsBit vector specifying certain general properties of the filter
[in,out]cd_nelmtsNumber of elements in cd_values
[out]cd_values[]Auxiliary data for the filter
[in]namelenLength of filter name and number of elements in name
[out]name[]Name of filter
[out]filter_configBit field, as described in H5Zget_filter_info()
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pget_filter_by_id2() returns information about the filter specified in filter_id, a filter identifier.

plist_id must be a dataset or group creation property list and filter_id must be in the associated filter pipeline.

The filter_id and flags parameters are used in the same manner as described in the discussion of H5Pset_filter().

Aside from the fact that they are used for output, the parameters cd_nelmts and cd_values[] are used in the same manner as described in the discussion of H5Pset_filter(). On input, the cd_nelmts parameter indicates the number of entries in the cd_values[] array allocated by the calling program; on exit it contains the number of values defined by the filter.

On input, the namelen parameter indicates the number of characters allocated for the filter name by the calling program in the array name[]. On exit name[] contains the name of the filter with one character of the name in each element of the array.

filter_config is the bit field described in H5Zget_filter_info().

If the filter specified in filter_id is not set for the property list, an error will be returned and H5Pget_filter_by_id2() will fail.

Version
1.8.5 Function extended to work with group creation property lists.
Since
1.8.0

◆ H5Pget_nfilters()

int H5Pget_nfilters ( hid_t  plist_id)

Returns the number of filters in the pipeline.

Parameters
[in]plist_idObject creation property list identifier
Returns
Returns the number of filters in the pipeline if successful; otherwise returns a negative value.

H5Pget_nfilters() returns the number of filters defined in the filter pipeline associated with the property list plist_id.

In each pipeline, the filters are numbered from 0 through N-1, where N 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.

H5Pget_nfilters() returns the number of filters in the pipeline, including zero (0) if there are none.

Since
1.0.0

◆ H5Pget_obj_track_times()

herr_t H5Pget_obj_track_times ( hid_t  plist_id,
hbool_t track_times 
)

Determines whether times associated with an object are being recorded.

Parameters
[in]plist_idProperty list identifier
[out]track_timesBoolean value, 1 (true) or 0 (false), specifying whether object times are being recorded
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pget_obj_track_times() queries the object creation property list, plist_id, to determine whether object times are being recorded.

If track_times is returned as 1, times are being recorded; if track_times is returned as 0, times are not being recorded.

Time data can be retrieved with H5Oget_info(), which will return it in the H5O_info_t struct.

If times are not tracked, they will be reported as follows when queried: 12:00 AM UDT, Jan. 1, 1970

See H5Pset_obj_track_times() for further discussion.

Since
1.8.0

◆ H5Pmodify_filter()

herr_t H5Pmodify_filter ( hid_t  plist_id,
H5Z_filter_t  filter,
unsigned int  flags,
size_t  cd_nelmts,
const unsigned int  cd_values[] 
)

Modifies a filter in the filter pipeline.

Parameters
[in]plist_idObject creation property list identifier
[in]filterFilter to be modified
[in]flagsBit vector specifying certain general properties of the filter
[in]cd_nelmtsNumber of elements in cd_values
[in]cd_values[]Auxiliary data for the filter
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pmodify_filter() modifies the specified filter in the filter pipeline. plist_id must be a dataset or group creation property list.

The filter, flags cd_nelmts[], and cd_values parameters are used in the same manner and accept the same values as described in the discussion of H5Pset_filter().

Version
1.8.5 Function extended to work with group creation property lists.
Since
1.6.0

◆ H5Premove_filter()

herr_t H5Premove_filter ( hid_t  plist_id,
H5Z_filter_t  filter 
)

Delete one or more filters in the filter pipeline.

Parameters
[in]plist_idObject creation property list identifier
[in]filterFilter to be deleted
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Premove_filter() removes the specified filter from the filter pipeline in the dataset or group creation property list plist_id.

The filter parameter specifies the filter to be removed. Valid values for use in filter are as follows:

H5Z_FILTER_ALL Removes all filters from the filter pipeline
H5Z_FILTER_DEFLATE Data compression filter, employing the gzip algorithm
H5Z_FILTER_SHUFFLE Data shuffling filter
H5Z_FILTER_FLETCHER32 Error detection filter, employing the Fletcher32 checksum algorithm
H5Z_FILTER_SZIP Data compression filter, employing the SZIP algorithm
H5Z_FILTER_NBIT Data compression filter, employing the N-Bit algorithm
H5Z_FILTER_SCALEOFFSET Data compression filter, employing the scale-offset algorithm

Additionally, user-defined filters can be removed with this routine by passing the filter identifier with which they were registered with the HDF5 library.

Attempting to remove a filter that is not in the filter pipeline is an error.

Version
1.8.5 Function extended to work with group creation property lists.
Since
1.6.3

◆ H5Pset_attr_creation_order()

herr_t H5Pset_attr_creation_order ( hid_t  plist_id,
unsigned  crt_order_flags 
)

Sets tracking and indexing of attribute creation order.

Parameters
[in]plist_idProperty list identifier
[in]crt_order_flagsFlags specifying whether to track and index attribute creation order. Default: No flag set; attribute creation order is neither tracked not indexed
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pset_attr_creation_order() sets flags for tracking and indexing attribute creation order on an object.

plist_id is a dataset or group creation property list identifier.

crt_order_flags contains flags with the following meanings:

H5P_CRT_ORDER_TRACKED Attribute creation order is tracked but not necessarily indexed.
H5P_CRT_ORDER_INDEXED Attribute creation order is indexed (requires H5P_CRT_ORDER_TRACKED).

Default behavior is that attribute creation order is neither tracked nor indexed.

H5Pset_attr_creation_order() can be used to set attribute creation order tracking, or to set attribute creation order tracking and indexing.

Note
If a creation order index is to be built, it must be specified in the object creation property list. HDF5 currently provides no mechanism to turn on attribute creation order tracking at object creation time and to build the index later.
Since
1.8.0

◆ H5Pset_attr_phase_change()

herr_t H5Pset_attr_phase_change ( hid_t  plist_id,
unsigned  max_compact,
unsigned  min_dense 
)

Sets attribute storage phase change thresholds.

Parameters
[in]plist_idProperty list identifier
[in]max_compactMaximum number of attributes to be stored in compact storage (Default: 8); must be greater than or equal to min_dense
[in]min_denseMinimum number of attributes to be stored in dense storage (Default: 6)
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pset_attr_phase_change() sets threshold values for attribute storage on an object. These thresholds determine the point at which attribute storage changes from compact storage (i.e., storage in the object header) to dense storage (i.e., storage in a heap and indexed with a B-tree).

In the general case, attributes are initially kept in compact storage. When the number of attributes exceeds max_compact, attribute storage switches to dense storage. If the number of attributes subsequently falls below min_dense, the attributes are returned to compact storage.

If max_compact is set to 0 (zero), dense storage is always used. min_dense must be set to 0 (zero) when max_compact is 0 (zero).

plist_id is a dataset or group creation property list identifier.

Since
1.8.0

◆ H5Pset_filter()

herr_t H5Pset_filter ( hid_t  plist_id,
H5Z_filter_t  filter,
unsigned int  flags,
size_t  cd_nelmts,
const unsigned int  c_values[] 
)

Adds a filter to the filter pipeline.

Parameters
[in]plist_idObject creation property list identifier
[in]filterFilter identifier for the filter to be added to the pipeline
[in]flagsBit vector specifying certain general properties of the filter
[in]cd_nelmtsNumber of elements in c_values
[in]c_valuesAuxiliary data for the filter
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pset_filter() adds the specified filter identifier and corresponding properties to the end of an output filter pipeline.

plist_id must be either a dataset creation property list or group creation property list identifier. If plist_id is a dataset creation property list identifier, the filter is added to the raw data filter pipeline.

If plist_id is a group creation property list identifier, the filter is added to the link filter pipeline, which filters the fractal heap used to store most of the link metadata in certain types of groups. The only predefined filters that can be set in a group creation property list are the gzip filter (H5Z_FILTER_DEFLATE) and the Fletcher32 error detection filter (H5Z_FILTER_FLETCHER32).

The array cd_values contains cd_nelmts unsigned integers which are auxiliary data for the filter. The values are typically used as parameters to control the filter. In a filter's set_local method (called from H5Dcreate), the values are interpreted and possibly modified before they are used to control the filter. These, possibly modified values, are then stored in the dataset object header as auxiliary data for the filter.

The flags argument is a bit vector with the following fields specifying certain general properties of the filter:

H5Z_FLAG_OPTIONAL If this bit is set then the filter is optional. If the filter fails (see below) during an H5Dwrite() 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 H5Dread() 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.

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.
H5Z_FLAG_MANDATORY If the filter is required, that is, set to mandatory, and the filter fails, the library's behavior depends on whether the chunk cache is in use:
  • If the chunk cache is enabled, data chunks will be flushed to the file during H5Dclose() and the library will return the failure in H5Dclose().
  • When the chunk cache is disabled or not big enough, or the chunk is being evicted from the cache, the failure will happen during H5Dwrite().
In each case, the library will still write to the file all data chunks that were processed by the filter before the failure occurred.

For example, assume that an application creates a dataset of four chunks, the chunk cache is enabled and is big enough to hold all four chunks, and the filter fails when it tries to write the fourth chunk. The actual flush of the chunks will happen during H5Dclose(), not H5Dwrite(). By the time H5Dclose() fails, the first three chunks will have been written to the file. Even though H5Dclose() fails, all the resources will be released and the file can be closed properly.

If, however, the filter fails on the second chunk, only the first chunk will be written to the file as nothing further can be written once the filter fails.

The filter parameter specifies the filter to be set. Valid pre-defined filter identifiers are as follows:

H5Z_FILTER_DEFLATE Data compression filter, employing the gzip algorithm
H5Z_FILTER_SHUFFLE Data shuffling filter
H5Z_FILTER_FLETCHER32 Error detection filter, employing the Fletcher32 checksum algorithm
H5Z_FILTER_SZIP Data compression filter, employing the SZIP algorithm
H5Z_FILTER_NBIT Data compression filter, employing the N-Bit algorithm
H5Z_FILTER_SCALEOFFSET Data compression filter, employing the scale-offset algorithm

Also see H5Pset_edc_check() and H5Pset_filter_callback().

Note
When a non-empty filter pipeline is used with a group creation property list, the group will be created with the new group file format. The filters will come into play only when dense storage is used (see H5Pset_link_phase_change()) and will be applied to the group's fractal heap. The fractal heap will contain most of the group's link metadata, including link names.
When working with group creation property lists, if you are adding a filter that is not in HDF5's set of predefined filters, i.e., a user-defined or third-party filter, you must first determine that the filter will work for a group. See the discussion of the set local and can apply callback functions in H5Zregister().
If multiple filters are set for a property list, they will be applied to each chunk of raw data for datasets or each block of the fractal heap for groups in the order in which they were set.
Filters can be applied only to chunked datasets; they cannot be used with other dataset storage methods, such as contiguous, compact, or external datasets.
Dataset elements of variable-length and dataset region reference datatypes are stored in separate structures in the file called heaps. Filters cannot currently be applied to these heaps.
Filter Behavior in HDF5:
Filters can be inserted into the HDF5 pipeline to perform functions such as compression and conversion. As such, they are a very flexible aspect of HDF5; for example, a user-defined filter could provide encryption for an HDF5 dataset.
A filter can be declared as either required or optional. Required is the default status; optional status must be explicitly declared.
A required filter that fails or is not defined causes an entire output operation to fail; if it was applied when the data was written, such a filter will cause an input operation to fail.
The following table summarizes required filter behavior.
Required FILTER_X not available FILTER_X available
H5Pset_<FILTER_X> Will fail. Will succeed.
H5Dwrite with FILTER_X set Will fail. Will succeed; FILTER_X will be applied to the data.
H5Dread with FILTER_X set Will fail. Will succeed.
An optional filter can be set for an HDF5 dataset even when the filter is not available. Such a filter can then be applied to the dataset when it becomes available on the original system or when the file containing the dataset is processed on a system on which it is available.
A filter can be declared as optional through the use of the H5Z_FLAG_OPTIONAL flag with H5Pset_filter().
Consider a situation where one is creating files that will normally be used only on systems where the optional (and fictional) filter FILTER_Z is routinely available. One can create those files on system A, which lacks FILTER_Z, create chunked datasets in the files with FILTER_Z defined in the dataset creation property list, and even write data to those datasets. The dataset object header will indicate that FILTER_Z has been associated with this dataset. But since system A does not have FILTER_Z, dataset chunks will be written without it being applied.
HDF5 has a mechanism for determining whether chunks are actually written with the filters specified in the object header, so while the filter remains unavailable, system A will be able to read the data. Once the file is moved to system B, where FILTER_Z is available, HDF5 will apply FILTER_Z to any data rewritten or new data written in these datasets. Dataset chunks that have been written on system B will then be unreadable on system A; chunks that have not been re-written since being written on system A will remain readable on system A. All chunks will be readable on system B.
The following table summarizes optional filter behavior.
FILTER_Z not available FILTER_Z available
with encode and decode
FILTER_Z available decode only
H5Pset_<FILTER_Z> Will succeed. Will succeed. Will succeed.
H5Dread with FILTER_Z set Will succeed if FILTER_Z has not actually
been applied to data.
Will succeed. Will succeed.
H5Dwrite with FILTER_Z set Will succeed;
FILTER_Z will not be applied to the data.
Will succeed;
FILTER_Z will be applied to the data.
Will succeed;
FILTER_Z will not be applied to the data.
The above principles apply generally in the use of HDF5 optional filters insofar as HDF5 does as much as possible to complete an operation when an optional filter is unavailable. (The SZIP filter is an exception to this rule; see H5Pset_szip() for details.)
See also
Data Flow Pipeline for H5Dread(), Group implementations in HDF5
Version
1.8.5 Function applied to group creation property lists.
Since
1.6.0

◆ H5Pset_fletcher32()

herr_t H5Pset_fletcher32 ( hid_t  plist_id)

Sets up use of the Fletcher32 checksum filter.

Parameters
[in]plist_idObject creation property list identifier
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pset_fletcher32() sets the Fletcher32 checksum filter in the dataset or group creation property list plist_id.

Attention
The Fletcher32 EDC checksum filter was added in HDF5 Release 1.6.0. In the original implementation, however, the checksum value was calculated incorrectly on little-endian systems. The error was fixed in HDF5 Release 1.6.3.
As a result of this fix, an HDF5 library of Release 1.6.0 through Release 1.6.2 cannot read a dataset created or written with Release 1.6.3 or later if the dataset was created with the checksum filter and the filter is enabled in the reading library. (Libraries of Release 1.6.3 and later understand the earlier error and compensate appropriately.)
Work-around: An HDF5 library of Release 1.6.2 or earlier will be able to read a dataset created or written with the checksum filter by an HDF5 library of Release 1.6.3 or later if the checksum filter is disabled for the read operation. This can be accomplished via a call to H5Pset_edc_check() with the value H5Z_DISABLE_EDC in the second parameter. This has the obvious drawback that the application will be unable to verify the checksum, but the data does remain accessible.
Version
1.8.5 Function extended to work with group creation property lists.
1.6.3 Error in checksum calculation on little-endian systems corrected in this release.
Since
1.6.0

◆ H5Pset_obj_track_times()

herr_t H5Pset_obj_track_times ( hid_t  plist_id,
hbool_t  track_times 
)

Sets the recording of times associated with an object.

Parameters
[in]plist_idObject creation property list identifier
[in]track_timesBoolean value, 1 or 0, specifying whether object times are to be tracked
Returns
Returns a non-negative value if successful; otherwise, returns a negative value.

H5Pset_obj_track_times() sets a property in the object creation property list, plist_id, that governs the recording of times associated with an object.

If track_times is set to 1, time data will be recorded. If track_times is set to 0, time data will not be recorded.

Time data can be retrieved with H5Oget_info(), which will return it in the H5O_info_t struct.

If times are not tracked, they will be reported as follows when queried: 12:00 AM UDT, Jan. 1, 1970

That date and time are commonly used to represent the beginning of the UNIX epoch.

Since
1.8.0