Skip to content

Commit

Permalink
Add dset_no_attrs_hint support, h5f coverage up to v1.12 (#944)
Browse files Browse the repository at this point in the history
* add dset_no_attrs_hint support, h5f coverage

* no_attrs_hint requires 1.10.5

* Only run h5f_get_dset_no_attrs_hint tests for 1.10.5+

* Add test for h5f_get_dset_no_attrs_hint

* Fix h5f_get_dset_no_attrs_hint helper

* Document no_attrs_hint property of dcpl

* Update test/fileio.jl
  • Loading branch information
mkitti authored May 31, 2022
1 parent 8338e09 commit 6dd3b56
Show file tree
Hide file tree
Showing 9 changed files with 540 additions and 12 deletions.
60 changes: 60 additions & 0 deletions docs/src/api_bindings.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,37 +169,97 @@ h5e_walk
---

## [[`H5F`](https://portal.hdfgroup.org/display/HDF5/Files) — File Interface](@id H5F)
- [`h5f_clear_elink_file_cache`](@ref h5f_clear_elink_file_cache)
- [`h5f_close`](@ref h5f_close)
- [`h5f_create`](@ref h5f_create)
- [`h5f_delete`](@ref h5f_delete)
- [`h5f_flush`](@ref h5f_flush)
- [`h5f_format_convert`](@ref h5f_format_convert)
- [`h5f_get_access_plist`](@ref h5f_get_access_plist)
- [`h5f_get_create_plist`](@ref h5f_get_create_plist)
- [`h5f_get_dset_no_attrs_hint`](@ref h5f_get_dset_no_attrs_hint)
- [`h5f_get_eoa`](@ref h5f_get_eoa)
- [`h5f_get_file_image`](@ref h5f_get_file_image)
- [`h5f_get_fileno`](@ref h5f_get_fileno)
- [`h5f_get_filesize`](@ref h5f_get_filesize)
- [`h5f_get_free_sections`](@ref h5f_get_free_sections)
- [`h5f_get_freespace`](@ref h5f_get_freespace)
- [`h5f_get_info`](@ref h5f_get_info)
- [`h5f_get_intent`](@ref h5f_get_intent)
- [`h5f_get_mdc_config`](@ref h5f_get_mdc_config)
- [`h5f_get_mdc_hit_rate`](@ref h5f_get_mdc_hit_rate)
- [`h5f_get_mdc_image_info`](@ref h5f_get_mdc_image_info)
- [`h5f_get_mdc_logging_status`](@ref h5f_get_mdc_logging_status)
- [`h5f_get_mdc_size`](@ref h5f_get_mdc_size)
- [`h5f_get_metadata_read_retry_info`](@ref h5f_get_metadata_read_retry_info)
- [`h5f_get_mpi_atomicity`](@ref h5f_get_mpi_atomicity)
- [`h5f_get_name`](@ref h5f_get_name)
- [`h5f_get_obj_count`](@ref h5f_get_obj_count)
- [`h5f_get_obj_ids`](@ref h5f_get_obj_ids)
- [`h5f_get_page_buffering_stats`](@ref h5f_get_page_buffering_stats)
- [`h5f_get_vfd_handle`](@ref h5f_get_vfd_handle)
- [`h5f_increment_filesize`](@ref h5f_increment_filesize)
- [`h5f_is_accessible`](@ref h5f_is_accessible)
- [`h5f_is_hdf5`](@ref h5f_is_hdf5)
- [`h5f_mount`](@ref h5f_mount)
- [`h5f_open`](@ref h5f_open)
- [`h5f_reopen`](@ref h5f_reopen)
- [`h5f_reset_mdc_hit_rate_stats`](@ref h5f_reset_mdc_hit_rate_stats)
- [`h5f_reset_page_buffering_stats`](@ref h5f_reset_page_buffering_stats)
- [`h5f_set_dset_no_attrs_hint`](@ref h5f_set_dset_no_attrs_hint)
- [`h5f_set_libver_bounds`](@ref h5f_set_libver_bounds)
- [`h5f_set_mdc_config`](@ref h5f_set_mdc_config)
- [`h5f_set_mpi_atomicity`](@ref h5f_set_mpi_atomicity)
- [`h5f_start_mdc_logging`](@ref h5f_start_mdc_logging)
- [`h5f_start_swmr_write`](@ref h5f_start_swmr_write)
- [`h5f_stop_mdc_logging`](@ref h5f_stop_mdc_logging)
- [`h5f_unmount`](@ref h5f_unmount)
```@docs
h5f_clear_elink_file_cache
h5f_close
h5f_create
h5f_delete
h5f_flush
h5f_format_convert
h5f_get_access_plist
h5f_get_create_plist
h5f_get_dset_no_attrs_hint
h5f_get_eoa
h5f_get_file_image
h5f_get_fileno
h5f_get_filesize
h5f_get_free_sections
h5f_get_freespace
h5f_get_info
h5f_get_intent
h5f_get_mdc_config
h5f_get_mdc_hit_rate
h5f_get_mdc_image_info
h5f_get_mdc_logging_status
h5f_get_mdc_size
h5f_get_metadata_read_retry_info
h5f_get_mpi_atomicity
h5f_get_name
h5f_get_obj_count
h5f_get_obj_ids
h5f_get_page_buffering_stats
h5f_get_vfd_handle
h5f_increment_filesize
h5f_is_accessible
h5f_is_hdf5
h5f_mount
h5f_open
h5f_reopen
h5f_reset_mdc_hit_rate_stats
h5f_reset_page_buffering_stats
h5f_set_dset_no_attrs_hint
h5f_set_libver_bounds
h5f_set_mdc_config
h5f_set_mpi_atomicity
h5f_start_mdc_logging
h5f_start_swmr_write
h5f_stop_mdc_logging
h5f_unmount
```

---
Expand Down
34 changes: 32 additions & 2 deletions gen/api_defs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -102,21 +102,51 @@
### File Interface
###

@bind h5f_clear_elink_file_cache(file_id::hid_t)::herr_t "Error in h5f_clear_elink_file_cache (not annotated)"
@bind h5f_close(file_id::hid_t)::herr_t "Error closing file"
@bind h5f_create(pathname::Ptr{UInt8}, flags::Cuint, fcpl_id::hid_t, fapl_id::hid_t)::hid_t "Error creating file $pathname"
@bind h5f_delete(filename::Ptr{Cchar}, fapl_id::hid_t)::herr_t "Error in h5f_delete (not annotated)"
@bind h5f_flush(object_id::hid_t, scope::Cint)::herr_t "Error flushing object to file"
@bind h5f_format_convert(fid::hid_t)::herr_t "Error in h5f_format_convert (not annotated)"
@bind h5f_get_access_plist(file_id::hid_t)::hid_t "Error getting file access property list"
@bind h5f_get_create_plist(file_id::hid_t)::hid_t "Error getting file create property list"
@bind h5f_get_dset_no_attrs_hint(file_id::hid_t, minimize::Ptr{hbool_t})::herr_t "Error getting dataset no attributes hint"
@bind h5f_get_eoa(file_id::hid_t, eoa::Ptr{haddr_t})::herr_t "Error in h5f_get_eoa (not annotated)"
@bind h5f_get_file_image(file_id::hid_t, buf_ptr::Ptr{Cvoid}, buf_len::Csize_t)::Cssize_t "Error in h5f_get_file_image (not annotated)"
@bind h5f_get_fileno(file_id::hid_t, fileno::Ptr{Culong})::herr_t "Error in h5f_get_fileno (not annotated)"
@bind h5f_get_filesize(file_id::hid_t, size::Ptr{hsize_t})::herr_t "Error in h5f_get_filesize (not annotated)"
@bind h5f_get_free_sections(file_id::hid_t, type::H5F_mem_t, nsects::Csize_t, sect_info::Ptr{H5F_sect_info_t})::Cssize_t "Error in h5f_get_free_sections (not annotated)"
@bind h5f_get_freespace(file_id::hid_t)::hssize_t "Error in h5f_get_freespace (not annotated)"
@bind h5f_get_intent(file_id::hid_t, intent::Ptr{Cuint})::herr_t "Error getting file intent"
@bind h5f_get_info2(obj_id::hid_t, file_info::Ptr{H5F_info2_t})::herr_t "Error in h5f_get_info2 (not annotated)"
@bind h5f_get_mdc_config(file_id::hid_t, config_ptr::Ptr{H5AC_cache_config_t})::herr_t "Error in h5f_get_mdc_config (not annotated)"
@bind h5f_get_mdc_hit_rate(file_id::hid_t, hit_rate_ptr::Ptr{Cdouble})::herr_t "Error in h5f_get_mdc_hit_rate (not annotated)"
@bind h5f_get_mdc_image_info(file_id::hid_t, image_addr::Ptr{haddr_t}, image_size::Ptr{hsize_t})::herr_t "Error in h5f_get_mdc_image_info (not annotated)"
@bind h5f_get_mdc_logging_status(file_id::hid_t, is_enabled::Ptr{hbool_t}, is_currently_logging::Ptr{hbool_t})::herr_t "Error in h5f_get_mdc_logging_status (not annotated)"
@bind h5f_get_mdc_size(file_id::hid_t, max_size_ptr::Ptr{Csize_t}, min_clean_size_ptr::Ptr{Csize_t}, cur_size_ptr::Ptr{Csize_t}, cur_num_entries_ptr::Ptr{Cint})::herr_t "Error in h5f_get_mdc_size (not annotated)"
@bind h5f_get_metadata_read_retry_info(file_id::hid_t, info::Ptr{H5F_retry_info_t})::herr_t "Error in h5f_get_metadata_read_retry_info (not annotated)"
@bind h5f_get_mpi_atomicity(file_id::hid_t, flag::Ptr{hbool_t})::herr_t "Error in h5f_get_mpi_atomicity (not annotated)"
@bind h5f_get_name(obj_id::hid_t, buf::Ptr{UInt8}, buf_size::Csize_t)::Cssize_t "Error getting file name"
@bind h5f_get_obj_count(file_id::hid_t, types::Cuint)::Cssize_t "Error getting object count"
@bind h5f_get_obj_ids(file_id::hid_t, types::Cuint, max_objs::Csize_t, obj_id_list::Ptr{hid_t})::Cssize_t "Error getting objects"
@bind h5f_get_page_buffering_stats(file_id::hid_t, accesses::Ptr{Cuint}, hits::Ptr{Cuint}, misses::Ptr{Cuint}, evictions::Ptr{Cuint}, bypasses::Ptr{Cuint})::herr_t "Error in h5f_get_page_buffering_stats (not annotated)"
@bind h5f_get_vfd_handle(file_id::hid_t, fapl_id::hid_t, file_handle::Ref{Ptr{Cvoid}})::herr_t "Error getting VFD handle"
@bind h5f_increment_filesize(file_id::hid_t, increment::hsize_t)::herr_t "Error in h5f_increment_filesize (not annotated)"
@bind h5f_is_accessible(container_name::Ptr{Cchar}, fapl_id::hid_t)::htri_t "Error in h5f_is_accessible (not annotated)"
@bind h5f_is_hdf5(pathname::Cstring)::htri_t "Unable to access file $pathname"
@bind h5f_mount(loc::hid_t, name::Ptr{Cchar}, child::hid_t, plist::hid_t)::herr_t "Error in h5f_mount (not annotated)"
@bind h5f_open(pathname::Cstring, flags::Cuint, fapl_id::hid_t)::hid_t "Error opening file $pathname"
@bind h5f_reopen(file_id::hid_t)::hid_t "Error in h5f_reopen (not annotated)"
@bind h5f_reset_mdc_hit_rate_stats(file_id::hid_t)::herr_t "Error in h5f_reset_mdc_hit_rate_stats (not annotated)"
@bind h5f_reset_page_buffering_stats(file_id::hid_t)::herr_t "Error in h5f_reset_page_buffering_stats (not annotated)"
@bind h5f_set_dset_no_attrs_hint(file_id::hid_t, minimize::hbool_t)::herr_t "Error in setting dataset no attributes hint"
@bind h5f_set_libver_bounds(file_id::hid_t, low::H5F_libver_t, high::H5F_libver_t)::herr_t "Error in h5f_set_libver_bounds (not annotated)"
@bind h5f_set_mdc_config(file_id::hid_t, config_ptr::Ptr{H5AC_cache_config_t})::herr_t "Error in h5f_set_mdc_config (not annotated)"
@bind h5f_set_mpi_atomicity(file_id::hid_t, flag::hbool_t)::herr_t "Error in h5f_set_mpi_atomicity (not annotated)"
@bind h5f_start_mdc_logging(file_id::hid_t)::herr_t "Error in h5f_start_mdc_logging (not annotated)"
@bind h5f_start_swmr_write(id::hid_t)::herr_t "Error starting SWMR write"
@bind h5f_stop_mdc_logging(file_id::hid_t)::herr_t "Error in h5f_stop_mdc_logging (not annotated)"
@bind h5f_unmount(loc::hid_t, name::Ptr{Cchar})::herr_t "Error in h5f_unmount (not annotated)"

###
### Group Interface
Expand Down Expand Up @@ -194,7 +224,7 @@
@bind h5p_get_data_transform(plist_id::hid_t, expression::Ptr{Cchar}, size::Csize_t)::Cssize_t "Error in h5p_get_data_transform (not annotated)"
@bind h5p_get_driver(plist_id::hid_t)::hid_t "Error getting driver identifier"
@bind h5p_get_driver_info(plist_id::hid_t)::Ptr{Cvoid} "Error getting driver info"
@bind h5p_get_dset_no_attrs_hint(dcpl_id::hid_t, minimize::Ptr{hbool_t})::herr_t "Error in h5p_get_dset_no_attrs_hint (not annotated)"
@bind h5p_get_dset_no_attrs_hint(dcpl_id::hid_t, minimize::Ptr{hbool_t})::herr_t "Error in getting dataset no attributes hint property"
@bind h5p_get_dxpl_mpio(dxpl_id::hid_t, xfer_mode::Ptr{Cint})::herr_t "Error getting MPIO transfer mode"
@bind h5p_get_edc_check(plist_id::hid_t)::H5Z_EDC_t "Error in h5p_get_edc_check (not annotated)"
@bind h5p_get_elink_acc_flags(lapl_id::hid_t, flags::Ptr{Cuint})::herr_t "Error in h5p_get_elink_acc_flags (not annotated)"
Expand Down Expand Up @@ -278,7 +308,7 @@
@bind h5p_set_data_transform(plist_id::hid_t, expression::Ptr{Cchar})::herr_t "Error in h5p_set_data_transform (not annotated)"
@bind h5p_set_driver(plist_id::hid_t, driver_id::hid_t, driver_info::Ptr{Cvoid})::herr_t "Error in h5p_set_driver (not annotated)"
@bind h5p_set_deflate(plist_id::hid_t, setting::Cuint)::herr_t "Error setting compression method and level (deflate)"
@bind h5p_set_dset_no_attrs_hint(dcpl_id::hid_t, minimize::hbool_t)::herr_t "Error in h5p_set_dset_no_attrs_hint (not annotated)"
@bind h5p_set_dset_no_attrs_hint(dcpl_id::hid_t, minimize::hbool_t)::herr_t "Error in setting dataset no attributes hint property"
@bind h5p_set_dxpl_mpio(dxpl_id::hid_t, xfer_mode::Cint)::herr_t "Error setting MPIO transfer mode"
@bind h5p_set_edc_check(plist_id::hid_t, check::H5Z_EDC_t)::herr_t "Error in h5p_set_edc_check (not annotated)"
@bind h5p_set_est_link_info(plist_id::hid_t, est_num_entries::Cuint, est_name_len::Cuint)::herr_t "Error in h5p_set_est_link_info (not annotated)"
Expand Down
Loading

0 comments on commit 6dd3b56

Please sign in to comment.