HDF5 documents and links 
Introduction to HDF5 
HDF5 User's Guide 
HDF5 Reference Manual 
HDF5 Application Developer's Guide 

HDF5 Software Changes from Release to Release

This document is intended to assist application developers who must keep an application synchronized with the HDF5 library or related software.

Release 1.8.2 (current release) versus Release 1.8.1, November 2008

This section lists API-level changes and changes in behavior in the transition from HDF5 Release 1.8.1 to Release 1.8.2.

New Functions

C functions:
The following C functions are new for this release and are documented in the HDF5 Reference Manual.
     H5Pset_elink_fapl           herr_t H5Pset_elink_fapl( hid_t lapl_id, hid_tfapl_id )
See entry.
  H5Pget_elink_fapl        hid_t H5Pget_elink_fapl( hid_t lapl_id )
See entry.

Fortran Subroutine:
The following subroutine is new in this release:
     H5Tget_native_type_f

New C++ Wrappers

The following functions were added as wrappers for the C function H5Rdereference to replace the incorrect IdComponent::dereference():
        void H5Object::dereference(H5Object& obj, void* ref, 
                                   H5R_type_t ref_type=H5R_OBJECT)
        void H5Object::dereference(H5File& h5file, void* ref, 
                                   H5R_type_t ref_type=H5R_OBJECT)
        void H5Object::dereference(Attribute& obj, void* ref, 
                                   H5R_type_t ref_type=H5R_OBJECT)
                

The following constructors were added to create the associated objects by way of dereference:

        DataSet(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT)
        DataSet(H5File& file, void* ref, H5R_type_t ref_type=H5R_OBJECT)
        DataSet(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT)
        Group(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT)
        Group(H5File& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT)
        Group(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT)
        DataType(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT)
        DataType(H5File& file, void* ref, H5R_type_t ref_type=H5R_OBJECT)
        DataType(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT)
                

Functions with Changed Syntax

The following function syntaxes have changed; the affected return values and parameter are noted as underscored red text.

C functions:
H5Fget_obj_count
ssize_t H5Fget_obj_count( hid_t file_id, unsigned int types )

H5Fget_obj_ids
ssize_t H5Fget_obj_ids( hid_t file_id, unsigned int types,
        size_t max_objs, hid_t *obj_id_list )

Changed Fortran Subroutines

The optional parameter mounted has been added to the following subroutines:
h5gget_info_f
h5gget_info_by_idx_f
h5gget_info_by_name_f     

Changed Data Structure

H5G_info_t
A mounted filed has been added to the H5G_info_t struct.

Tools with Changed Interface or Behavior

h5diff
h5diff now returns 1 if the files differ in structure, i.e., if the file graphs differ by any object.

The tool’s error return code has been changed to 2.

h5repack and h5diff
The standard command-line syntax of both tools has been changed to parallel that of h5dump. The new syntax of each is as follows:

     h5repack [OPTIONS] file1 file2

     h5diff [OPTIONS] file1 file2 [object1 [object2]]

In each case, the old syntax remains available (though undocumented) to avoid breaking existing scripts.

h5repack
The following new options control the addition of user block data to an existing HDF5 file:
-u U
--ublock=U
     Specifies the name of the file containing the user block data to be added.

-b B
--block=B
    
Specifies the size of the block to be added.

The following new options set parameters governing the tool’s use of H5Pset_alignment:
-t T
--threshold=T
     Specifies the threshold value for H5Pset_alignment.

-a A
--alignment=A
    
Specifies the alignment value for H5Pset_alignment.

h5repack now supports multiple instances of the '-f' or '--filter' option, allowing the use of multiple I/O filters with an object.

With no change in the command-line syntax, h5repack now retains an existing userblock when repacking an HDF5 file.

h5import
The floating point format flag TEXTFPE, for scientific notation, has been deprecated. The flag TEXTFP, which accepts scientific notation, should be used instead.

h5import now imports string data with the STR keyword in the INPUT-CLASS configuration field.

h5dump and h5ls
These tools now traverse external links when performing recursive traversals.

h5dump
Binary output now defaults to NATIVE with the '-b' option, optionally accepting NATIVE, FILE, BE, and LE.

The new '-m T' or '--format T' option enables a user-defined formatting string for printing floating-point numbers.

With no change in the command-line syntax, h5dump now prints a compression ratio when compression filters are in use.

Deprecated Functions

The following functions are deprecated as of this release:
        H5Pset_preserve
        H5Pget_preserve 

The original role of these functions is now part of the core HDF5 Library functionality.

Changed File Installation

The file libhdf5_fortran.settings is no longer installed with the HDF5 Library; the original content of that file is now included in libhdf5.settings.

Changed Library Configuration

It is no longer necessary to manually set an SZIP library path in LD_LIBRARY_PATH when building HDF5 with shared SZIP libraries; configure will determine the correct path from the --with-szlib flag, prepending it to and exporting LD_LIBRARY_PATH.

Note that if an SZIP library path is set in a user-supplied LD_LIBRARY_PATH, in an existing script, for example, that does not necessarily need to be changed; configure will prepend the SZIP library path extracted from --with-szlib to the user-supplied LD_LIBRARY_PATH.


Release 1.8.1 versus Release 1.8.0

HDF5 Release 1.8.1 is a minor release with several bugfixes and optimizations and limited new features.

The most significant new feature is an expanded set of Fortran90 APIs, enabling essentially all new C library features of Release 1.8.0.

New Functions and Tools

C functions:
There are no new C functions for Release 1.8.1.

Fortran subroutines:
The following Fortran subroutines are new for Release 1.8.1 and are documented in the HDF5 Reference Manual.

H5A
h5acreate_f
h5acreate_by_name_f
h5adelete_by_idx_f
h5adelete_by_name_f
h5aexists_f
h5aexists_by_name_f
h5aget_create_plist_f
h5aget_info_f
h5aget_info_by_idx_f
                  
 
h5aget_info_by_name_f
h5aget_name_by_idx_f
h5aget_storage_size_f
h5aopen_f
h5aopen_by_idx_f
h5aopen_by_name_f
h5arename_f
h5arename_by_name_f
                  
H5D
h5dcreate_anon_f
h5dcreate_f
                  
 
h5dopen_f
h5dset_extent_f
                  
H5G
h5gcreate_anon_f
h5gcreate_f
h5gget_create_plist_f
h5gget_info_f
                  
 
h5gget_info_by_idx_f
h5gget_info_by_name_f
h5gopen_f
                  
H5L
h5lcopy_f
h5lcreate_external_f
h5lcreate_hard_f
h5lcreate_soft_f
h5ldelete_f
h5ldelete_by_idx_f
                  
 
h5lexists_f
h5lget_info_f
h5lget_info_by_idx_f
h5lget_name_by_idx_f
h5lmove_f
                  
H5O
h5olink_f
                  
 
h5oopen_f
                  
H5P
h5pget_attr_creation_order_f
h5pget_attr_phase_change_f
h5pget_char_encoding_f
h5pget_copy_object_f
h5pget_create_inter_group_f
h5pget_data_transform_f
h5pget_elink_prefix_f
h5pget_est_link_info_f
h5pget_fapl_direct_f
h5pget_link_creation_order_f
h5pget_link_phase_change_f
h5pget_local_heap_size_hint_f
h5pget_nlinks_f
h5pget_obj_track_times_f
h5pget_shared_mesg_index_f
h5pget_shared_mesg_nindexes_f
                  
 
h5pset_attr_creation_order_f
h5pset_attr_phase_change_f
h5pset_char_encoding_f
h5pset_copy_object_f
h5pset_create_inter_group_f
h5pset_data_transform_f
h5pset_elink_prefix_f
h5pset_est_link_info_f
h5pset_fapl_direct_f
h5pset_libver_bounds_f
h5pset_link_creation_order_f
h5pset_link_phase_change_f
h5pset_local_heap_size_hint_f
h5pset_obj_track_times_f
h5pset_nbit_f
h5pset_nlinks_f
h5pset_scaleoffset_f
                  
H5R
h5rget_name_f
                  
 
                  
H5S
h5sdecode_f
h5sencode_f
                  
 
h5sextent_equal_f
                  
H5T
h5tcommit_anon_f
h5tcommit_f
h5tcommitted_f
h5tcompiler_conv_f
                  
 
h5tdecode_f
h5tencode_f
h5tget_create_plist_f
h5topen_f
                  

C++ wrappers:
There are no new C++ wrappers for Release 1.8.1.

Functions and Tools with Changed Syntax

C functions with changed syntax:
There are no C functions with changed syntax in Release 1.8.1.

Fortran subroutines with changed syntax:
In the following Fortran subroutines, spos is a new parameter indicating the position of the sign bit:
     h5tset_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)
     h5tget_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)

Changed C++ wrappers:
  • The class AbstractDS was moved out of H5Object.

    The class Attribute now multiply inherits from IdComponent and AbstractDs; the class DataSet now multiply inherits from H5Object and AbstractDs.

    In addition, data member IdComponent::id was moved into subclasses: Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.

  • IdComponent::dereference was incorrect; it was changed from:
         void IdComponent::dereference(IdComponent& obj, void* ref)
    to:
         void H5Object::dereference(H5File& h5file, void* ref)
         void H5Object::dereference(H5Object& obj, void* ref)

Tools with changed syntax:
  • The command-line syntax of h5repack was changed in Release 1.8.0 to the following:
         h5repack [OPTIONS] in_file out_file

    Since this would be imcompatible with existing user scripts, the original syntax has be re-enabled in this release:
         h5repack -i in_file -o out_file [OPTIONS]

    h5repack now understands either syntax.

  • An h5repack option to set the minimum number of links in indexed format was introduced in Release 1.8.0 as '-d min_indexed_links' or '--indexed=min_indexed_links'. In Release 1.8.1, the '-i' form has been changed to '-d' as follows:
         -d min_indexed_links
    or
         --indexed=min_indexed_links

  • The command-line syntax of h5diff was changed in Release 1.8.0 to the following:
         h5diff [OPTIONS] file1 file2 [object1 [object2 ] ]

Tools with new options:
  • h5dump -m T  or  --format T   Sets format of floating point output

Changed Behavior or Output

Changed library behavior:
A 4GB limit on the size of dataset chunks is now properly enforced when a dataset is created.

The HDF5 Library now works more effectively with external links. Some valid external links that previously failed will now be properly recognized. See H5Lcreate_external.

C functions with changed behavior:
The behavior of H5Lcreate_external has changed as described immediately above.

Tools with changed behavior and changed output:
The h5dump -p option now prints the compression ratio if a compression filter is associated with a dataset.

h5dump now supports external links, displaying the target objects (datasets, groups, and named datatypes).

Tools with changed output:

Changed Library Configuration

The following configuration flag is new with this release:
--disable-sharedlib-rpath

Removed Patch Requirement

The patch that was required for Cygwin with HDF5 Release 1.8.0 has been rolled into this release and no longer needs to be applied by the user.

Release 1.8.0 versus Release 1.6.x

HDF5 Release 1.8.0 is a major release with several new features and a variety of bugfixes, optimizations, and portability enhancements.

See the document “What’s New in HDF5 1.8.0” for a high-level overview of the new functionality in this release. The following pages assume a familiarity with that overview.

This section provides details of the API-level changes that have been made in the transition to HDF5 Release 1.8.0 from the Release 1.6.x series.

API Compatibility Macros with Associated Renamed and New Functions

Release 1.8.0 introduces API compatibility macros designed to facilitate application migration. These macros are intended to facilitate developer management of a clean, step-by-step migration from an older HDF5 Library to the new release; they can also be used to enable older applications to use the new library without requiring that the application be rewritten. See API Compatibility Macros in HDF5 for a full description.

Macros are identified in reference manual function indexes by an italic typeface.

The new macros and the new and old functions to which they may be mapped are as follows:

H5Acreate      H5Acreate1
H5Acreate2
Renamed from H5Acreate
New
H5Aiterate      H5Aiterate1
H5Aiterate2
Renamed from H5Aiterate
New
H5Eclear      H5Eclear1
H5Eclear2
Renamed from H5Eclear
New
H5Eget_auto      H5Eget_auto1
H5Eget_auto2
Renamed from H5Eget_auto
New
H5Eprint      H5Eprint1
H5Eprint2
Renamed from H5Eprint
New
H5Epush      H5Epush1
H5Epush2
Renamed from H5Epush
New
H5Eset_auto      H5Eset_auto1
H5Eset_auto2
Renamed from H5Eset_auto
New
H5Ewalk      H5Ewalk1
H5Ewalk2
Renamed from H5Ewalk
New
H5Gcreate      H5Gcreate1
H5Gcreate2
Renamed from H5Gcreate
New
H5Gopen      H5Gopen1
H5Gopen2
Renamed from H5Gopen
New
H5Pget_filter      H5Pget_filter1
H5Pget_filter2
Renamed from H5Pget_filter
New
H5Pget_filter_by_id      H5Pget_filter_by_id1
H5Pget_filter_by_id2
Renamed from H5Pget_filter_by_id
New
H5Pinsert      H5Pinsert1
H5Pinsert2
Renamed from H5Pinsert
New
H5Pregister      H5Pregister1
H5Pregister2
Renamed from H5Pregister
New
H5Rget_obj_type      H5Rget_obj_type1
H5Rget_obj_type2
Renamed from H5Rget_obj_type
New
H5Tarray_create      H5Tarray_create1
H5Tarray_create2
Renamed from H5Tarray_create
New
H5Tcommit      H5Tcommit1
H5Tcommit2
Renamed from H5Tcommit
New
H5Tget_array_dims      H5Tget_array_dims1
H5Tget_array_dims2
Renamed from H5Tget_array_dims
New
H5Topen      H5Topen1
H5Topen2
Renamed from H5Topen
New

New Functions and Tools

C functions:
The following C functions are new for Release 1.8.0 and, unless otherwise noted, are documented in the HDF5 Reference Manual.

Recursive iteration
 
H5Lvisit      herr_t H5Lvisit( hid_t group_id, H5_index_t index_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data )
See entry.
H5Lvisit_by_name      herr_t H5Lvisit_by_name( hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id )
See entry.
H5Ovisit      herr_t H5Ovisit( hid_t group_id, H5_index_t index_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data )
See entry.
H5Ovisit_by_name      herr_t H5Ovisit_by_name( hid_t loc_id, const char *object_name, H5_index_t index_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id )
See entry.

“Format bounds” property
Release-to-release format compatibility
 
H5Pset_libver_bounds      herr_t H5Pset_libver_bounds( hid_t fapl_id, H5F_libver_t low, H5F_libver_t high )
See entry.
H5Pget_libver_bounds      herr_t H5Pget_libver_bounds( hid_t fapl_id, H5F_libver_t *low, H5F_libver_t *high )
See entry.

Configurable compact-or-indexed
groups (compact and large groups)
 
H5Pset_link_phase_change      herr_t H5Pset_link_phase_change( hid_t gcpl_id, unsigned max_compact, unsigned min_dense )
See entry.
H5Pget_link_phase_change      herr_t H5Pget_link_phase_change( hid_t gcpl_id, unsigned *max_compact, unsigned *min_dense )
See entry.
H5Pset_est_link_info      herr_t H5Pset_est_link_info( hid_t gcpl_id, unsigned est_num_entries, unsigned est_name_len )
See entry.
H5Pget_est_link_info      herr_t H5Pget_est_link_info( hid_t gcpl_id, unsigned *est_num_entries, unsigned *est_name_len )
See entry.
H5Pset_nlinks      herr_t H5Pset_nlinks( hid_t lapl_id, size_t nlinks )
See entry.
H5Pget_nlinks      herr_t H5Pget_nlinks( hid_t lapl_id, size_t *nlinks )
See entry.

User-defined links
 
H5Lcreate_ud      herr_t H5Lcreate_ud( hid_t link_loc_id, const char *link_name, H5L_type_t link_type, const char *udata, size_t udata_size, hid_t lcpl_id, hid_t lapl_id )
See entry.
H5Lregister      herr_t H5Lregister( const H5L_class_t * link_class )
See entry.
H5Lunregister      herr_t H5Lunregister( H5L_type_t link_cls_id )
See entry.
H5Oincr_refcount      herr_t H5Oincr_refcount( hid_t object_id )
See entry.
H5Odecr_refcount      herr_t H5Odecr_refcount( hid_t object_id )
See entry.

External links
 
H5Lcreate_external      herr_t H5Lcreate_external( const char *file_name, const char *object_name, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id )
See entry.
H5Lunpack_elink_val      herr_t H5Lunpack_elink_val( char *ext_linkval, size_t link_size, const char **filename, const char **obj_path )
See entry.
H5Pset_elink_prefix      herr_t H5Pset_elink_prefix( hid_t lapl_id, const char *prefix )
See entry.
H5Pget_elink_prefix      herr_t H5Pget_elink_prefix( hid_t lapl_id, const char **prefix )
See entry.

Link creation order
tracking and indexing
 
H5Pset_link_creation_order      herr_t H5Pset_link_creation_order( hid_t ocpl_id, unsigned *crt_order_flags )
See entry.
H5Pget_link_creation_order      herr_t H5Pget_link_creation_order( hid_t ocpl_id, unsigned *crt_order_flags )
See entry.
H5Gget_create_plist      hid_t H5Gget_create_plist( hid_t group_id )
See entry.
H5Gget_info_by_idx      herr_t H5Gget_info_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, hsize_t n, H5G_info_t *group_info, hid_t lapl_id )
See entry.
H5Tget_create_plist      hid_t H5Tget_create_plist( hid_t dtype_id )
See entry.

Link API (H5L), an all-new interface
(includes user-defined and external links)
 
H5Lcopy      herr_t H5Lcopy( hid_t src_loc_id, const char *src_name, hid_t dest_loc_id, const char *dest_name, hid_t lcpl_id hid_t lapl_id )
See entry.
H5Lcreate_external      herr_t H5Lcreate_external( const char *file_name, const char *object_name, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id )
See entry.
H5Lcreate_hard      herr_t H5Lcreate_hard( hid_t obj_loc_id, const char *obj_name, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id )
See entry.
H5Lcreate_soft      herr_t H5Lcreate_soft( const char *target_path, hid_t link_loc_id, const char *link_name, hid_t lcpl_id, hid_t lapl_id )
See entry.
H5Lcreate_ud      herr_t H5Lcreate_ud( hid_t link_loc_id, const char *link_name, H5L_type_t link_type, const char *udata, size_t udata_size, hid_t lcpl_id, hid_t lapl_id )
See entry.
H5Ldelete      herr_t H5Ldelete( hid_t loc_id, const char *name, hid_t lapl_id )
See entry.
H5Ldelete_by_idx      herr_t H5Ldelete_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, hid_t lapl_id )
See entry.
H5Lexists      htri_t H5Lexists( hid_t loc_id, const char *name, hid_t lapl_id )
See entry.
H5Lget_info      herr_t H5Lget_info( hid_t link_loc_id, const char *link_name, H5L_info_t *link_buff, hid_t lapl_id )
See entry.
H5Lget_info_by_idx      herr_t H5Lget_info_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, H5L_info_t *link_val, hid_t lapl_id )
See entry.
H5Lget_name_by_idx      ssize_t H5Lget_name_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id )
See entry.
H5Lget_val      herr_t H5Lget_val( hid_t link_loc_id, const char *link_name, void *linkval_buff, size_t size, hid_t lapl_id )
See entry.
H5Lget_val_by_idx      ssize_t H5Lget_val_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, char *value_buf, size_t size, hid_t lapl_id )
See entry.
H5Lis_registered      htri_t H5Lis_registered( H5L_type_t link_cls_id )
See entry.
H5Literate      herr_t H5Literate( hid_t loc_id, H5_index_t index_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data )
See entry.
H5Literate_by_name      herr_t H5Literate( hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t *lapl_id )
See entry.
H5Lmove      herr_t H5Lmove( hid_t src_loc_id, const char *src_name, hid_t dest_loc_id, const char *dest_name, hid_t lcpl, hid_t lapl )
See entry.
H5Lregister      herr_t H5Lregister( const H5L_class_t * link_class )
See entry.
H5Lunpack_elink_val      herr_t H5Lunpack_elink_val( char *ext_linkval, size_t link_size, const char **filename, const char **obj_path )
See entry.
H5Lunregister      herr_t H5Lunregister( H5L_type_t link_cls_id )
See entry.
H5Lvisit      herr_t H5Lvisit( hid_t group_id, H5_index_t index_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data )
See entry.
H5Lvisit_by_name      herr_t H5Lvisit_by_name( hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id )
See entry.

Enhanced attribute handling
 
H5Acreate2      hid_t H5Acreate2( hid_t loc_id, const char *obj_name, const char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id )
See entry.
H5Adelete_by_idx      herr_t H5Adelete_by_idx( hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id )
See entry.
H5Adelete_by_name      herr_t H5Adelete_by_name( hid_t loc_id, const char *obj_name, const char *attr_name, hid_t lapl_id )
See entry.
H5Aget_info      herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo )
See entry.
H5Aget_info_by_idx      herr_t H5Aget_info_by_idx( hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id )
See entry.
H5Aget_info_by_name      herr_t H5Aget_info_by_name( hid_t loc_id, const char *obj_name, const char *attr_name, H5A_info_t *ainfo, hid_t lapl_id )
See entry.
H5Aget_name_by_idx      ssize_t H5Aget_name_by_idx( hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id )
See entry.
H5Aget_storage_size      hsize_t H5Aget_storage_size( hid_t attr_id )
See entry.
H5Aiterate2      herr_t H5Aiterate2( hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data )
See entry.
H5Aiterate_by_name      herr_t H5Aiterate_by_name( hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data, hid_t lapd_id )
See entry.
H5Aopen      herr_t H5Aopen( hid_t loc_id, const char *obj_name, const char *attr_name, hid_t aapl_id, hid_t lapl_id )
See entry.
H5Aopen_by_idx      herr_t H5Aopen_by_idx( hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id )
See entry.
H5Arename_by_name      herr_t H5Arename_by_name( hid_t loc_id, const char *obj_name, const char *old_attr_name, const char *new_attr_name, hid_t lapl_id )
See entry.

Managing large numbers of attributes
 
H5Pset_attr_phase_change      herr_t H5Pset_attr_phase_change( hid_t ocpl_id, unsigned max_compact, unsigned min_dense )
See entry.
H5Pget_attr_phase_change      herr_t H5Pget_attr_phase_change( hid_t ocpl_id, unsigned *max_compact, unsigned *min_dense )
See entry.

Attribute creation order
tracking and indexing
 
H5Pset_attr_creation_order      herr_t H5Pset_attr_creation_order( hid_t ocpl_id, unsigned crt_order_flags )
See entry.
H5Pget_attr_creation_order      herr_t H5Pget_attr_creation_order( hid_t ocpl_id, unsigned *crt_order_flags )
See entry.
H5Aget_create_plist      hid_t H5Aget_create_plist( hid_t attr_id )
See entry.

Shared object header messages (SOHM)
 
H5Pset_shared_mesg_index      herr_t H5Pset_shared_mesg_index( hid_t fcpl_id, unsigned index_num, unsigned mesg_type_flags, unsigned min_mesg_size )
See entry.
H5Pset_shared_mesg_nindexes      herr_t H5Pset_shared_mesg_nindexes( hid_t plist_id, unsigned nindexes )
See entry.
H5Pset_shared_mesg_phase_change      herr_t H5Pset_shared_mesg_phase_change( hid_t fcpl_id, unsigned max_list, unsigned min_btree )
See entry.
H5Pget_shared_mesg_index      herr_t H5Pget_shared_mesg_index( hid_t fcpl_id, unsigned index_num, unsigned *mesg_type_flags, unsigned *min_mesg_size )
See entry.
H5Pget_shared_mesg_nindexes      herr_t H5Pget_shared_mesg_nindexes( hid_t fcpl_id, unsigned *nindexes )
See entry.
H5Pget_shared_mesg_phase_change      herr_t H5Pget_shared_mesg_phase_change( hid_t fcpl_id, unsigned *max_list, unsigned *min_btree )
See entry.

Enhanced local heap size
management   (group meta data)
 
H5Pset_local_heap_size_hint      herr_t H5Pset_local_heap_size_hint( hid_t gcpl_id, size_t *size_hint )
See entry.
H5Pget_local_heap_size_hint      herr_t H5Pget_local_heap_size_hint( hid_t gcpl_id, size_t size_hint )
See entry.

UNICODE support
 
H5Pset_char_encoding      herr_t H5Pset_char_encoding( hid_t plist_id, H5T_cset_t encoding )
See entry.
H5Pget_char_encoding      herr_t H5Pget_char_encoding( hid_t plist_id, H5T_cset_t encoding )
See entry.

Object API (H5O), all new
 
H5Oclose      herr_t H5Oclose( hid_t object_id )
See entry.
H5Ocopy      herr_t H5Ocopy( hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, const char *dst_name, hid_t ocp_plist_id, hid_t lcpl_id )
See entry.
H5Odecr_refcount      herr_t H5Odecr_refcount( hid_t object_id )
See entry.
H5Oget_comment      ssize_t H5Oget_comment( hid_t object_id, char *comment, size_t bufsize )
See entry.
H5Oget_comment_by_name      ssize_t H5Oget_comment_by_name( hid_t loc_id, const char *name, char *comment, size_t bufsize, hid_t lapl_id )
See entry.
H5Oget_info      herr_t H5Oget_info( hid_t object_id, H5O_info_t *obj_info )
See entry.
H5Oget_info_by_idx      herr_t H5Oget_info_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, H5O_info_t *obj_info, hid_t lapl_id )
See entry.
H5Oget_info_by_name      herr_t H5Oget_info_by_name( hid_t loc_id, const char *object_name, H5O_info_t *object_info, hid_t lapl_id )
See entry.
H5Oincr_refcount      herr_t H5Oincr_refcount( hid_t object_id )
See entry.
H5Olink      herr_t H5Olink( hid_t obj_id, hid_t new_loc_id, const char *new_link_name, hid_t lcpl, hid_t lapl )
See entry.
H5Oopen      hid_t H5Oopen( hid_t loc_id, const char *name, hid_t lapl_id )
See entry.
H5Oopen_by_addr      hid_t H5Oopen_by_addr( hid_t loc_id, haddr_t addr )
See entry.
H5Oopen_by_idx      herr_t H5Oopen_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, hid_t lapl_id )
See entry.
H5Oset_comment      herr_t H5Oset_comment( hid_t object_id, const char *comment )
See entry.
H5Oset_comment_by_name      herr_t H5Oset_comment_by_name( hid_t loc_id, const char *name, const char *comment, hid_t lapl_id )
See entry.
H5Ovisit      herr_t H5Ovisit( hid_t group_id, H5_index_t index_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data )
See entry.
H5Ovisit_by_name      herr_t H5Ovisit_by_name( hid_t loc_id, const char *object_name, H5_index_t index_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id )
See entry.

Object creation or copying with
“create intermediate groups” property
 
H5Pset_create_intermediate_group   herr_t H5Pset_create_intermediate_group( hid_t gcpl_id, unsigned crt_intermed_group )
See entry.
H5Pget_create_intermediate_group herr_t H5Pget_create_intermediate_group( hid_t gcpl_id, unsigned *crt_intermed_group )
See entry.

Object copy properties
 
H5Ocopy      herr_t H5Ocopy( hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, const char *dst_name, hid_t ocp_plist_id, hid_t lcpl_id )
See entry.
H5Pset_copy_object      herr_t H5Pset_copy_object( hid_t cplist_id, unsigned copy_options )
See entry.
H5Pget_copy_object      herr_t H5Pget_copy_object( hid_t cplist_id, unsigned *copy_options )
See entry.

Improved object and file
information retrieval
 
H5Aget_info      herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo )
See entry.
H5Aget_info_by_name      herr_t H5Aget_info_by_name( hid_t loc_id, const char *obj_name, const char *attr_name, H5A_info_t *ainfo, hid_t lapl_id )
See entry.
H5Aget_info_by_idx      herr_t H5Aget_info_by_idx( hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id )
See entry.
H5Fget_info      herr_t H5Fget_info( hid_t obj_id, H5F_info_t *bh_info )
See entry.
H5Gget_info      herr_t H5Gget_info( hid_t group_id, H5G_info_t group_info )
See entry.
H5Gget_info_by_name      herr_t H5Gget_info_by_name( hid_t loc_id, const char *group_name, H5G_info_t group_info, hid_t lapl_id )
See entry.
H5Gget_info_by_idx      herr_t H5Gget_info_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_type, H5_iter_order_t order, hsize_t n, H5G_info_t group_info, hid_t lapl_id )
See entry.
H5Lget_info      herr_t H5Lget_info( hid_t link_loc_id, const char *link_name, H5L_info_t *link_buff, hid_t lapl_id )
See entry.
H5Lget_info_by_idx      herr_t H5Lget_info_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, H5L_info_t *link_val, hid_t lapl_id )
See entry.
H5Oget_info      herr_t H5Oget_info( hid_t object_id, H5O_info_t *obj_info )
See entry.
H5Oget_info_by_name      herr_t H5Oget_info_by_name( hid_t loc_id, const char *object_name, H5O_info_t *object_info, hid_t lapl_id )
See entry.
H5Oget_info_by_idx      herr_t H5Oget_info_by_idx( hid_t loc_id, const char *group_name, H5_index_t index_field, H5_iter_order_t order, hsize_t n, H5O_info_t *obj_info, hid_t lapl_id )
See entry.

Name of referenced object
 
H5Rget_name      ssize_t H5Rget_name( hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size )
See entry.

Anonymous object creation
 
H5Dcreate_anon      hid_t H5Dcreate_anon( hid_t loc_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id )
See entry.
H5Gcreate_anon      hid_t H5Gcreate_anon(hid_t loc_id, const char * name, hid_t gcpl_id, hid_t gapl_id)
See entry.
H5Tcommit_anon      herr_t H5Tcommit_anon( hid_t loc_id, hid_t type_id, hid_t tcpl_id, hid_t tapl_id )
See entry.
H5Lcreate_hard      herr_t H5Lcreate_hard( hid_t obj_loc_id, const char *obj_name, hid_t link_loc_id, const char *link_name, hid_t lcpl, hid_t lapl )
See entry.

New-style object creation and open
functions  (includes anonymous
object creation)
 
H5Dcreate_anon      hid_t H5Dcreate_anon( hid_t loc_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id )
See entry.
H5Dcreate2      hid_t H5Dcreate2( hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id )
See entry.
H5Dopen2      hid_t H5Dopen2( hid_t loc_id, const char *name, hid_t dapl_id )
See entry.
H5Gcreate_anon      hid_t H5Gcreate_anon(hid_t loc_id, const char * name, hid_t gcpl_id, hid_t gapl_id)
See entry.
H5Gcreate2      hid_t H5Gcreate2( hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id )
See entry.
H5Gopen2      hid_t H5Gopen2( hid_t loc_id, const char * name, hid_t gapl_id )
See entry.
H5Tcommit_anon      herr_t H5Tcommit_anon( hid_t loc_id, hid_t type_id, hid_t tcpl_id, hid_t tapl_id )
See entry.
H5Tcommit2      herr_t H5Tcommit2( hid_t loc_id, const char *name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id )
See entry.
H5Topen2      hid_t H5Topen2( hid_t loc_id, const char * name, hid_t tapl_id )
See entry.

User-defined identifiers
 
H5Iregister      hid_t H5Iregister(H5I_type_t type, void *object)
See entry.
H5Iregister_type      H5I_type_t H5Iregister_type(size_t hash_size, unsigned reserved, H5I_free_t free_func)
See entry.
H5Idestroy_type      herr_t H5Idestroy_type(H5I_type_t type)
See entry.
H5Iinc_type_ref      int H5Iinc_type_ref(H5I_type_t type)
See entry.
H5Idec_type_ref      int H5Idec_type_ref(H5I_type_t type)
See entry.
H5Iget_type_ref      int H5Iget_type_ref(H5I_type_t type)
See entry.

Other identifier API (H5I) enhancemen