diff options
author | Mike McGreevy <mamcgree@hdfgroup.org> | 2009-02-11 21:59:38 (GMT) |
---|---|---|
committer | Mike McGreevy <mamcgree@hdfgroup.org> | 2009-02-11 21:59:38 (GMT) |
commit | 7ca7c77cd41672f7e0c9bc21dd65ab4732dcfe5f (patch) | |
tree | ccddf0b702aa7ece98e3f67abc59e212d6ae36cb | |
parent | e95501e6bd8689cb52406346b9fdf402e3a19ba7 (diff) | |
download | hdf5-7ca7c77cd41672f7e0c9bc21dd65ab4732dcfe5f.zip hdf5-7ca7c77cd41672f7e0c9bc21dd65ab4732dcfe5f.tar.gz hdf5-7ca7c77cd41672f7e0c9bc21dd65ab4732dcfe5f.tar.bz2 |
[svn-r16468] Purpose:
Reference Manual Breakout
Description:
Pulled functions out of reference manual .html files into individual
files per function, sorted into subdirectories. The files are included
into index files via php redirects, so the browser presentation of the
information has not changed, but maintenance on said files should
prove to be a bit easier.
322 files changed, 26111 insertions, 25580 deletions
@@ -218,6 +218,310 @@ ./doc/html/Graphics/help.png ./doc/html/Graphics/help.gif +./doc/html/H5A/H5Aclose.htm +./doc/html/H5A/H5Acreate.htm +./doc/html/H5A/H5Adelete.htm +./doc/html/H5A/H5Aget_name.htm +./doc/html/H5A/H5Aget_num_attrs.htm +./doc/html/H5A/H5Aget_space.htm +./doc/html/H5A/H5Aget_type.htm +./doc/html/H5A/H5Aiterate.htm +./doc/html/H5A/H5Aopen_idx.htm +./doc/html/H5A/H5Aopen_name.htm +./doc/html/H5A/H5Aread.htm +./doc/html/H5A/H5Awrite.htm + +./doc/html/H5D/H5Dclose.htm +./doc/html/H5D/H5Dcreate.htm +./doc/html/H5D/H5Dextend.htm +./doc/html/H5D/H5Dfill.htm +./doc/html/H5D/H5Dget_create_plist.htm +./doc/html/H5D/H5Dget_offset.htm +./doc/html/H5D/H5Dget_space.htm +./doc/html/H5D/H5Dget_space_status.htm +./doc/html/H5D/H5Dget_storage_size.htm +./doc/html/H5D/H5Dget_type.htm +./doc/html/H5D/H5Diterate.htm +./doc/html/H5D/H5Dopen.htm +./doc/html/H5D/H5Dread.htm +./doc/html/H5D/H5Dvlen_get_buf_size.htm +./doc/html/H5D/H5Dvlen_reclaim.htm +./doc/html/H5D/H5Dwrite.htm + +./doc/html/H5E/H5Eclear.htm +./doc/html/H5E/H5Eget_auto.htm +./doc/html/H5E/H5Eget_major.htm +./doc/html/H5E/H5Eget_minor.htm +./doc/html/H5E/H5Eprint.htm +./doc/html/H5E/H5Epush.htm +./doc/html/H5E/H5Eset_auto.htm +./doc/html/H5E/H5Ewalk_cb.htm +./doc/html/H5E/H5Ewalk.htm + +./doc/html/H5F/H5Fclose.htm +./doc/html/H5F/H5Fcreate.htm +./doc/html/H5F/H5Fflush.htm +./doc/html/H5F/H5Fget_access_plist.htm +./doc/html/H5F/H5Fget_create_plist.htm +./doc/html/H5F/H5Fget_filesize.htm +./doc/html/H5F/H5Fget_freespace.htm +./doc/html/H5F/H5Fget_name.htm +./doc/html/H5F/H5Fget_obj_count.htm +./doc/html/H5F/H5Fget_obj_ids.htm +./doc/html/H5F/H5Fget_vfd_handle.htm +./doc/html/H5F/H5Fis_hdf5.htm +./doc/html/H5F/H5Fmount.htm +./doc/html/H5F/H5Fopen.htm +./doc/html/H5F/H5Freopen.htm +./doc/html/H5F/H5Funmount.htm + +./doc/html/H5G/H5Gclose.htm +./doc/html/H5G/H5Gcreate.htm +./doc/html/H5G/H5Gget_comment.htm +./doc/html/H5G/H5Gget_linkval.htm +./doc/html/H5G/H5Gget_num_objs.htm +./doc/html/H5G/H5Gget_objinfo.htm +./doc/html/H5G/H5Gget_objname_by_idx.htm +./doc/html/H5G/H5Gget_objtype_by_idx.htm +./doc/html/H5G/H5Giterate.htm +./doc/html/H5G/H5Glink2.htm +./doc/html/H5G/H5Glink.htm +./doc/html/H5G/H5Gmove2.htm +./doc/html/H5G/H5Gmove.htm +./doc/html/H5G/H5Gopen.htm +./doc/html/H5G/H5Gset_comment.htm +./doc/html/H5G/H5Gunlink.htm + +./doc/html/H5/H5check_version.htm +./doc/html/H5/H5close.htm +./doc/html/H5/H5dont_atexit.htm +./doc/html/H5/H5garbage_collect.htm +./doc/html/H5/H5get_libversion.htm +./doc/html/H5/H5open.htm +./doc/html/H5/H5set_free_list_limits.htm + +./doc/html/H5I/H5Idec_ref.htm +./doc/html/H5I/H5Iget_file_id.htm +./doc/html/H5I/H5Iget_name.htm +./doc/html/H5I/H5Iget_ref.htm +./doc/html/H5I/H5Iget_type.htm +./doc/html/H5I/H5Iinc_ref.htm + +./doc/html/H5P/H5Pall_filters_avail.htm +./doc/html/H5P/H5Pclose_class.htm +./doc/html/H5P/H5Pclose.htm +./doc/html/H5P/H5Pcopy.htm +./doc/html/H5P/H5Pcopy_prop.htm +./doc/html/H5P/H5Pcreate_class.htm +./doc/html/H5P/H5Pcreate.htm +./doc/html/H5P/H5Pequal.htm +./doc/html/H5P/H5Pexist.htm +./doc/html/H5P/H5Pfill_value_defined.htm +./doc/html/H5P/H5Pget_alignment.htm +./doc/html/H5P/H5Pget_alloc_time.htm +./doc/html/H5P/H5Pget_btree_ratios.htm +./doc/html/H5P/H5Pget_buffer.htm +./doc/html/H5P/H5Pget_cache.htm +./doc/html/H5P/H5Pget_chunk.htm +./doc/html/H5P/H5Pget_class.htm +./doc/html/H5P/H5Pget_class_name.htm +./doc/html/H5P/H5Pget_class_parent.htm +./doc/html/H5P/H5Pget_compression.htm +./doc/html/H5P/H5Pget_deflate.htm +./doc/html/H5P/H5Pget_driver.htm +./doc/html/H5P/H5Pget_driver_info.htm +./doc/html/H5P/H5Pget_dxpl_mpio.htm +./doc/html/H5P/H5Pget_dxpl_multi.htm +./doc/html/H5P/H5Pget_edc_check.htm +./doc/html/H5P/H5Pget_external_count.htm +./doc/html/H5P/H5Pget_external.htm +./doc/html/H5P/H5Pget_family_offset.htm +./doc/html/H5P/H5Pget_fapl_core.htm +./doc/html/H5P/H5Pget_fapl_family.htm +./doc/html/H5P/H5Pget_fapl_mpio.htm +./doc/html/H5P/H5Pget_fapl_mpiposix.htm +./doc/html/H5P/H5Pget_fapl_multi.htm +./doc/html/H5P/H5Pget_fapl_stream.htm +./doc/html/H5P/H5Pget_fclose_degree.htm +./doc/html/H5P/H5Pget_fill_time.htm +./doc/html/H5P/H5Pget_fill_value.htm +./doc/html/H5P/H5Pget_filter_by_id.htm +./doc/html/H5P/H5Pget_filter.htm +./doc/html/H5P/H5Pget_gc_references.htm +./doc/html/H5P/H5Pget.htm +./doc/html/H5P/H5Pget_hyper_cache.htm +./doc/html/H5P/H5Pget_hyper_vector_size.htm +./doc/html/H5P/H5Pget_istore_k.htm +./doc/html/H5P/H5Pget_layout.htm +./doc/html/H5P/H5Pget_meta_block_size.htm +./doc/html/H5P/H5Pget_multi_type.htm +./doc/html/H5P/H5Pget_nfilters.htm +./doc/html/H5P/H5Pget_nprops.htm +./doc/html/H5P/H5Pget_preserve.htm +./doc/html/H5P/H5Pget_sieve_buf_size.htm +./doc/html/H5P/H5Pget_size.htm +./doc/html/H5P/H5Pget_sizes.htm +./doc/html/H5P/H5Pget_small_data_block_size.htm +./doc/html/H5P/H5Pget_sym_k.htm +./doc/html/H5P/H5Pget_userblock.htm +./doc/html/H5P/H5Pget_version.htm +./doc/html/H5P/H5Pget_vlen_mem_manager.htm +./doc/html/H5P/H5Pinsert.htm +./doc/html/H5P/H5Pisa_class.htm +./doc/html/H5P/H5Piterate.htm +./doc/html/H5P/H5Pmodify_filter.htm +./doc/html/H5P/H5Pregister.htm +./doc/html/H5P/H5Premove_filter.htm +./doc/html/H5P/H5Premove.htm +./doc/html/H5P/H5Pset_alignment.htm +./doc/html/H5P/H5Pset_alloc_time.htm +./doc/html/H5P/H5Pset_btree_ratios.htm +./doc/html/H5P/H5Pset_buffer.htm +./doc/html/H5P/H5Pset_cache.htm +./doc/html/H5P/H5Pset_chunk.htm +./doc/html/H5P/H5Pset_compression.htm +./doc/html/H5P/H5Pset_deflate.htm +./doc/html/H5P/H5Pset_driver.htm +./doc/html/H5P/H5Pset_dxpl_mpio.htm +./doc/html/H5P/H5Pset_dxpl_multi.htm +./doc/html/H5P/H5Pset_edc_check.htm +./doc/html/H5P/H5Pset_external.htm +./doc/html/H5P/H5Pset_family_offset.htm +./doc/html/H5P/H5Pset_fapl_core.htm +./doc/html/H5P/H5Pset_fapl_family.htm +./doc/html/H5P/H5Pset_fapl_log.htm +./doc/html/H5P/H5Pset_fapl_mpio.htm +./doc/html/H5P/H5Pset_fapl_mpiposix.htm +./doc/html/H5P/H5Pset_fapl_multi.htm +./doc/html/H5P/H5Pset_fapl_sec2.htm +./doc/html/H5P/H5Pset_fapl_split.htm +./doc/html/H5P/H5Pset_fapl_stdio.htm +./doc/html/H5P/H5Pset_fapl_stream.htm +./doc/html/H5P/H5Pset_fclose_degree.htm +./doc/html/H5P/H5Pset_fill_time.htm +./doc/html/H5P/H5Pset_fill_value.htm +./doc/html/H5P/H5Pset_filter_callback.htm +./doc/html/H5P/H5Pset_filter.htm +./doc/html/H5P/H5Pset_fletcher32.htm +./doc/html/H5P/H5Pset_gc_references.htm +./doc/html/H5P/H5Pset.htm +./doc/html/H5P/H5Pset_hyper_cache.htm +./doc/html/H5P/H5Pset_hyper_vector_size.htm +./doc/html/H5P/H5Pset_istore_k.htm +./doc/html/H5P/H5Pset_layout.htm +./doc/html/H5P/H5Pset_meta_block_size.htm +./doc/html/H5P/H5Pset_multi_type.htm +./doc/html/H5P/H5Pset_preserve.htm +./doc/html/H5P/H5Pset_shuffle.htm +./doc/html/H5P/H5Pset_sieve_buf_size.htm +./doc/html/H5P/H5Pset_sizes.htm +./doc/html/H5P/H5Pset_small_data_block_size.htm +./doc/html/H5P/H5Pset_sym_k.htm +./doc/html/H5P/H5Pset_szip.htm +./doc/html/H5P/H5Pset_userblock.htm +./doc/html/H5P/H5Pset_vlen_mem_manager.htm +./doc/html/H5P/H5Punregister.htm + +./doc/html/H5R/H5Rcreate.htm +./doc/html/H5R/H5Rdereference.htm +./doc/html/H5R/H5Rget_object_type.htm +./doc/html/H5R/H5Rget_obj_type.htm +./doc/html/H5R/H5Rget_region.htm + +./doc/html/H5S/H5Sclose.htm +./doc/html/H5S/H5Scopy.htm +./doc/html/H5S/H5Screate.htm +./doc/html/H5S/H5Screate_simple.htm +./doc/html/H5S/H5Sextent_copy.htm +./doc/html/H5S/H5Sget_select_bounds.htm +./doc/html/H5S/H5Sget_select_elem_npoints.htm +./doc/html/H5S/H5Sget_select_elem_pointlist.htm +./doc/html/H5S/H5Sget_select_hyper_blocklist.htm +./doc/html/H5S/H5Sget_select_hyper_nblocks.htm +./doc/html/H5S/H5Sget_select_npoints.htm +./doc/html/H5S/H5Sget_select_type.htm +./doc/html/H5S/H5Sget_simple_extent_dims.htm +./doc/html/H5S/H5Sget_simple_extent_ndims.htm +./doc/html/H5S/H5Sget_simple_extent_npoints.htm +./doc/html/H5S/H5Sget_simple_extent_type.htm +./doc/html/H5S/H5Sis_simple.htm +./doc/html/H5S/H5Soffset_simple.htm +./doc/html/H5S/H5Sselect_all.htm +./doc/html/H5S/H5Sselect_elements.htm +./doc/html/H5S/H5Sselect_hyperslab.htm +./doc/html/H5S/H5Sselect_none.htm +./doc/html/H5S/H5Sselect_valid.htm +./doc/html/H5S/H5Sset_extent_none.htm +./doc/html/H5S/H5Sset_extent_simple.htm + +./doc/html/H5T/H5Tarray_create.htm +./doc/html/H5T/H5Tclose.htm +./doc/html/H5T/H5Tcommit.htm +./doc/html/H5T/H5Tcommitted.htm +./doc/html/H5T/H5Tconvert.htm +./doc/html/H5T/H5Tcopy.htm +./doc/html/H5T/H5Tcreate.htm +./doc/html/H5T/H5Tdetect_class.htm +./doc/html/H5T/H5Tenum_create.htm +./doc/html/H5T/H5Tenum_insert.htm +./doc/html/H5T/H5Tenum_nameof.htm +./doc/html/H5T/H5Tenum_valueof.htm +./doc/html/H5T/H5Tequal.htm +./doc/html/H5T/H5Tfind.htm +./doc/html/H5T/H5Tget_array_dims.htm +./doc/html/H5T/H5Tget_array_ndims.htm +./doc/html/H5T/H5Tget_class.htm +./doc/html/H5T/H5Tget_cset.htm +./doc/html/H5T/H5Tget_ebias.htm +./doc/html/H5T/H5Tget_fields.htm +./doc/html/H5T/H5Tget_inpad.htm +./doc/html/H5T/H5Tget_member_class.htm +./doc/html/H5T/H5Tget_member_index.htm +./doc/html/H5T/H5Tget_member_name.htm +./doc/html/H5T/H5Tget_member_offset.htm +./doc/html/H5T/H5Tget_member_type.htm +./doc/html/H5T/H5Tget_member_value.htm +./doc/html/H5T/H5Tget_native_type.htm +./doc/html/H5T/H5Tget_nmembers.htm +./doc/html/H5T/H5Tget_norm.htm +./doc/html/H5T/H5Tget_offset.htm +./doc/html/H5T/H5Tget_order.htm +./doc/html/H5T/H5Tget_overflow.htm +./doc/html/H5T/H5Tget_pad.htm +./doc/html/H5T/H5Tget_precision.htm +./doc/html/H5T/H5Tget_sign.htm +./doc/html/H5T/H5Tget_size.htm +./doc/html/H5T/H5Tget_strpad.htm +./doc/html/H5T/H5Tget_super.htm +./doc/html/H5T/H5Tget_tag.htm +./doc/html/H5T/H5Tinsert.htm +./doc/html/H5T/H5Tis_variable_str.htm +./doc/html/H5T/H5Tlock.htm +./doc/html/H5T/H5Topen.htm +./doc/html/H5T/H5Tpack.htm +./doc/html/H5T/H5Tregister.htm +./doc/html/H5T/H5Tset_cset.htm +./doc/html/H5T/H5Tset_ebias.htm +./doc/html/H5T/H5Tset_fields.htm +./doc/html/H5T/H5Tset_inpad.htm +./doc/html/H5T/H5Tset_norm.htm +./doc/html/H5T/H5Tset_offset.htm +./doc/html/H5T/H5Tset_order.htm +./doc/html/H5T/H5Tset_overflow.htm +./doc/html/H5T/H5Tset_pad.htm +./doc/html/H5T/H5Tset_precision.htm +./doc/html/H5T/H5Tset_sign.htm +./doc/html/H5T/H5Tset_size.htm +./doc/html/H5T/H5Tset_strpad.htm +./doc/html/H5T/H5Tset_tag.htm +./doc/html/H5T/H5Tunregister.htm +./doc/html/H5T/H5Tvlen_create.htm + +./doc/html/H5Z/H5Zfilter_avail.htm +./doc/html/H5Z/H5Zget_filter_info.htm +./doc/html/H5Z/H5Zregister.htm +./doc/html/H5Z/H5Zunregister.htm + ./doc/html/Intro/Dependencies ./doc/html/Intro/IntroExamples.html ./doc/html/Intro/Makefile.in @@ -277,6 +581,23 @@ ./doc/html/TechNotes/version.gif ./doc/html/TechNotes/version.obj _DO_NOT_DISTRIBUTE_ +./doc/html/Tools/gif2h5.htm +./doc/html/Tools/h4toh5.htm +./doc/html/Tools/h52gif.htm +./doc/html/Tools/h5c++.htm +./doc/html/Tools/h5cc_and_h5pcc.htm +./doc/html/Tools/h5diff.htm +./doc/html/Tools/h5dump.htm +./doc/html/Tools/h5fc_and_h5pfc.htm +./doc/html/Tools/h5import.htm +./doc/html/Tools/h5jam_and_h5unjam.htm +./doc/html/Tools/h5ls.htm +./doc/html/Tools/h5perf.htm +./doc/html/Tools/h5redeploy.htm +./doc/html/Tools/h5repack.htm +./doc/html/Tools/h5repart.htm +./doc/html/Tools/h5toh4.htm + ./doc/html/Tutor/Contents.html ./doc/html/Tutor/ContentsAdd.html ./doc/html/Tutor/ContentsAdv.html diff --git a/doc/html/H5/H5check_version.htm b/doc/html/H5/H5check_version.htm new file mode 100644 index 0000000..6a05b9e --- /dev/null +++ b/doc/html/H5/H5check_version.htm @@ -0,0 +1,125 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5check_version" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Library-VersCheck">H5check_version</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5check_version</code>(<em>unsigned</em> <code>majnum</code>, + <em>unsigned</em> <code>minnum</code>, + <em>unsigned</em> <code>relnum</code> + ) +<dt><strong>Purpose:</strong> + <dd>Verifies that library versions are consistent. +<dt><strong>Description:</strong> + <dd><code>H5check_version</code> verifies that the arguments provided + with the function call match the version numbers compiled into + the library. + <p> + <code>H5check_version</code> serves two slightly differing purposes. + <p> + First, the function is intended to be called by the user to verify + that the version of the header files compiled into an application + matches the version of the HDF5 library being used. + One may look at the <code>H5check</code> definition in the file + <code>H5public.h</code> as an example. + <p> + Due to the risks of data corruption or segmentation faults, + <code>H5check_version</code> causes the application to abort if the + version numbers do not match. + The abort is achieved by means of a call to the + standard C function <code>abort()</code>. + <p> + Note that <code>H5check_version</code> verifies only the + major and minor version numbers and the release number; + it does not verify the sub-release value as that should be + an empty string for any official release. + This means that any two incompatible library versions must + have different {major,minor,release} numbers. (Notice the + reverse is not necessarily true.) + <p> + Secondarily, <code>H5check_version</code> verifies that the + library version identifiers <code>H5_VERS_MAJOR</code>, + <code>H5_VERS_MINOR</code>, <code>H5_VERS_RELEASE</code>, + <code>H5_VERS_SUBRELEASE</code>, and <code>H5_VERS_INFO</code> + are consistent. + This is designed to catch source code inconsistencies, + but does not generate the fatal error as in the first stage + because this inconsistency does not cause errors in the data files. + If this check reveals inconsistencies, the library issues a warning + but the function does not fail. +<!-- + <p> +<strong><em>Alternate to preceding paragraph / More to the point?</em></strong> +<br> + If the function passes the above test and does not generate + an <code>abort()</code> call, the function's second purpose + comes into play. + <code>H5check_version</code> then procedes to verify + that the additional library version identifiers + <code>H5_VERS_SUBRELEASE</code>, and <code>H5_VERS_INFO</code> + are consistent. + This is designed to catch source code inconsistencies, + but does not generate the fatal error + that is generated under the first function. + <p> + The version and release numbers passed as + <code>H5check_version</code> parameters have the + following relationsips to each other: + <dir> + An official HDF5 release is labelled as + <br> + HDF5 Release <<code>majnum</code>><strong>.</strong><<code>minnum</code>><strong>.</strong><<code>relnum</code>> + </dir> + For example, in the version of the library known as HDF5 Release 1.4.2, + the 1 is the major version number, <code>majnum</code>; + the 1 is the minor version number, <code>minnum</code>; and + the 1 is the release number, <code>relnum</code>. +--> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>unsigned </em><code>majnum</code></td> + <td valign="top">IN: The major version of the library.</td></tr> + <tr> + <td valign="top"><em>unsigned </em><code>minnum </code></td> + <td valign="top">IN: The minor version of the library.</td></tr> + <tr> + <td valign="top"><em>unsigned </em><code>relnum</code></td> + <td valign="top">IN: The release number of the library.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful. + Upon failure, this function causes the application to abort. +<dt><strong>Fortran90 Interface:</strong> h5check_version_f + <dd> + <pre> +SUBROUTINE h5check_version_f(hdferr) + IMPLICIT NONE + INTEGER, INTENT(IN) :: majnum ! The major version of the library + INTEGER, INTENT(IN) :: minnum ! The minor version of the library + INTEGER, INTENT(IN) :: relnum ! The release number + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5check_version_f + </pre> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5/H5close.htm b/doc/html/H5/H5close.htm new file mode 100644 index 0000000..dbf5e81 --- /dev/null +++ b/doc/html/H5/H5close.htm @@ -0,0 +1,44 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5close" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Library-Close">H5close</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5close</code>(<em>void</em>) +<dt><strong>Purpose:</strong> + <dd>Flushes all data to disk, closes file identifiers, and cleans up memory. +<dt><strong>Description:</strong> + <dd><code>H5close</code> flushes all data to disk, + closes all file identifiers, and cleans up all memory used by + the library. This function is generally called when the + application calls <code>exit()</code>, but may be called earlier + in event of an emergency shutdown or out of desire to free all + resources used by the HDF5 library. + <p> + <code>h5close_f</code> and <code>h5open_f</code> are + required calls in Fortran90 applications. +<dt><strong>Parameters:</strong> + <dl> + <dt>None. + </dl> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5close_f + <dd> + <pre> +SUBROUTINE h5close_f(hdferr) + IMPLICIT NONE + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5close_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5/H5dont_atexit.htm b/doc/html/H5/H5dont_atexit.htm new file mode 100644 index 0000000..e4c1827 --- /dev/null +++ b/doc/html/H5/H5dont_atexit.htm @@ -0,0 +1,60 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5dont_atexit" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Library-DontAtExit">H5dont_atexit</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5dont_atexit</code>(<em>void</em>) +<dt><strong>Purpose:</strong> + <dd>Instructs library not to install <code>atexit</code> cleanup routine. +<dt><strong>Description:</strong> + <dd><code>H5dont_atexit</code> indicates to the library that an + <code>atexit()</code> cleanup routine should not be installed. + The major purpose for this is in situations where the + library is dynamically linked into an application and is + un-linked from the application before <code>exit()</code> gets + called. In those situations, a routine installed with + <code>atexit()</code> would jump to a routine which was + no longer in memory, causing errors. + <p> + In order to be effective, this routine <em>must</em> be called + before any other HDF function calls, and must be called each + time the library is loaded/linked into the application + (the first time and after it's been un-loaded). +<dt><strong>Parameters:</strong> + <dl> + <dt>None. + </dl> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5dont_atexit_f + <dd> + <pre> +SUBROUTINE h5dont_atexit_f(hdferr) + IMPLICIT NONE + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5dont_atexit_f + </pre> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5/H5garbage_collect.htm b/doc/html/H5/H5garbage_collect.htm new file mode 100644 index 0000000..319d2ba --- /dev/null +++ b/doc/html/H5/H5garbage_collect.htm @@ -0,0 +1,60 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5garbage_collect" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Library-GarbageCollect">H5garbage_collect</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5garbage_collect</code>(<em>void</em>) +<dt><strong>Purpose:</strong> + <dd>Garbage collects on all free-lists of all types. +<dt><strong>Description:</strong> + <dd><code>H5garbage_collect</code> walks through all the garbage + collection routines of the library, freeing any unused memory. + <p> + It is not required that <code>H5garbage_collect</code> be called + at any particular time; it is only necessary in certain situations + where the application has performed actions that cause the library + to allocate many objects. The application should call + <code>H5garbage_collect</code> if it eventually releases those + objects and wants to reduce the memory used by the library from + the peak usage required. + <p> + The library automatically garbage collects all the free lists + when the application ends. +<dt><strong>Parameters:</strong> + <dl> + <dt>None. + </dl> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5garbage_collect_f + <dd> + <pre> +SUBROUTINE h5garbage_collect_f(hdferr) + IMPLICIT NONE + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5garbage_collect_f + </pre> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5/H5get_libversion.htm b/doc/html/H5/H5get_libversion.htm new file mode 100644 index 0000000..3d26351 --- /dev/null +++ b/doc/html/H5/H5get_libversion.htm @@ -0,0 +1,64 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5get_libversion" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Library-Version">H5get_libversion</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5get_libversion</code>(<em>unsigned *</em><code>majnum</code>, + <em>unsigned *</em><code>minnum</code>, + <em>unsigned *</em><code>relnum</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the HDF library release number. +<dt><strong>Description:</strong> + <dd><code>H5get_libversion</code> retrieves the major, minor, and release + numbers of the version of the HDF library which is linked to + the application. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>unsigned *</em><code>majnum</code></td> + <td valign="top">OUT: The major version of the library.</td></tr> + <tr> + <td valign="top"><em>unsigned *</em><code>minnum </code></td> + <td valign="top">OUT: The minor version of the library.</td></tr> + <tr> + <td valign="top"><em>unsigned *</em><code>relnum</code></td> + <td valign="top">OUT: The release number of the library.</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> h5get_libversion_f + <dd> + <pre> +SUBROUTINE h5get_libversion_f(hdferr) + IMPLICIT NONE + INTEGER, INTENT(OUT) :: majnum ! The major version of the library + INTEGER, INTENT(OUT) :: minnum ! The minor version of the library + INTEGER, INTENT(OUT) :: relnum ! The release number + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5get_libversion_f + </pre> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5/H5open.htm b/doc/html/H5/H5open.htm new file mode 100644 index 0000000..6709137 --- /dev/null +++ b/doc/html/H5/H5open.htm @@ -0,0 +1,52 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5open" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Library-Open">H5open</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5open</code>(<em>void</em>) +<dt><strong>Purpose:</strong> + <dd>Initializes the HDF5 library. +<dt><strong>Description:</strong> + <dd><code>H5open</code> initialize the library. + <p> + When the HDF5 Library is employed in a C application, + this function is normally called automatically, but if you + find that an HDF5 library function is failing inexplicably, + try calling this function first. + If you wish to elimnate this possibility, it is safe to + routinely call <code>H5open</code> before an application + starts working with the library as there are no damaging + side-effects in calling it more than once. + <p> + When the HDF5 Library is employed in a Fortran90 application, + <code>h5open_f</code> initializes global variables + (e.g. predefined types) and performs other tasks required to + initialize the library. + <code>h5open_f</code> and <code>h5close_f</code> are therefore + required calls in Fortran90 applications. +<dt><strong>Parameters:</strong> + <dl> + <dt>None. + </dl> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5open_f + <dd> + <pre> +SUBROUTINE h5open_f(hdferr) + IMPLICIT NONE + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5open_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5/H5set_free_list_limits.htm b/doc/html/H5/H5set_free_list_limits.htm new file mode 100644 index 0000000..14dd84f --- /dev/null +++ b/doc/html/H5/H5set_free_list_limits.htm @@ -0,0 +1,97 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5set_free_list_limits" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Library-SetFreeListLimits">H5set_free_list_limits</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5set_free_list_limits</code>(<em>int</em> <code>reg_global_lim</code>, + <em>int</em> <code>reg_list_lim</code>, + <em>int</em> <code>arr_global_lim</code>, + <em>int</em> <code>arr_list_lim</code>, + <em>int</em> <code>blk_global_lim</code>, + <em>int</em> <code>blk_list_lim</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets free-list size limits. +<dt><strong>Description:</strong> + <dd><code>H5set_free_list_limits</code> sets size limits + on all types of free lists. + The HDF5 library uses free lists internally to manage memory. + There are three types of free lists: + <ul><li><span class=termDef>Regular</span> + free lists manage a single data structure. + <li><span class=termDef>Array</span> + free lists manage arrays of a data structure. + <li><span class=termDef>Block</span> + free lists manage blocks of bytes. + </ul> + <em>Alternate phrasing?</em>: + <ul><li><span class=termDef>Regular</span> + free lists manage data structures containing atomic data. + <li><span class=termDef>Array</span> + free lists manage data structures containing array data. + <li><span class=termDef>Block</span> + free lists manage blocks of bytes. + </ul> + <p> + These are global limits, but each limit applies only to + free lists of the specified type. + Therefore, if an application sets a 1Mb limit on each of + the global lists, up to 3Mb of total storage might be + allocated, 1Mb for each of the regular, array, and + block type lists. + <p> + Using a value of <code>-1</code> for a limit means that + no limit is set for the specified type of free list. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>int</em> <code>reg_global_lim </code></td> + <td valign="top">IN: The limit on all regular free list memory used</td></tr> + <tr> + <td valign="top"><em>int</em> <code>reg_list_lim</code></td> + <td valign="top">IN: The limit on memory used in each regular free list</td></tr> + <tr> + <td valign="top"><em>int</em> <code>arr_global_lim</code></td> + <td valign="top">IN: The limit on all array free list memory used</td></tr> + <tr> + <td valign="top"><em>int</em> <code>arr_list_lim</code></td> + <td valign="top">IN: The limit on memory used in each array free list</td></tr> + <tr> + <td valign="top"><em>int</em> <code>blk_global_lim</code></td> + <td valign="top">IN: The limit on all block free list memory used</td></tr> + <tr> + <td valign="top"><em>int</em> <code>blk_list_lim</code></td> + <td valign="top">IN: The limit on memory used in each block free 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>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5A/H5Aclose.htm b/doc/html/H5A/H5Aclose.htm new file mode 100644 index 0000000..fdf45ec --- /dev/null +++ b/doc/html/H5A/H5Aclose.htm @@ -0,0 +1,43 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Aclose" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-Close">H5Aclose</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Aclose</code>(<em>hid_t</em> <code>attr_id</code>) +<dt><strong>Purpose:</strong> + <dd>Closes the specified attribute. +<dt><strong>Description:</strong> + <dd><code>H5Aclose</code> terminates access to the attribute + specified by <code>attr_id</code> by releasing the identifier. + <p> + Further use of a released attribute identifier is illegal; + a function using such an identifier will fail. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>attr_id</code></td> + <td>IN: Attribute to release 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> h5aclose_f + <dd> + <pre> +SUBROUTINE h5aclose_f(attr_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure +END SUBROUTINE h5aclose_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5A/H5Acreate.htm b/doc/html/H5A/H5Acreate.htm new file mode 100644 index 0000000..72a3742 --- /dev/null +++ b/doc/html/H5A/H5Acreate.htm @@ -0,0 +1,90 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Acreate" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-Create">H5Acreate</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Acreate</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code>, + <em>hid_t</em> <code>type_id</code>, + <em>hid_t</em> <code>space_id</code>, + <em>hid_t</em> <code>create_plist</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates a dataset as an attribute of another group, dataset, + or named datatype. +<dt><strong>Description:</strong> + <dd><code>H5Acreate</code> creates the attribute <code>name</code> + attached to the object specified with <code>loc_id</code>. + <code>loc_id</code> can be a group, dataset, or named datatype + identifier. + <p> + The attribute name specified in <code>name</code> must be unique. + Attempting to create an attribute with the same name as an already + existing attribute will fail, leaving the pre-existing attribute + in place. To overwrite an existing attribute with a new attribute + of the same name, first call <code>H5Adelete</code> then recreate + the attribute with <code>H5Acreate</code>. + <p> + The datatype and dataspace identifiers of the attribute, + <code>type_id</code> and <code>space_id</code>, respectively, + are created with the H5T and H5S interfaces, respectively. + <p> + Currently only simple dataspaces are allowed for attribute dataspaces. + <p> + The attribute creation property list, <code>create_plist</code>, + is currently unused; + it may be used in the future for optional attribute properties. + At this time, <code>H5P_DEFAULT</code> is the only accepted value. + </p> + The attribute identifier returned from this function must be released + with <code>H5Aclose</code> or resource leaks will develop. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Object (dataset, group, or named datatype) to be attached to.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>name</code></td> + <td valign="top">IN: Name of attribute to create.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">IN: Identifier of datatype for attribute.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">IN: Identifier of dataspace for attribute.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>create_plist </code></td> + <td valign="top">IN: Identifier of creation property list. (Currently unused; + the only accepted value is <code>H5P_DEFAULT</code>.)</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns an attribute identifier if successful; + otherwise returns a negative value. + + <!--<dt><strong>Non-C API(s):</strong> + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + +<dt><strong>Fortran90 Interface:</strong> h5acreate_f + <dd> + <pre> +SUBROUTINE h5acreate_f(obj_id, name, type_id, space_id, attr_id, & + hdferr, creation_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name + INTEGER(HID_T), INTENT(IN) :: type_id ! Attribute datatype identifier + INTEGER(HID_T), INTENT(IN) :: space_id ! Attribute dataspace identifier + INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure + + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp + ! Attribute creation property + ! list identifier +END SUBROUTINE h5acreate_f + </pre> +</dl> + diff --git a/doc/html/H5A/H5Adelete.htm b/doc/html/H5A/H5Adelete.htm new file mode 100644 index 0000000..d0ebd44 --- /dev/null +++ b/doc/html/H5A/H5Adelete.htm @@ -0,0 +1,51 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Adelete" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-Delete">H5Adelete</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Adelete</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code> + ) +<dt><strong>Purpose:</strong> + <dd>Deletes an attribute from a location. +<dt><strong>Description:</strong> + <dd><code>H5Adelete</code> removes the attribute specified by its + name, <code>name</code>, from a dataset, group, or named datatype. + This function should not be used when attribute identifiers are + open on <code>loc_id</code> as it may cause the internal indexes + of the attributes to change and future writes to the open + attributes to produce incorrect results. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of the dataset, group, or named datatype + to have the attribute deleted from.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>name </code></td> + <td valign="top">IN: Name of the attribute to delete.</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> h5adelete_f + <dd> + <pre> +SUBROUTINE h5adelete_f(obj_id, name, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure +END SUBROUTINE h5adelete_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5A/H5Aget_name.htm b/doc/html/H5A/H5Aget_name.htm new file mode 100644 index 0000000..2e28c02 --- /dev/null +++ b/doc/html/H5A/H5Aget_name.htm @@ -0,0 +1,57 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Aget_name" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-GetName">H5Aget_name</a> +<dt><strong>Signature:</strong> + <dd><em>ssize_t</em> <code>H5Aget_name</code>(<em>hid_t</em> <code>attr_id</code>, + <em>size_t</em> <code>buf_size</code>, + <em>char *</em><code>buf</code> + ) +<dt><strong>Purpose:</strong> + <dd>Gets an attribute name. +<dt><strong>Description:</strong> + <dd><code>H5Aget_name</code> retrieves the name of an attribute + specified by the identifier, <code>attr_id</code>. + Up to <code>buf_size</code> characters are stored in + <code>buf</code> followed by a <code>\0</code> string + terminator. If the name of the attribute is longer than + <code>(buf_size -1)</code>, the string terminator is stored in the + last position of the buffer to properly terminate the string. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>attr_id</code></td> + <td valign="top">IN: Identifier of the attribute.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>buf_size </code></td> + <td valign="top">IN: The size of the buffer to store the name in.</td></tr> + <tr> + <td valign="top"><em>char *</em><code>buf</code></td> + <td valign="top">OUT: Buffer to store name in.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the length of the attribute's name, which may be + longer than <code>buf_size</code>, if successful. + Otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5aget_name_f + <dd> + <pre> +SUBROUTINE h5aget_name_f(attr_id, size, buf, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier + INTEGER, INTENT(IN) :: size ! Buffer size + CHARACTER(LEN=*), INTENT(OUT) :: buf ! Buffer to hold attribute name + INTEGER, INTENT(OUT) :: hdferr ! Error code: name length + ! on success and -1 on failure +END SUBROUTINE h5aget_name_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5A/H5Aget_num_attrs.htm b/doc/html/H5A/H5Aget_num_attrs.htm new file mode 100644 index 0000000..a25ad55 --- /dev/null +++ b/doc/html/H5A/H5Aget_num_attrs.htm @@ -0,0 +1,43 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Aget_num_attrs" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-NumAttrs">H5Aget_num_attrs</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Aget_num_attrs</code>(<em>hid_t</em> <code>loc_id</code>) +<dt><strong>Purpose:</strong> + <dd>Determines the number of attributes attached to an object. +<dt><strong>Description:</strong> + <dd><code>H5Aget_num_attrs</code> returns the number of attributes + attached to the object specified by its identifier, + <code>loc_id</code>. + The object can be a group, dataset, or named datatype. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id </code></td> + <td valign="top">IN: Identifier of a group, dataset, or named datatype.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of attributes if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5aget_num_attrs_f + <dd> + <pre> +SUBROUTINE h5aget_num_attrs_f(obj_id, attr_num, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + INTEGER, INTENT(OUT) :: attr_num ! Number of attributes of the object + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure +END SUBROUTINE h5aget_num_attrs_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5A/H5Aget_space.htm b/doc/html/H5A/H5Aget_space.htm new file mode 100644 index 0000000..3a63f43 --- /dev/null +++ b/doc/html/H5A/H5Aget_space.htm @@ -0,0 +1,45 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Aget_space" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-GetSpace">H5Aget_space</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Aget_space</code>(<em>hid_t</em> <code>attr_id</code>) +<dt><strong>Purpose:</strong> + <dd>Gets a copy of the dataspace for an attribute. +<dt><strong>Description:</strong> + <dd><code>H5Aget_space</code> retrieves a copy of the dataspace + for an attribute. + <p> + The dataspace identifier returned from + this function must be released with <code>H5Sclose</code> + or resource leaks will develop. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>attr_id </code></td> + <td valign="top">IN: Identifier of an attribute.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns attribute dataspace identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5aget_space_f + <dd> + <pre> +SUBROUTINE h5aget_space_f(attr_id, space_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier + INTEGER(HID_T), INTENT(OUT) :: space_id ! Attribute dataspace identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure +END SUBROUTINE h5aget_space_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5A/H5Aget_type.htm b/doc/html/H5A/H5Aget_type.htm new file mode 100644 index 0000000..6a18e9e --- /dev/null +++ b/doc/html/H5A/H5Aget_type.htm @@ -0,0 +1,49 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Aget_type" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-GetType">H5Aget_type</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Aget_type</code>(<em>hid_t</em> <code>attr_id</code>) +<dt><strong>Purpose:</strong> + <dd>Gets an attribute datatype. +<dt><strong>Description:</strong> + <dd><code>H5Aget_type</code> retrieves a copy of the datatype + for an attribute. + <p> + The datatype is reopened if it is a named type before returning + it to the application. The datatypes returned by this function + are always read-only. If an error occurs when atomizing the + return datatype, then the datatype is closed. + <p> + The datatype identifier returned from this function must be + released with <code>H5Tclose</code> or resource leaks will develop. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>attr_id </code></td> + <td valign="top">IN: Identifier of an attribute.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a datatype identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5aget_type_f + <dd> + <pre> +SUBROUTINE h5aget_type_f(attr_id, type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier + INTEGER(HID_T), INTENT(OUT) :: type_id ! Attribute datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure +END SUBROUTINE h5aget_type_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5A/H5Aiterate.htm b/doc/html/H5A/H5Aiterate.htm new file mode 100644 index 0000000..293cc3f --- /dev/null +++ b/doc/html/H5A/H5Aiterate.htm @@ -0,0 +1,83 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Aiterate" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-Iterate">H5Aiterate</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Aiterate</code>(<em>hid_t</em> <code>loc_id</code>, + <em>unsigned *</em> <code>idx</code>, + <em>H5A_operator_t</em> <code>op</code>, + <em>void *</em><code>op_data</code> + ) +<dt><strong>Purpose:</strong> + <dd>Calls a user's function for each attribute on an object. +<dt><strong>Description:</strong> + <dd><code>H5Aiterate</code> iterates over the attributes of + the object specified by its identifier, <code>loc_id</code>. + The object can be a group, dataset, or named datatype. + For each attribute of the object, the <code>op_data</code> + and some additional information specified below are passed + to the operator function <code>op</code>. + The iteration begins with the attribute specified by its + index, <code>idx</code>; the index for the next attribute + to be processed by the operator, <code>op</code>, is + returned in <code>idx</code>. + If <code>idx</code> is the null pointer, then all attributes + are processed. + <p> + The prototype for <code>H5A_operator_t</code> is: <br> + <code>typedef herr_t (*H5A_operator_t)(hid_t <em>loc_id</em>, + const char *<em>attr_name</em>, + void *<em>operator_data</em>); + </code> + <p> + The operation receives the identifier for the group, dataset + or named datatype being iterated over, <code>loc_id</code>, the + name of the current attribute about the object, <code>attr_name</code>, + and the pointer to the operator data passed in to <code>H5Aiterate</code>, + <code>op_data</code>. The return values from an operator are: + <ul> + <li>Zero causes the iterator to continue, returning zero when all + attributes have been processed. + <li>Positive causes the iterator to immediately return that positive + value, indicating short-circuit success. The iterator can be + restarted at the next attribute. + <li>Negative causes the iterator to immediately return that value, + indicating failure. The iterator can be restarted at the next + attribute. + </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of a group, dataset or named datatype.</td></tr> + <tr> + <td valign="top"><em>unsigned *</em> <code>idx</code></td> + <td valign="top">IN/OUT: Starting (IN) and ending (OUT) attribute index.</td></tr> + <tr> + <td valign="top"><em>H5A_operator_t</em> <code>op </code></td> + <td valign="top">IN: User's function to pass each attribute to</td></tr> + <tr> + <td valign="top"><em>void *</em><code>op_data</code></td> + <td valign="top">IN/OUT: User's data to pass through to iterator operator function</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>If successful, returns the return value of the last operator + if it was non-zero, or zero if all attributes were processed. + 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> + diff --git a/doc/html/H5A/H5Aopen_idx.htm b/doc/html/H5A/H5Aopen_idx.htm new file mode 100644 index 0000000..eac1ea0 --- /dev/null +++ b/doc/html/H5A/H5Aopen_idx.htm @@ -0,0 +1,57 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Aopen_idx" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-OpenIdx">H5Aopen_idx</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Aopen_idx</code>(<em>hid_t</em> <code>loc_id</code>, + <em>unsigned int</em> <code>idx</code> + ) +<dt><strong>Purpose:</strong> + <dd>Opens the attribute specified by its index. +<dt><strong>Description:</strong> + <dd><code>H5Aopen_idx</code> opens an attribute which is attached + to the object specified with <code>loc_id</code>. + The location object may be either a group, dataset, or + named datatype, all of which may have any sort of attribute. + <p> + The attribute specified by the index, <code>idx</code>, + indicates the attribute to access. + The value of <code>idx</code> is a 0-based, non-negative integer. + <p> + The attribute identifier returned from this function must be + released with <code>H5Aclose</code> or resource leaks will develop. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of the group, dataset, or named datatype + attribute to be attached to.</td></tr> + <tr> + <td valign="top"><em>unsigned int</em> <code>idx </code></td> + <td valign="top">IN: Index of the attribute to open.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns attribute identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5aopen_idx_f + <dd> + <pre> +SUBROUTINE h5aopen_idx_f(obj_id, index, attr_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + INTEGER, INTENT(IN) :: index ! Attribute index + INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure +END SUBROUTINE h5aopen_idx_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5A/H5Aopen_name.htm b/doc/html/H5A/H5Aopen_name.htm new file mode 100644 index 0000000..c5d8f39 --- /dev/null +++ b/doc/html/H5A/H5Aopen_name.htm @@ -0,0 +1,55 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Aopen_name" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-OpenName">H5Aopen_name</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Aopen_name</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code> + ) +<dt><strong>Purpose:</strong> + <dd> Opens an attribute specified by name. +<dt><strong>Description:</strong> + <dd><code>H5Aopen_name</code> opens an attribute specified by + its name, <code>name</code>, which is attached to the + object specified with <code>loc_id</code>. + The location object may be either a group, dataset, or + named datatype, which may have any sort of attribute. + <p> + The attribute identifier returned from this function must + be released with <code>H5Aclose</code> or resource leaks + will develop. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of a group, dataset, or named datatype + atttribute to be attached to.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>name </code></td> + <td valign="top">IN: Attribute name.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns attribute identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5aopen_name_f + <dd> + <pre> +SUBROUTINE h5aopen_name_f(obj_id, name, attr_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name + INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure +END SUBROUTINE h5aopen_name_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5A/H5Aread.htm b/doc/html/H5A/H5Aread.htm new file mode 100644 index 0000000..16a01fd --- /dev/null +++ b/doc/html/H5A/H5Aread.htm @@ -0,0 +1,82 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Aread" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-Read">H5Aread</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Aread</code>(<em>hid_t</em> <code>attr_id</code>, + <em>hid_t</em> <code>mem_type_id</code>, + <em>void *</em><code>buf</code> + ) +<dt><strong>Purpose:</strong> + <dd>Reads an attribute. +<dt><strong>Description:</strong> + <dd><code>H5Aread</code> reads an attribute, specified with + <code>attr_id</code>. The attribute's memory datatype + is specified with <code>mem_type_id</code>. The entire + attribute is read into <code>buf</code> from the file. + <p> + Datatype conversion takes place at the time of a read or write + and is automatic. See the + <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a> + section of <cite>The Data Type Interface (H5T)</cite> in the + <cite>HDF5 User's Guide</cite> for a discussion of + data conversion, including the range of conversions currently + supported by the HDF5 libraries. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>attr_id</code></td> + <td valign="top">IN: Identifier of an attribute to read.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>mem_type_id </code></td> + <td valign="top">IN: Identifier of the attribute datatype (in memory).</td></tr> + <tr> + <td valign="top"><em>void *</em><code>buf</code></td> + <td valign="top">OUT: Buffer for data to be read.</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> h5aread_f + <dd> + <pre> +SUBROUTINE h5aread_f(attr_id, memtype_id, buf, dims, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier + INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype + ! identifier (in memory) + TYPE, INTENT(INOUT) :: buf ! Data buffer; may be a scalar or + ! an array + DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims + ! Array to hold corresponding + ! dimension sizes of data buffer buf; + ! dim(k) has value of the + ! k-th dimension of buffer buf; + ! values are ignored if buf is a + ! scalar + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure +END SUBROUTINE h5aread_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.2</td> + <td valign="top"> + The <code>dims</code> parameter was added in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5A/H5Awrite.htm b/doc/html/H5A/H5Awrite.htm new file mode 100644 index 0000000..6867173 --- /dev/null +++ b/doc/html/H5A/H5Awrite.htm @@ -0,0 +1,81 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Awrite" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Annot-Write">H5Awrite</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Awrite</code>(<em>hid_t</em> <code>attr_id</code>, + <em>hid_t</em> <code>mem_type_id</code>, + <em>const void *</em><code>buf</code> + ) +<dt><strong>Purpose:</strong> + <dd>Writes data to an attribute. +<dt><strong>Description:</strong> + <dd><code>H5Awrite</code> writes an attribute, specified with + <code>attr_id</code>. The attribute's memory datatype + is specified with <code>mem_type_id</code>. The entire + attribute is written from <code>buf</code> to the file. + <p> + Datatype conversion takes place at the time of a read or write + and is automatic. See the + <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a> + section of <cite>The Data Type Interface (H5T)</cite> in the + <cite>HDF5 User's Guide</cite> for a discussion of + data conversion, including the range of conversions currently + supported by the HDF5 libraries. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>attr_id</code></td> + <td valign="top">IN: Identifier of an attribute to write.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>mem_type_id </code></td> + <td valign="top">IN: Identifier of the attribute datatype (in memory).</td></tr> + <tr> + <td valign="top"><em>const void *</em><code>buf</code></td> + <td valign="top">IN: Data to be written.</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> h5awrite_f + <dd> + <pre> +SUBROUTINE h5awrite_f(attr_id, memtype_id, buf, dims, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier + INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype + ! identifier (in memory) + TYPE, INTENT(IN) :: buf ! Data buffer; may be a scalar or + ! an array + DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims + ! Array to hold corresponding + ! dimension sizes of data buffer buf; + ! dim(k) has value of the k-th + ! dimension of buffer buf; + ! values are ignored if buf is + ! a scalar + INTEGER, INTENT(OUT) :: hdferr ! Error code: + ! 0 on success and -1 on failure +END SUBROUTINE h5awrite_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.2</td> + <td valign="top"> + The <code>dims</code> parameter was added in this release.</td></tr> + </table></ul> +</dl> diff --git a/doc/html/H5D/H5Dclose.htm b/doc/html/H5D/H5Dclose.htm new file mode 100644 index 0000000..3cf62ca --- /dev/null +++ b/doc/html/H5D/H5Dclose.htm @@ -0,0 +1,43 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dclose" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-Close">H5Dclose</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Dclose</code>(<em>hid_t </em><code>dataset_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Closes the specified dataset. +<dt><strong>Description:</strong> + <dd><code>H5Dclose</code> ends access to a dataset specified by + <code>dataset_id</code> and releases resources used by it. + Further use of the dataset identifier is illegal in calls to + the dataset API. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> + <td valign="top">IN: Identifier of the dataset to close 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> h5dclose_f + <dd> + <pre> +SUBROUTINE h5dclose_f(dset_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dclose_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5D/H5Dcreate.htm b/doc/html/H5D/H5Dcreate.htm new file mode 100644 index 0000000..dfa2027 --- /dev/null +++ b/doc/html/H5D/H5Dcreate.htm @@ -0,0 +1,155 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dcreate" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-Create">H5Dcreate</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Dcreate</code>(<em>hid_t </em><code>loc_id</code>, + <em>const char *</em><code>name</code>, + <em>hid_t</em> <code>type_id</code>, + <em>hid_t</em> <code>space_id</code>, + <em>hid_t</em> <code>create_plist_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates a dataset at the specified location. +<dt><strong>Description:</strong> + <dd><code>H5Dcreate</code> creates a data set with a name, + <code>name</code>, in the file or in the group specified by + the identifier <code>loc_id</code>. + The dataset has the datatype and dataspace identified by + <code>type_id</code> and <code>space_id</code>, respectively. + The specified datatype and dataspace are the datatype and + dataspace of the dataset as it will exist in the file, + which may be different than in application memory. + Dataset creation properties are specified by the argument + <code>create_plist_id</code>. + <p> + Dataset names within a group are unique: + <code>H5Dcreate</code> will return an error if a dataset with + the name specified in <code>name</code> already exists at the + location specified in <code>loc_id</code>. + <p> + As is the case for any object in a group, + the length of a dataset name is not limited. + <p> + <code>create_plist_id</code> is a <code>H5P_DATASET_CREATE</code> + property list created with <code>H5Pcreate</code> and + initialized with the various functions described above. + <p> + <code>H5Dcreate</code> returns an error if the dataset's datatype + includes a variable-length (VL) datatype and the fill value + is undefined, i.e., set to <code>NULL</code> in the + dataset creation property list. + Such a VL datatype may be directly included, + indirectly included as part of a compound or array datatype, or + indirectly included as part of a nested compound or array datatype. + <p> + <code>H5Dcreate</code> returns a dataset identifier for success + or a negative value for failure. + The dataset identifier should eventually be closed by + calling <code>H5Dclose</code> to release resources it uses. + <p> + <strong>Fill values and space allocation:</strong><br> + The HDF5 library provides flexible means + of specifying a fill value, + of specifying when space will be allocated for a dataset, and + of specifying when fill values will be written to a dataset. + For further information on these topics, see the document + <a href="http://hdfgroup.org/HDF5/doc_resource/H5Fill_Values.html"> + <cite>Fill Value and Dataset Storage Allocation Issues in HDF5</cite></a> + and the descriptions of the following HDF5 functions in this + <cite>HDF5 Reference Manual</cite>: + <table width=80% border="0"> + <tr valign="top" align="left"><td width=10%> + </td><td width=45%> + <a href="#Dataset-Fill"><code>H5Dfill</code></a><br> + <a href="RM_H5P.html#Property-SetFillValue"><code>H5Pset_fill_value</code></a><br> + <a href="RM_H5P.html#Property-GetFillValue"><code>H5Pget_fill_value</code></a><br> + <a href="RM_H5P.html#Property-FillValueDefined"><code>H5Pfill_value_defined</code></a> + </td><td width=45%> + <a href="RM_H5P.html#Property-SetFillTime"><code>H5Pset_fill_time</code></a><br> + <a href="RM_H5P.html#Property-GetFillTime"><code>H5Pget_fill_time</code></a><br> + <a href="RM_H5P.html#Property-SetAllocTime"><code>H5Pset_alloc_time</code></a><br> + <a href="RM_H5P.html#Property-GetAllocTime"><code>H5Pget_alloc_time</code></a> + </td></tr> + </table> + This information is also included in the + “HDF5 Datasets” chapter of + the new <cite>HDF5 User's Guide</cite>, + which is being prepared for release. +<dt><strong>Note:</strong> + <dd><code>H5Dcreate</code> can fail if there has been an error + in setting up an element of the dataset creation property list. + In such cases, each item in the property list must be examined + to ensure that the setup satisfies to all required conditions. + This problem is most likely to occur with the use of filters. + <p> +<!-- NEW PAGE --> + For example, <code>H5Dcreate</code> will fail without a meaningful + explanation if + <ul> + <li>SZIP compression is being used on the dataset and + <li>the SZIP parameter <code>pixels_per_block</code> + is set to an inappropriate value. + </ul> + <p> + In such a case, one would refer to the description of + <a href="RM_H5P.html#Property-SetSzip"><code>H5Pset_szip</code></a>, + looking for any conditions or requirements that might affect the + local computing environment. + <!-- + <p> + Other known similar problems can occur with . . . + --> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of the file or group + within which to create the dataset.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>name</code></td> + <td valign="top">IN: The name of the dataset to create.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">IN: Identifier of the datatype to use + when creating the dataset.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">IN: Identifier of the dataspace to use + when creating the dataset.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>create_plist_id </code></td> + <td valign="top">IN: Identifier of the set creation property list.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a dataset identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5dcreate_f + <dd> + <pre> +SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, & + hdferr, creation_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp + ! Dataset creation propertly + ! list identifier , default + ! value is H5P_DEFAULT_F (6) +END SUBROUTINE h5dcreate_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5D/H5Dextend.htm b/doc/html/H5D/H5Dextend.htm new file mode 100644 index 0000000..edc7306 --- /dev/null +++ b/doc/html/H5D/H5Dextend.htm @@ -0,0 +1,71 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dextend" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-Extend">H5Dextend</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Dextend</code>(<em>hid_t </em><code>dataset_id</code>, + <em>const hsize_t *</em> <code>size</code> + ) +<dt><strong>Purpose:</strong> + <dd>Extends a dataset. +<dt><strong>Description:</strong> + <dd><code>H5Dextend</code> verifies that the dataset is at least of size + <code>size</code>, extending it if necessary. + The dimensionality of <code>size</code> is the same as that of + the dataspace of the dataset being changed. + <p> + This function can be applied to the following datasets: + <ul> + <li>Any dataset with unlimited dimensions + <li>A dataset with fixed dimensions if the current dimension sizes + are less than the maximum sizes set with <code>maxdims</code> (see + <a href="RM_H5S.html#Dataspace-CreateSimple"> + <code>H5Screate_simple</code></a>) + </ul> + <p> + Space on disk is immediately allocated for the new dataset extent + if the dataset’s space allocation time is set to + <code>H5D_ALLOC_TIME_EARLY</code>. + Fill values will be written to the dataset if the dataset’s + fill time is set to <code>H5D_FILL_TIME_IFSET</code> or + <code>H5D_FILL_TIME_ALLOC</code>. + (See <a href="RM_H5P.html#Property-SetFillTime"> + <code>H5Pset_fill_time</code></a> + and <a href="RM_H5P.html#Property-SetAllocTime"> + <code>H5Pset_alloc_time</code></a>.) + +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset_id</code></td> + <td valign="top">IN: Identifier of the dataset.</td></tr> + <tr> + <td valign="top"><em>const hsize_t *</em> <code>size </code></td> + <td valign="top">IN: Array containing the new magnitude of each dimension.</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> h5dextend_f + <dd> + <pre> +SUBROUTINE h5dextend_f(dataset_id, size, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier + INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size + ! Array containing + ! dimensions' sizes + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dextend_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5D/H5Dfill.htm b/doc/html/H5D/H5Dfill.htm new file mode 100644 index 0000000..fbe59d5 --- /dev/null +++ b/doc/html/H5D/H5Dfill.htm @@ -0,0 +1,95 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dfill" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-Fill">H5Dfill</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Dfill</code>( + <em>const void *</em><code>fill</code>, + <em>hid_t </em><code>fill_type_id</code>, + <em>void *</em><code>buf</code>, + <em>hid_t </em><code>buf_type_id</code>, + <em>hid_t </em><code>space_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Fills dataspace elements with a fill value in a memory buffer. +<dt><strong>Description:</strong> + <dd><code>H5Dfill</code> explicitly fills + the dataspace selection in memory, <code>space_id</code>, + with the fill value specified in <code>fill</code>. + If <code>fill</code> is <code>NULL</code>, + a fill value of <code>0</code> (zero) is used. + <p> + <code>fill_type_id</code> specifies the datatype + of the fill value.<br> + <code>buf</code> specifies the buffer in which + the dataspace elements will be written.<br> + <code>buf_type_id</code> specifies the datatype of + those data elements. + <p> + Note that if the fill value datatype differs + from the memory buffer datatype, the fill value + will be converted to the memory buffer datatype + before filling the selection. +<dt><strong>Note:</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>. + See <a href="RM_H5P.html#Property-SetFillValue">H5Pset_fill_value</a> + for further discussion. + Other related functions include + <a href="RM_H5P.html#Property-GetFillValue">H5Pget_fill_value</a>, + <a href="RM_H5P.html#Property-FillValueDefined">H5Pfill_value_defined</a>, + <a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a>, + <a href="RM_H5P.html#Property-GetFillTime">H5Pget_fill_time</a>, + and + <a href="#Dataset-Create">H5Dcreate</a>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>const void *</em><code>fill</code></td> + <td valign="top">IN: Pointer to the fill value to be used.</td></tr> + <tr> + <td valign="top"><em>hid_t </em><code>fill_type_id </code></td> + <td valign="top">IN: Fill value datatype identifier.</td></tr> + <tr> + <td valign="top"><em>void *</em><code>buf</code></td> + <td valign="top">IN/OUT: Pointer to the memory buffer containing the + selection to be filled.</td></tr> + <tr> + <td valign="top"><em>hid_t </em><code>buf_type_id</code></td> + <td valign="top">IN: Datatype of dataspace elements to be filled.</td></tr> + <tr> + <td valign="top"><em>hid_t </em><code>space_id</code></td> + <td valign="top">IN: Dataspace describing memory buffer and + containing the selection to be filled.</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> h5dfill_f + <dd> + <pre> +SUBROUTINE h5dfill_f(fill_value, space_id, buf, hdferr) + IMPLICIT NONE + TYPE, INTENET(IN) :: fill_value ! Fill value; may be have one of the + ! following types: + ! INTEGER, REAL, DOUBLE PRECISION, + ! CHARACTER + INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier + TYPE, DIMENSION(*) :: buf ! Memory buffer to fill in; must have + ! the same datatype as fill value + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dfill_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5D/H5Dget_create_plist.htm b/doc/html/H5D/H5Dget_create_plist.htm new file mode 100644 index 0000000..5531ecf --- /dev/null +++ b/doc/html/H5D/H5Dget_create_plist.htm @@ -0,0 +1,48 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dget_create_plist" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-GetCreatePlist">H5Dget_create_plist</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Dget_create_plist</code>(<em>hid_t </em><code>dataset_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns an identifier for a copy of the + dataset creation property list for a dataset. +<dt><strong>Description:</strong> + <dd><code>H5Dget_create_plist</code> returns an identifier for a + copy of the dataset creation property list for a dataset. + <p> + The creation property list identifier should be released with + the <code>H5Pclose</code> function. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> + <td valign="top">IN: Identifier of the dataset to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a dataset creation property list identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5dget_create_plist_f + <dd> + <pre> +SUBROUTINE h5dget_create_plist_f(dataset_id, creation_prp, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier + INTEGER(HID_T), INTENT(OUT) :: creation_id ! Dataset creation + ! property list identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dget_create_plist_f + + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5D/H5Dget_offset.htm b/doc/html/H5D/H5Dget_offset.htm new file mode 100644 index 0000000..de8c76c --- /dev/null +++ b/doc/html/H5D/H5Dget_offset.htm @@ -0,0 +1,51 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dget_offset" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-GetOffset">H5Dget_offset</a> +<dt><strong>Signature:</strong> + <dd><em>haddr_t </em><code>H5Dget_offset</code>(<em>hid_t </em><code>dset_id</code>) +<dt><strong>Purpose:</strong> + <dd>Returns dataset address in file. +<dt><strong>Description:</strong> + <dd><code>H5Dget_offset</code> returns the address in the file + of the dataset <code>dset_id</code>. + That address is expressed as the offset in bytes from + the beginning of the file. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t </em><code>dset_id </code></td> + <td valign="top">Dataset identifier.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the offset in bytes; + otherwise returns <code>HADDR_UNDEF</code>, 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5D/H5Dget_space.htm b/doc/html/H5D/H5Dget_space.htm new file mode 100644 index 0000000..87e181d --- /dev/null +++ b/doc/html/H5D/H5Dget_space.htm @@ -0,0 +1,45 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dget_space" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-GetSpace">H5Dget_space</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Dget_space</code>(<em>hid_t </em><code>dataset_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns an identifier for a copy of the dataspace for a dataset. +<dt><strong>Description:</strong> + <dd><code>H5Dget_space</code> returns an identifier for a copy of the + dataspace for a dataset. + <p> + The dataspace identifier should be released with the + <code>H5Sclose</code> function. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> + <td valign="top">IN: Identifier of the dataset to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a dataspace identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5dget_space_f + <dd> + <pre> +SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier + INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dget_space_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5D/H5Dget_space_status.htm b/doc/html/H5D/H5Dget_space_status.htm new file mode 100644 index 0000000..a07959d --- /dev/null +++ b/doc/html/H5D/H5Dget_space_status.htm @@ -0,0 +1,82 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dget_space_status" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-GetSpaceStatus">H5Dget_space_status</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Dget_space_status</code>(<em>hid_t </em><code>dset_id</code>, + <em>H5D_space_status_t *</em><code>status</code>) +<dt><strong>Purpose:</strong> + <dd>Determines whether space has been allocated for a dataset. +<dt><strong>Description:</strong> + <dd><code>H5Dget_space_status</code> determines whether space has been + allocated for the dataset <code>dset_id</code>. + <p> + Space allocation status is returned in <code>status</code>, + which will have one of the following values: + <center> + <table border="0"> + <tr valign="top"><td rowspan="3"> </td><td> + <code>H5D_SPACE_STATUS_NOT_ALLOCATED</code> + </td><td> + Space has not been allocated for this dataset. + </td></tr><tr valign="top"><td> + <code>H5D_SPACE_STATUS_ALLOCATED</code> + </td><td> + Space has been allocated for this dataset. + </td></tr><tr valign="top"><td> + <code>H5D_SPACE_STATUS_PART_ALLOCATED</code> + </td><td> + Space has been partially allocated for this dataset. + (Used only for datasets with chunked storage.) + </td></tr> + </table> + </center> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dset_id</code></td> + <td valign="top">IN: Identifier of the dataset to query.</td></tr> + <tr> + <td valign="top"><em>H5D_space_status_t *</em><code>status </code></td> + <td valign="top">OUT: Space allocation status.</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> h5dget_space_status_f + <dd> + <pre> +SUBROUTINE h5dget_space_status_f(dset_id, flag, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER, INTENET(OUT) :: flag ! Status flag ; possible values: + ! H5D_SPACE_STS_ERROR_F + ! H5D_SPACE_STS_NOT_ALLOCATED_F + ! H5D_SPACE_STS_PART_ALLOCATED_F + ! H5D_SPACE_STS_ALLOCATED_F + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dget_space_status_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5D/H5Dget_storage_size.htm b/doc/html/H5D/H5Dget_storage_size.htm new file mode 100644 index 0000000..ea73523 --- /dev/null +++ b/doc/html/H5D/H5Dget_storage_size.htm @@ -0,0 +1,59 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dget_storage_size" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-GetStorageSize">H5Dget_storage_size</a> +<dt><strong>Signature:</strong> + <dd><em>hsize_t </em><code>H5Dget_storage_size</code>(<em>hid_t </em><code>dataset_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the amount of storage required for a dataset. +<dt><strong>Description:</strong> + <dd><code>H5Dget_storage_size</code> returns the amount of storage + that is required for the specified dataset, <code>dataset_id</code>. + For chunked datasets, this is the number of allocated chunks times + the chunk size. + The return value may be zero if no data has been stored. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> + <td valign="top">IN: Identifier of the dataset to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the amount of storage space allocated for the dataset, + not counting meta data; + otherwise returns 0 (zero). +<dt><strong>Fortran90 Interface:</strong> h5dget_storage_size_f + <dd> + <pre> +SUBROUTINE h5dget_storage_size_f(dset_id, size, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HSIZE_T), INTENT(OUT) :: size ! Amount of storage required + ! for dataset + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dget_storage_size_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5D/H5Dget_type.htm b/doc/html/H5D/H5Dget_type.htm new file mode 100644 index 0000000..3e9e447 --- /dev/null +++ b/doc/html/H5D/H5Dget_type.htm @@ -0,0 +1,49 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dget_type" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-GetType">H5Dget_type</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Dget_type</code>(<em>hid_t </em><code>dataset_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns an identifier for a copy of the datatype for a dataset. +<dt><strong>Description:</strong> + <dd><code>H5Dget_type</code> returns an identifier for a copy of the + datatype for a dataset. + <p> + The datatype should be released with the <code>H5Tclose</code> function. + <p> + If a dataset has a named datatype, then an identifier to the + opened datatype is returned. + Otherwise, the returned datatype is read-only. + If atomization of the datatype fails, then the datatype is closed. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> + <td valign="top">IN: Identifier of the dataset to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a datatype identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5dget_type_f + <dd> + <pre> +SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier + INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dget_type_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5D/H5Diterate.htm b/doc/html/H5D/H5Diterate.htm new file mode 100644 index 0000000..d5317c7 --- /dev/null +++ b/doc/html/H5D/H5Diterate.htm @@ -0,0 +1,180 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Diterate" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-Iterate">H5Diterate</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Diterate</code>( + <em>void *</em><code>buf</code>, + <em>hid_t </em><code>type_id</code>, + <em>hid_t </em><code>space_id</code>, + <em>H5D_operator_t </em><code>operator</code>, + <em>void *</em><code>operator_data</code> + ) +<p> +<dt><strong>Purpose:</strong> + <dd>Iterates over all selected elements in a dataspace. +<p> +<dt><strong>Description:</strong> + <dd><code>H5Diterate</code> iterates over all the data elements in the + memory buffer <code>buf</code>, executing the callback function + <code>operator</code> once for each such data element. + <p> + + <!-- ABILITY TO MODIFY THE DATASPACE, AS REQUIRED BY + THE FOLLOWING PARAGRAPH, HAS NOT BEEN IMPLEMENTED. + The selection in the dataspace is modified so that any elements + already iterated over are removed from the selection if the + iteration is interrupted (by the <code>H5D_operator_t</code> + function returning non-zero) before the iteration is complete; + the iteration may then be re-started by the user where it left off. + <p> + --> + + The protoype of the callback function <code>operator</code> + is as follows + (as defined in the source code file <code>H5Lpublic.h</code>): + <dir> + <code> + <em>herr_t</em> (*H5D_operator_t)(<em>void</em> elem, + <em>hid_t</em> type_id, + <em>unsigned</em> ndim, + <br> + + + <em>const hsize_t *</em>point, + <em>void *</em>operator_data) + </code> + </dir> + <p> + The parameters of this callback function have the following + values or meanings: + <table> + <tr valign=top><td><code> </code></td> + <td><code><em>void *</em>elem</code></td> + <td> </td> + <td>IN/OUT: Pointer to the memory buffer containing + the current data element</td> + </tr> + <tr valign=top><td> </td> + <td><code><em>hid_t</em> type_id</code></td> + <td> </td> + <td>IN: Datatype identifier for the elements stored in + <code>elem</code></td> + </tr> + <tr valign=top><td> </td> + <td><code><em>unsigned</em> ndim</code></td> + <td> </td> + <td>IN: Number of dimensions for the <code>point</code> + array</td> + </tr> + <tr valign=top><td> </td> + <td><code><em>const hsize_t *</em>point</code></td> + <td> </td> + <td>IN: Array containing the location of the element + within the original dataspace</td> + </tr> + <tr valign=top><td> </td> + <td><code><em>void *</em>operator_data</code></td> + <td> </td> + <td>IN/OUT: Pointer to any user-defined data associated with + the operation</td> + </tr> + </table> + + <p> + The possible return values from the callback function, + and the effect of each, are as follows: + <ul> + <li>Zero causes the iterator to continue, + returning zero when all data elements have been processed. + <li>A positive value causes the iterator to immediately + return that positive value, indicating short-circuit success. + <!-- + The iterator can be restarted at the next data element. + --> + <li>A negative value causes the iterator to immediately + return that value, indicating failure. + <!-- + The iterator can be restarted at the next data element. + --> + </ul> + + <p> + The <code>H5Diterate</code> <code>operator_data</code> parameter + is a user-defined pointer to the data required to process + dataset elements in the course of the iteration. + If <code>operator</code> needs to pass data back to the application, + such data can be returned in this same buffer. + This pointer is passed back to each step of the iteration in the + <code>operator</code> callback function’s + <code>operator_data</code> parameter. + + <p> + Unlike other HDF5 iterators, this iteration operation cannot + be restarted at the point of exit; + a second <code>H5Diterate</code> call will always restart + at the beginning. + +<p> +<!-- NEW PAGE --> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>void *</em><code>buf</code></td> + <td valign="top">IN/OUT: Pointer to the buffer in memory containing + the elements to iterate over</td></tr> + <tr> + <td valign="top"><em>hid_t </em><code>type_id</code></td> + <td valign="top">IN: Datatype identifier for the elements stored + in <code>buf</code></td></tr> + <tr> + <td valign="top"><em>hid_t </em><code>space_id</code></td> + <td valign="top">IN: Dataspace identifier for <code>buf</code> + </td></tr> + <tr> + <td valign="top"><em>H5D_operator_t </em><code>operator </code></td> + <td valign="top">IN: Function pointer to the routine to be called + for each element in <code>buf</code> iterated over</td></tr> + <tr> + <td valign="top"><em>void *</em><code>operator_data</code></td> + <td valign="top">IN/OUT: Pointer to any user-defined data associated + with the operation</td></tr> + </table></ul> +<p> +<dt><strong>Returns:</strong> + <dd>Returns the return value of the last operator if it was non-zero, + or zero if all elements have been processed. + Otherwise returns a negative value. +<p> +<dt><strong>Fortran90 Interface:</strong> + <dd>None. +<!--__ *** FORTRAN90 INTERFACE ********************************** --> +<!--__ When the Fortran90 interface is complete, replace this --> +<!--__ section with the Fortran90 subroutine description. --> +<!--__ --> +<!--__ See the file h5fortran_f_template.html for a template and --> +<!--__ instructions. --> +<!--__ *********************************************************** --> +<p> +<dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + The following changes occured in the + <code>H5D_operator_t</code> function in this release:<br> + + <code>ndim</code> parameter type was changed to + <em>unsigned</em><br> + + <code>point</code> parameter type was changed to + <em>const hsize_t</em></td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5D/H5Dopen.htm b/doc/html/H5D/H5Dopen.htm new file mode 100644 index 0000000..83c238a --- /dev/null +++ b/doc/html/H5D/H5Dopen.htm @@ -0,0 +1,49 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dopen" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-Open">H5Dopen</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Dopen</code>(<em>hid_t </em><code>loc_id</code>, + <em>const char *</em><code>name</code> + ) +<dt><strong>Purpose:</strong> + <dd>Opens an existing dataset. +<dt><strong>Description:</strong> + <dd><code>H5Dopen</code> opens an existing dataset for access in the file + or group specified in <code>loc_id</code>. <code>name</code> is + a dataset name and is used to identify the dataset in the file. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of the file or group + within which the dataset to be accessed will be found.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>name </code></td> + <td valign="top">IN: The name of the dataset to access.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a dataset identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5dopen_f + <dd> + <pre> +SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset + INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dopen_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5D/H5Dread.htm b/doc/html/H5D/H5Dread.htm new file mode 100644 index 0000000..2fdae93 --- /dev/null +++ b/doc/html/H5D/H5Dread.htm @@ -0,0 +1,283 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dread" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-Read">H5Dread</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Dread</code>(<em>hid_t </em><code>dataset_id</code>, + <em>hid_t</em> <code>mem_type_id</code>, + <em>hid_t</em> <code>mem_space_id</code>, + <em>hid_t</em> <code>file_space_id</code>, + <em>hid_t</em> <code>xfer_plist_id</code>, + <em>void *</em> <code>buf</code> + ) +<dt><strong>Purpose:</strong> + <dd>Reads raw data from a dataset into a buffer. +<dt><strong>Description:</strong> + <dd><code>H5Dread</code> reads a (partial) dataset, specified by its + identifier <code>dataset_id</code>, from the + file into an application memory buffer <code>buf</code>. + Data transfer properties are defined by the argument + <code>xfer_plist_id</code>. + The memory datatype of the (partial) dataset is identified by + the identifier <code>mem_type_id</code>. + The part of the dataset to read is defined by + <code>mem_space_id</code> and <code>file_space_id</code>. + <p> + <code>file_space_id</code> is used to specify only the selection within + the file dataset's dataspace. Any dataspace specified in <code>file_space_id</code> + is ignored by the library and the dataset's dataspace is always used. + <code>file_space_id</code> can be the constant <code>H5S_ALL</code>. + which indicates that the entire file dataspace, as defined by the + current dimensions of the dataset, is to be selected. + <p> + <code>mem_space_id</code> is used to specify both the memory dataspace + and the selection within that dataspace. + <code>mem_space_id</code> can be the constant <code>H5S_ALL</code>, + in which case the file dataspace is used for the memory dataspace and + the selection defined with <code>file_space_id</code> is used for the + selection within that dataspace. + <p> + If raw data storage space has not been allocated for the dataset + and a fill value has been defined, the returned buffer <code>buf</code> + is filled with the fill value. + <p> + The behavior of the library for the various combinations of valid + dataspace identifiers and H5S_ALL for the <code>mem_space_id</code> and the + <code>file_space_id</code> parameters is described below: + + <br><br> + <table border=0> + <tr> + <th> + <code>mem_space_id </code> + </th> + <th> + <code>file_space_id </code> + </th> + <th> + Behavior + </th> + </tr> + + <tr valign="top"> + <td> + valid dataspace identifier + </td> + <td> + valid dataspace identifier + </td> + <td> + <code>mem_space_id</code> specifies the memory dataspace and the + selection within it. + <code>file_space_id</code> specifies the selection within the file + dataset's dataspace. + </td> + </tr> + + <tr valign="top"> + <td> + <code>H5S_ALL</code> + </td> + <td> + valid dataspace identifier + </td> + <td> + The file dataset's dataspace is used for the memory dataspace and the + selection specified with <code>file_space_id</code> specifies the + selection within it. + The combination of the file dataset's dataspace and the selection from + <code>file_space_id</code> is used for memory also. + </td> + </tr> + + <tr valign="top"> + <td> + valid dataspace identifier + </td> + <td> + <code>H5S_ALL</code> + </td> + <td> + <code>mem_space_id</code> specifies the memory dataspace and the + selection within it. + The selection within the file dataset's dataspace is set to the "all" + selection. + </td> + </tr> + + <tr valign="top"> + <td> + <code>H5S_ALL</code> + </td> + <td> + <code>H5S_ALL</code> + </td> + <td> + The file dataset's dataspace is used for the memory dataspace and the + selection within the memory dataspace is set to the "all" selection. + The selection within the file dataset's dataspace is set to the "all" + selection. + </td> + </tr> + + </table> + + <p> + Setting an <code>H5S_ALL</code> selection indicates that the entire dataspace, as + defined by the current dimensions of a dataspace, will be selected. + The number of elements selected in the memory dataspace must match the + number of elements selected in the file dataspace. + <p> + <code>xfer_plist_id</code> can be the constant <code>H5P_DEFAULT</code>. + in which case the default data transfer properties are used. + <p> + Data is automatically converted from the file datatype + and dataspace to the memory datatype and dataspace + at the time of the read. See the + <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a> + section of <cite>The Data Type Interface (H5T)</cite> in the + <cite>HDF5 User's Guide</cite> for a discussion of + data conversion, including the range of conversions currently + supported by the HDF5 libraries. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset_id</code></td> + <td valign="top">IN: Identifier of the dataset read from.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>mem_type_id</code></td> + <td valign="top">IN: Identifier of the memory datatype.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>mem_space_id</code></td> + <td valign="top">IN: Identifier of the memory dataspace.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>file_space_id </code></td> + <td valign="top">IN: Identifier of the dataset's dataspace in the file.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>xfer_plist_id </code></td> + <td valign="top">IN: Identifier of a transfer property list + for this I/O operation.</td></tr> + <tr> + <td valign="top"><em>void *</em> <code>buf</code></td> + <td valign="top">OUT: Buffer to receive data read from 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> h5dread_f, h5dread_vl_f + <dd>There is no direct FORTRAN couterpart for the C function + <code>H5Dread</code>. + Instead, that functionality is provided by two FORTRAN functions: + + <center> + <table width=80%> + <tr valign=top align=left> + <td> + <code>h5dread_f</code> + </td> + <td> </td><td> + <strong>Purpose:</strong> + Reads data other than variable-length data. + </td> + </tr> + <tr valign=top align=left> + <td> + <code>h5dread_vl_f</code> + </td><td> </td><td> + <strong>Purpose:</strong> + Reads variable-length data. + </td> + </tr> + </table> + </center> + + <pre> +SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + TYPE, INTENT(INOUT) :: buf ! Data buffer; may be a scalar + ! or an array + DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims + ! Array to hold corresponding + ! dimension sizes of data + ! buffer buf + ! dim(k) has value of the k-th + ! dimension of buffer buf + ! Values are ignored if buf is + ! a scalar + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + ! Default value is H5S_ALL_F + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + ! Default value is H5S_ALL_F + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + ! Default value is H5P_DEFAULT_F +END SUBROUTINE h5dread_f + </pre> + + <pre> + +SUBROUTINE h5dread_vl_f(dset_id, mem_type_id, buf, dims, len, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + TYPE, INTENT(INOUT), & DIMENSION(dims(1),dims(2)) :: buf + ! Data buffer; may be a scalar + ! or an array + ! TYPE must be one of the following + ! INTEGER + ! REAL + ! CHARACTER + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims + ! Array to hold corresponding + ! dimension sizes of data + ! buffer buf + ! dim(k) has value of the k-th + ! dimension of buffer buf + ! Values are ignored if buf is + ! a scalar + INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len + ! Array to store length of + ! each element + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + ! Default value is H5S_ALL_F + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + ! Default value is H5S_ALL_F + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + ! Default value is H5P_DEFAULT_F +END SUBROUTINE h5dread_vl_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.2</td> + <td valign="top"> + The <code>dims</code> parameter was added in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5D/H5Dvlen_get_buf_size.htm b/doc/html/H5D/H5Dvlen_get_buf_size.htm new file mode 100644 index 0000000..b1cf679 --- /dev/null +++ b/doc/html/H5D/H5Dvlen_get_buf_size.htm @@ -0,0 +1,90 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dvlen_get_buf_size" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-VLGetBuf">H5Dvlen_get_buf_size</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Dvlen_get_buf_size</code>(<em>hid_t </em><code>dataset_id</code>, + <em>hid_t</em> <code>type_id</code>, + <em>hid_t</em> <code>space_id</code>, + <em>hsize_t</em> *<code>size</code> + ) +<dt><strong>Purpose:</strong> + <dd>Determines the number of bytes required to store VL data. +<dt><strong>Description:</strong> + <dd><code>H5Dvlen_get_buf_size</code> determines the number of bytes + required to store the VL data from the dataset, using the + <code>space_id</code> for the selection in the dataset on + disk and the <code>type_id</code> for the memory representation + of the VL data in memory. + <p> + <code>*size</code> is returned with the number of bytes + required to store the VL data in memory. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> + <td valign="top">IN: Identifier of the dataset to query.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">IN: Datatype identifier.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">IN: Dataspace identifier.</td></tr> + <tr> + <td valign="top"><em>hsize_t</em> *<code>size</code></td> + <td valign="top">OUT: The size in bytes of the memory + buffer required to store the VL data.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns non-negative value if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5dvlen_get_max_len_f + <dd>There is no direct FORTRAN couterpart for the C function + <code>H5Dvlen_get_buf_size</code>; + corresponding functionality is provided by the FORTRAN function + <code>h5dvlen_get_max_len_f</code></a>. + <br> + <pre> +SUBROUTINE h5dvlen_get_max_len_f(dset_id, size, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + + INTEGER(SIZE_T), INTENT(OUT) :: elem_len ! Maximum length of the element + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5dvlen_get_max_len_f + </pre> + + <!-- + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> </td> + <td valign="top"> </td> + <td valign="top">Function introduced + in this release.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> </td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5D/H5Dvlen_reclaim.htm b/doc/html/H5D/H5Dvlen_reclaim.htm new file mode 100644 index 0000000..930b307 --- /dev/null +++ b/doc/html/H5D/H5Dvlen_reclaim.htm @@ -0,0 +1,64 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dvlen_reclaim" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-VLReclaim">H5Dvlen_reclaim</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Dvlen_reclaim</code>(<em>hid_t </em><code>type_id</code>, + <em>hid_t</em> <code>space_id</code>, + <em>hid_t</em> <code>plist_id</code>, + <em>void</em> *<code>buf</code> + ) +<dt><strong>Purpose:</strong> + <dd>Reclaims VL datatype memory buffers. +<dt><strong>Description:</strong> + <dd><code>H5Dvlen_reclaim</code> reclaims memory buffers created to + store VL datatypes. + <p> + The <code>type_id</code> must be the datatype stored in the buffer. + The <code>space_id</code> describes the selection for the memory buffer + to free the VL datatypes within. + The <code>plist_id</code> is the dataset transfer property list which + was used for the I/O transfer to create the buffer. + And <code>buf</code> is the pointer to the buffer to be reclaimed. + <p> + The VL structures (<code>hvl_t</code>) in the user's buffer are + modified to zero out the VL information after the memory has been reclaimed. + <p> + If nested VL datatypes were used to create the buffer, + this routine frees them <em>from the bottom up</em>, releasing all + the memory without creating memory leaks. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">IN: Identifier of the datatype.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">IN: Identifier of the dataspace.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>plist_id</code></td> + <td valign="top">IN: Identifier of the property list used to create the buffer.</td></tr> + <tr> + <td valign="top"><em>void</em> *<code>buf</code></td> + <td valign="top">IN: Pointer to the buffer to be reclaimed.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns 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> + diff --git a/doc/html/H5D/H5Dwrite.htm b/doc/html/H5D/H5Dwrite.htm new file mode 100644 index 0000000..446d4a9 --- /dev/null +++ b/doc/html/H5D/H5Dwrite.htm @@ -0,0 +1,303 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Dwrite" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataset-Write">H5Dwrite</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Dwrite</code>(<em>hid_t </em><code>dataset_id</code>, + <em>hid_t</em> <code>mem_type_id</code>, + <em>hid_t</em> <code>mem_space_id</code>, + <em>hid_t</em> <code>file_space_id</code>, + <em>hid_t</em> <code>xfer_plist_id</code>, + <em>const void *</em> <code>buf</code> + ) +<dt><strong>Purpose:</strong> + <dd>Writes raw data from a buffer to a dataset. +<dt><strong>Description:</strong> + <dd><code>H5Dwrite</code> writes a (partial) dataset, specified by its + identifier <code>dataset_id</code>, from the + application memory buffer <code>buf</code> into the file. + Data transfer properties are defined by the argument + <code>xfer_plist_id</code>. + The memory datatype of the (partial) dataset is identified by + the identifier <code>mem_type_id</code>. + The part of the dataset to write is defined by + <code>mem_space_id</code> and <code>file_space_id</code>. + <p> + <code>file_space_id</code> is used to specify only the selection within + the file dataset's dataspace. Any dataspace specified in <code>file_space_id</code> + is ignored by the library and the dataset's dataspace is always used. + <code>file_space_id</code> can be the constant <code>H5S_ALL</code>. + which indicates that the entire file dataspace, as defined by the + current dimensions of the dataset, is to be selected. + <p> + <code>mem_space_id</code> is used to specify both the memory dataspace + and the selection within that dataspace. + <code>mem_space_id</code> can be the constant <code>H5S_ALL</code>, + in which case the file dataspace is used for the memory dataspace and + the selection defined with <code>file_space_id</code> is used for the + selection within that dataspace. + <p> + The behavior of the library for the various combinations of valid + dataspace IDs and H5S_ALL for the <code>mem_space_id</code> and the + <code>file_space_id</code> parameters is described below: + + <br><br> + <table border=0> + <tr> + <th> + <code>mem_space_id </code> + </th> + <th> + <code>file_space_id </code> + </th> + <th> + Behavior + </th> + </tr> + + <tr valign="top"> + <td> + valid dataspace identifier + </td> + <td> + valid dataspace identifier + </td> + <td> + <code>mem_space_id</code> specifies the memory dataspace and the + selection within it. + <code>file_space_id</code> specifies the selection within the file + dataset's dataspace. + </td> + </tr> + + <tr valign="top"> + <td> + H5S_ALL + </td> + <td> + valid dataspace identifier + </td> + <td> + The file dataset's dataspace is used for the memory dataspace and the + selection specified with <code>file_space_id</code> specifies the + selection within it. + The combination of the file dataset's dataspace and the selection from + <code>file_space_id</code> is used for memory also. + </td> + </tr> + + <tr valign="top"> + <td> + valid dataspace identifier + </td> + <td> + H5S_ALL + </td> + <td> + <code>mem_space_id</code> specifies the memory dataspace and the + selection within it. + The selection within the file dataset's dataspace is set to the "all" + selection. + </td> + </tr> + + <tr valign="top"> + <td> + H5S_ALL + </td> + <td> + H5S_ALL + </td> + <td> + The file dataset's dataspace is used for the memory dataspace and the + selection within the memory dataspace is set to the "all" selection. + The selection within the file dataset's dataspace is set to the "all" + selection. + </td> + </tr> + </table> + + <p> + Setting an "all" selection indicates that the entire dataspace, as + defined by the current dimensions of a dataspace, will be selected. + The number of elements selected in the memory dataspace must match the + number of elements selected in the file dataspace. + <p> + <code>xfer_plist_id</code> can be the constant <code>H5P_DEFAULT</code>. + in which case the default data transfer properties are used. + <p> + Writing to an dataset will fail if the HDF5 file was + not opened with write access permissions. + <p> + Data is automatically converted from the memory datatype + and dataspace to the file datatype and dataspace + at the time of the write. See the + <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a> + section of <cite>The Data Type Interface (H5T)</cite> in the + <cite>HDF5 User's Guide</cite> for a discussion of + data conversion, including the range of conversions currently + supported by the HDF5 libraries. + <p> + If the dataset's space allocation time is set to + <code>H5D_ALLOC_TIME_LATE</code> or <code>H5D_ALLOC_TIME_INCR</code> + and the space for the dataset has not yet been allocated, + that space is allocated when the first raw data is written to the + dataset. + Unused space in the dataset will be written with fill values at the + same time if the dataset's fill time is set to + <code>H5D_FILL_TIME_IFSET</code> or <code>H5D_FILL_TIME_ALLOC</code>. + (Also see + <a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a> + and + <a href="RM_H5P.html#Property-SetAllocTime">H5Pset_alloc_time</a>.) + <p> + If a dataset's storage layout is 'compact', care must be taken when + writing data to the dataset in parallel. A compact dataset's raw data + is cached in memory and may be flushed to the file from any of the + parallel processes, so parallel applications should always attempt to + write identical data to the dataset from all processes. + +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset_id</code></td> + <td valign="top">IN: Identifier of the dataset to write to.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>mem_type_id</code></td> + <td valign="top">IN: Identifier of the memory datatype.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>mem_space_id</code></td> + <td valign="top">IN: Identifier of the memory dataspace.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>file_space_id </code></td> + <td valign="top">IN: Identifier of the dataset's dataspace in the file.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>xfer_plist_id</code></td> + <td valign="top">IN: Identifier of a transfer property list + for this I/O operation.</td></tr> + <tr> + <td valign="top"><em>const void *</em> <code>buf</code></td> + <td valign="top">IN: Buffer with data to be written to the 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> h5dwrite_f, h5dwrite_vl_f + <dd>There is no direct FORTRAN couterpart for the C function + <code>H5Dwrite</code>. + Instead, that functionality is provided by two FORTRAN functions: + + <center> + <table width=80%> + <tr valign=top align=left> + <td> + <code>h5dwrite_f</code> + </td> + <td> </td><td> + <strong>Purpose:</strong> + Writes data other than variable-length data. + </td> + </tr> + <tr valign=top align=left> + <td> + <code>h5dwrite_vl_f</code> + </td><td> </td><td> + <strong>Purpose:</strong> + Writes variable-length data. + </td> + </tr> + </table> + </center> + + <pre> +SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + TYPE, INTENT(IN) :: buf ! Data buffer; may be a scalar + ! or an array + + DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims + ! Array to hold corresponding + ! dimension sizes of data + ! buffer buf; dim(k) has value + ! of the k-th dimension of + ! buffer buf; values are + ! ignored if buf is a scalar + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + ! Default value is H5S_ALL_F + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + ! Default value is H5S_ALL_F + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list + ! identifier; default value + ! is H5P_DEFAULT_F +END SUBROUTINE h5dwrite_f + </pre> + + <pre> + +SUBROUTINE h5dwrite_vl_f(dset_id, mem_type_id, buf, dims, len, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + TYPE, INTENT(IN), & DIMENSION(dims(1),dims(2)) :: buf + ! Data buffer; may be a scalar + ! or an array + ! TYPE must be one of the following + ! INTEGER + ! REAL + ! CHARACTER + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims + ! Array to hold corresponding + ! dimension sizes of data + ! buffer buf + ! dim(k) has value of the k-th + ! dimension of buffer buf + ! Values are ignored if buf is + ! a scalar + INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len + ! Array to store length of + ! each element + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + ! Default value is H5S_ALL_F + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + ! Default value is H5S_ALL_F + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + ! Default value is H5P_DEFAULT_F +END SUBROUTINE h5dwrite_vl_f + </pre> + + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.2</td> + <td valign="top"> + A <code>dims</code> parameter has been added.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5E/H5Eclear.htm b/doc/html/H5E/H5Eclear.htm new file mode 100644 index 0000000..da51fb7 --- /dev/null +++ b/doc/html/H5E/H5Eclear.htm @@ -0,0 +1,40 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Eclear" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Error-Clear">H5Eclear</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Eclear</code>(<code>void</code>) +<dt><strong>Purpose:</strong> + <dd>Clears the error stack for the current thread. +<dt><strong>Description:</strong> + <dd><code>H5Eclear</code> clears the error stack for the current thread. + <p> + The stack is also cleared whenever an API function is called, + with certain exceptions (for instance, <code>H5Eprint</code>). + <p> +<dt><strong>Parameters:</strong> + <ul><table> + <tr><td valign="top">None</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> h5eclear_f + <dd> + <pre> +SUBROUTINE h5eclear_f(hdferr) + IMPLICIT NONE + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5eclear_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5E/H5Eget_auto.htm b/doc/html/H5E/H5Eget_auto.htm new file mode 100644 index 0000000..90919e3 --- /dev/null +++ b/doc/html/H5E/H5Eget_auto.htm @@ -0,0 +1,47 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Eget_auto" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Error-GetAuto">H5Eget_auto</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Eget_auto</code>(<em>H5E_auto_t *</em> <code>func</code>, + <em>void **</em><code>client_data</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the current settings for the automatic error stack + traversal function and its data. +<dt><strong>Description:</strong> + <dd><code>H5Eget_auto</code> returns the current settings for the + automatic error stack traversal function, <code>func</code>, + and its data, <code>client_data</code>. Either (or both) + arguments may be null in which case the value is not returned. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5E_auto_t *</em> <code>func</code></td> + <td valign="top">OUT: Current setting for the function to be called upon an + error condition.</td></tr> + <tr> + <td valign="top"><em>void **</em><code>client_data </code></td> + <td valign="top">OUT: Current setting for the data passed to the error 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> + diff --git a/doc/html/H5E/H5Eget_major.htm b/doc/html/H5E/H5Eget_major.htm new file mode 100644 index 0000000..e824592 --- /dev/null +++ b/doc/html/H5E/H5Eget_major.htm @@ -0,0 +1,41 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Eget_major" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Error-GetMajor">H5Eget_major</a> +<dt><strong>Signature:</strong> + <dd><em>const char *</em> <code>H5Eget_major</code>(<em>H5E_major_t</em> <code>n</code>) +<dt><strong>Purpose:</strong> + <dd>Returns a character string describing an error specified by a + major error number. +<dt><strong>Description:</strong> + <dd>Given a major error number, <code>H5Eget_major</code> returns a + constant character string that describes the error. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5E_major_t</em> <code>n </code></td> + <td valign="top">IN: Major error number.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd> Returns a character string describing the error if successful. + Otherwise returns "Invalid major error number." +<dt><strong>Fortran90 Interface:</strong> h5eget_major_f + <dd> + <pre> +SUBROUTINE h5eget_major_f(error_no, name, hdferr) + INTEGER, INTENT(IN) :: error_no !Major error number + CHARACTER(LEN=*), INTENT(OUT) :: name ! File name + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5eget_major_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5E/H5Eget_minor.htm b/doc/html/H5E/H5Eget_minor.htm new file mode 100644 index 0000000..e869b22 --- /dev/null +++ b/doc/html/H5E/H5Eget_minor.htm @@ -0,0 +1,41 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Eget_minor" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Error-GetMinor">H5Eget_minor</a> +<dt><strong>Signature:</strong> + <dd><em>const char *</em> <code>H5Eget_minor</code>(<em>H5E_minor_t</em> <code>n</code>) +<dt><strong>Purpose:</strong> + <dd>Returns a character string describing an error specified by a + minor error number. +<dt><strong>Description:</strong> + <dd>Given a minor error number, <code>H5Eget_minor</code> returns a + constant character string that describes the error. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5E_minor_t</em> <code>n </code></td> + <td valign="top">IN: Minor error number.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd> Returns a character string describing the error if successful. + Otherwise returns "Invalid minor error number." +<dt><strong>Fortran90 Interface:</strong> h5eget_minor_f + <dd> + <pre> +SUBROUTINE h5eget_minor_f(error_no, name, hdferr) + INTEGER, INTENT(IN) :: error_no !Major error number + CHARACTER(LEN=*), INTENT(OUT) :: name ! File name + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5eget_minor_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5E/H5Eprint.htm b/doc/html/H5E/H5Eprint.htm new file mode 100644 index 0000000..dcca2b5 --- /dev/null +++ b/doc/html/H5E/H5Eprint.htm @@ -0,0 +1,46 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Eprint" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Error-Print">H5Eprint</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Eprint</code>(<em>FILE *</em> <code>stream</code>) +<dt><strong>Purpose:</strong> + <dd>Prints the error stack in a default manner. +<dt><strong>Description:</strong> + <dd><code>H5Eprint</code> prints the error stack on the specified + stream, <code>stream</code>. + Even if the error stack is empty, a one-line message will be printed: + <br> + <code>HDF5-DIAG: Error detected in thread 0.</code> + <p> + <code>H5Eprint</code> is a convenience function for + <code>H5Ewalk</code> with a function that prints error messages. + Users are encouraged to write their own more specific error handlers. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>FILE *</em> <code>stream </code></td> + <td valign="top">IN: File pointer, or stderr if NULL.</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> h5eprint_f + <dd> + <pre> +SUBROUTINE h5eprint_f(hdferr, name) + CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: name ! File name + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5eprint_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5E/H5Epush.htm b/doc/html/H5E/H5Epush.htm new file mode 100644 index 0000000..5452a20 --- /dev/null +++ b/doc/html/H5E/H5Epush.htm @@ -0,0 +1,82 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Epush" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Error-Push">H5Epush</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Epush</code>( + <em>const char *</em><code>file</code>, + <em>const char *</em><code>func</code>, + <em>unsigned</em> <code>line</code>, + <em>H5E_major_t</em> <code>maj_num</code>, + <em>H5E_minor_t</em> <code>min_num</code>, + <em>const char *</em><code>str</code> + ) +<dt><strong>Purpose:</strong> + <dd>Pushes new error record onto error stack. +<dt><strong>Description:</strong> + <dd><code>H5Epush</code> pushes a new error record onto the + error stack for the current thread. + <p> + The error has major and minor numbers <code>maj_num</code> and + <code>min_num</code>, + the function <code>func</code> where the error was detected, + the name of the file <code>file</code> where the error was detected, + the line <code>line</code> within that file, + and an error description string <code>str</code>. + <p> + The function name, file name, and error description strings + must be statically allocated. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>const char *</em><code>file</code>,</td> + <td valign="top">IN: Name of the file in which the error was detected.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>func</code>,</td> + <td valign="top">IN: Name of the function in which the error was detected.</td></tr> + <tr> + <td valign="top"><em>unsigned</em> <code>line</code>,</td> + <td valign="top">IN: Line within the file at which the error was detected.</td></tr> + <tr> + <td valign="top"><em>H5E_major_t</em> <code>maj_num, </code></td> + <td valign="top">IN: Major error number.</td></tr> + <tr> + <td valign="top"><em>H5E_minor_t</em> <code>min_num</code>,</td> + <td valign="top">IN: Minor error number.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>str</code></td> + <td valign="top">IN: Error description string.</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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5E/H5Eset_auto.htm b/doc/html/H5E/H5Eset_auto.htm new file mode 100644 index 0000000..7cb84df --- /dev/null +++ b/doc/html/H5E/H5Eset_auto.htm @@ -0,0 +1,59 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Eset_auto" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Error-SetAuto">H5Eset_auto</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Eset_auto</code>(<em>H5E_auto_t</em> <code>func</code>, + <em>void *</em><code>client_data</code> + ) +<dt><strong>Purpose:</strong> + <dd>Turns automatic error printing on or off. +<dt><strong>Description:</strong> + <dd><code>H5Eset_auto</code> turns on or off automatic printing of + errors. When turned on (non-null <code>func</code> pointer), + any API function which returns an error indication will + first call <code>func</code>, passing it <code>client_data</code> + as an argument. + <p> + When the library is first initialized the auto printing function + is set to <code>H5Eprint</code> (cast appropriately) and + <code>client_data</code> is the standard error stream pointer, + <code>stderr</code>. + <p> + Automatic stack traversal is always in the + <code>H5E_WALK_DOWNWARD</code> direction. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5E_auto_t</em> <code>func</code></td> + <td valign="top">IN: Function to be called upon an error condition.</td></tr> + <tr> + <td valign="top"><em>void *</em><code>client_data </code></td> + <td valign="top">IN: Data passed to the error 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> h5eset_auto_f + <dd> + <pre> +SUBROUTINE h5eset_auto_f(printflag, hdferr) + INTEGER, INTENT(IN) :: printflag !flag to turn automatic error + !printing on or off + !possible values are: + !printon (1) + !printoff(0) + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5eset_auto_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5E/H5Ewalk.htm b/doc/html/H5E/H5Ewalk.htm new file mode 100644 index 0000000..f9755d9 --- /dev/null +++ b/doc/html/H5E/H5Ewalk.htm @@ -0,0 +1,87 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Ewalk" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Error-Walk">H5Ewalk</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Ewalk</code>(<em>H5E_direction_t</em> <code>direction</code>, + <em>H5E_walk_t</em> <code>func</code>, + <em>void *</em> <code>client_data</code> + ) +<dt><strong>Purpose:</strong> + <dd>Walks the error stack for the current thread, calling a specified + function. +<dt><strong>Description:</strong> + <dd><code>H5Ewalk</code> walks the error stack for the current thread + and calls the specified function for each error along the way. + <p> + <code>direction</code> determines whether the stack is walked + from the inside out or the outside in. + A value of <code>H5E_WALK_UPWARD</code> means begin with the + most specific error and end at the API; + a value of <code>H5E_WALK_DOWNWARD</code> means to start at the + API and end at the inner-most function where the error was first + detected. + <p> + <code>func</code> will be called for each error in the error stack. + Its arguments will include an index number (beginning at zero + regardless of stack traversal direction), an error stack entry, + and the <code>client_data</code> pointer passed to + <code>H5E_print</code>. + The <code>H5E_walk_t</code> prototype is as follows: + <dir> + <p> + <code>typedef</code> <em>herr_t</em> <code>(*H5E_walk_t)(</code><em>int</em> <code>n,</code> + <em>H5E_error_t *</em><code>err_desc,</code> + <em>void *</em><code>client_data)</code> + <p> + where the parameters have the following meanings: + <dl> + <dt><em>int</em> <code>n</code> + <dd>Indexed position of the error in the stack. + <dt><em>H5E_error_t *</em><code>err_desc</code> + <dd>Pointer to a data structure describing the error. + <em>(This structure is currently described only in the + source code file </em><code>hdf5/src/H5Epublic.h</code><em>. + That file also contains the definitive list of major + and minor error codes. That information will + eventually be presented as an appendix to this + <cite>Reference Manual</cite>.)</em> + <dt><em>void *</em><code>client_data</code> + <dd>Pointer to client data in the format expected by + the user-defined function. + </dl> + </dir> + <p> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5E_direction_t</em> <code>direction </code></td> + <td valign="top">IN: Direction in which the error stack is to be walked.</td></tr> + <tr> + <td valign="top"><em>H5E_walk_t</em> <code>func</code></td> + <td valign="top">IN: Function to be called for each error encountered.</td></tr> + <tr> + <td valign="top"><em>void *</em> <code>client_data</code></td> + <td valign="top">IN: Data to be passed with <code>func</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> + diff --git a/doc/html/H5E/H5Ewalk_cb.htm b/doc/html/H5E/H5Ewalk_cb.htm new file mode 100644 index 0000000..f263b5d --- /dev/null +++ b/doc/html/H5E/H5Ewalk_cb.htm @@ -0,0 +1,66 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Ewalk_cb" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Error-WalkCB">H5Ewalk_cb</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Ewalk_cb</code>(<em>int</em> <code>n</code>, + <em>H5E_error_t *</em><code>err_desc</code>, + <em>void</em> <code>*client_data</code> + ) +<dt><strong>Purpose:</strong> + <dd>Default error stack traversal callback function + that prints error messages to the specified output stream. +<dt><strong>Description:</strong> + <dd><code>H5Ewalk_cb</code> is a default error stack traversal callback + function that prints error messages to the specified output stream. + It is not meant to be called directly but rather as an + argument to the <code>H5Ewalk</code> function. + This function is called also by <code>H5Eprint</code>. + Application writers are encouraged to use this function as a + model for their own error stack walking functions. + <p> + <code>n</code> is a counter for how many times this function + has been called for this particular traversal of the stack. + It always begins at zero for the first error on the stack + (either the top or bottom error, or even both, depending on + the traversal direction and the size of the stack). + <p> + <code>err_desc</code> is an error description. It contains all the + information about a particular error. + <p> + <code>client_data</code> is the same pointer that was passed as the + <code>client_data</code> argument of <code>H5Ewalk</code>. + It is expected to be a file pointer (or stderr if NULL). +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>int</em> <code>n</code></td> + <td valign="top">IN/OUT: Number of times this function has been called + for this traversal of the stack.</td></tr> + <tr> + <td valign="top"><em>H5E_error_t *</em><code>err_desc </code></td> + <td valign="top">OUT: Error description.</td></tr> + <tr> + <td valign="top"><em>void</em> <code>*client_data</code></td> + <td valign="top">IN: A file pointer, or stderr if NULL.</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> diff --git a/doc/html/H5F/H5Fclose.htm b/doc/html/H5F/H5Fclose.htm new file mode 100644 index 0000000..d273d2c --- /dev/null +++ b/doc/html/H5F/H5Fclose.htm @@ -0,0 +1,76 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fclose" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-Close">H5Fclose</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Fclose</code>(<em>hid_t</em> <code>file_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Terminates access to an HDF5 file. +<dt><strong>Description:</strong> + <dd><code>H5Fclose</code> terminates access to an HDF5 file + by flushing all data to storage and terminating access + to the file through <code>file_id</code>. + <p> + If this is the last file identifier open for the file + and no other access identifier is open (e.g., a dataset + identifier, group identifier, or shared datatype identifier), + the file will be fully closed and access will end. + <p> + <strong>Delayed close:</strong> + <br> + Note the following deviation from the above-described behavior. + If <code>H5Fclose</code> is called for a file but one or more + objects within the file remain open, those objects will remain + accessible until they are individually closed. + Thus, if the dataset <code>data_sample</code> is open when + <code>H5Fclose</code> is called for the file containing it, + <code>data_sample</code> will remain open and accessible + (including writable) until it is explicitely closed. + The file will be automatically closed once all objects in the + file have been closed. + <p> + Be warned, hoever, that there are circumstances where it is + not possible to delay closing a file. + For example, an MPI-IO file close is a collective call; all of + the processes that opened the file must close it collectively. + The file cannot be closed at some time in the future by each + process in an independent fashion. + Another example is that an application using an AFS token-based + file access privilage may destroy its AFS token after + <code>H5Fclose</code> has returned successfully. + This would make any future access to the file, or any object + within it, illegal. + <p> + In such situations, applications must close all open objects + in a file before calling <code>H5Fclose</code>. + It is generally recommended to do so in all cases. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>file_id </code></td> + <td valign="top">IN: Identifier of a file 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> h5fclose_f + <dd> + <pre> +SUBROUTINE h5fclose_f(file_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5fclose_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5F/H5Fcreate.htm b/doc/html/H5F/H5Fcreate.htm new file mode 100644 index 0000000..3a7639e --- /dev/null +++ b/doc/html/H5F/H5Fcreate.htm @@ -0,0 +1,141 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fcreate" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-Create">H5Fcreate</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Fcreate</code>(<em>const char *</em><code>name</code>, + <em>unsigned</em> <code>flags</code>, + <em>hid_t</em> <code>create_id</code>, + <em>hid_t</em> <code>access_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates HDF5 files. +<dt><strong>Description:</strong> + <dd><code>H5Fcreate</code> is the primary function for creating + HDF5 files . + <p> + The <code>flags</code> parameter determines whether an + existing file will be overwritten. All newly created files + are opened for both reading and writing. All flags may be + combined with the bit-wise OR operator (`|') to change + the behavior of the <code>H5Fcreate</code> call. + <p> + The more complex behaviors of file creation and access + are controlled through the file-creation and file-access + property lists. The value of <code>H5P_DEFAULT</code> for + a property list value indicates that the library should use + the default values for the appropriate property list. + <p> + The return value is a file identifier for the newly-created file; + this file identifier should be closed by calling + <code>H5Fclose</code> when it is no longer needed. + <p> + + <b>Special case -- File creation in the case of an + already-open file:</b> + <br> + If a file being created is already opened, by either a + previous <code>H5Fopen</code> or <code>H5Fcreate</code> call, + the HDF5 library may or may not detect that the open file and + the new file are the same physical file. + (See <a href="#File-Open"><code>H5Fopen</code></a> regarding + the limitations in detecting the re-opening of an already-open + file.) + <p> + If the library detects that the file is already opened, + <code>H5Fcreate</code> will return a failure, regardless + of the use of <code>H5F_ACC_TRUNC</code>. + <p> + If the library does not detect that the file is already opened + and <code>H5F_ACC_TRUNC</code> is not used, + <code>H5Fcreate</code> will return a failure because the file + already exists. Note that this is correct behavior. + <p> + But if the library does not detect that the file is already + opened and <code>H5F_ACC_TRUNC</code> is used, + <code>H5Fcreate</code> will truncate the existing file + and return a valid file identifier. + Such a truncation of a currently-opened file will almost + certainly result in errors. + While unlikely, the HDF5 library may not be able to detect, + and thus report, such errors. + <p> + Applications should avoid calling <code>H5Fcreate</code> + with an already opened file. + +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>const char *</em><code>name </code></td> + <td valign="top">IN: Name of the file to access.</td></tr> + <tr> + <td valign="top"><em>uintn</em> <code>flags</code></td> + <td valign="top">IN: File access flags. Allowable values are: + <ul><dl> + <dt><code>H5F_ACC_TRUNC</code> + <dd>Truncate file, if it already exists, + erasing all data previously stored in the file. + <dt><code>H5F_ACC_EXCL</code> + <dd>Fail if file already exists. + </dl></ul> + <li><code>H5F_ACC_TRUNC</code> and <code>H5F_ACC_EXCL</code> + are mutually exclusive; use exactly one. + <li>An additional flag, <code>H5F_ACC_DEBUG</code>, prints + debug information. This flag is used only by HDF5 library + developers; <i>it is neither tested nor supported</i> + for use in applications.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>create_id </code></td> + <td valign="top">IN: File creation property list identifier, used when modifying + default file meta-data. + Use <code>H5P_DEFAULT</code> for default file creation properties.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>access_id</code></td> + <td valign="top">IN: File access property list identifier. + If parallel file access is desired, this is a collective + call according to the communicator stored in the + <code>access_id</code>. + Use <code>H5P_DEFAULT</code> for default file access properties.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a file identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fcreate_f + <dd> + <pre> +SUBROUTINE h5fcreate_f(name, access_flags, file_id, hdferr, & + creation_prp, access_prp) + IMPLICIT NONE + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file + INTEGER, INTENT(IN) :: access_flag ! File access flags + ! Possible values are: + ! H5F_ACC_RDWR_F + ! H5F_ACC_RDONLY_F + ! H5F_ACC_TRUNC_F + ! H5F_ACC_EXCL_F + ! H5F_ACC_DEBUG_F + INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp + ! File creation propertly + ! list identifier, if not + ! specified its value is + ! H5P_DEFAULT_F + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp + ! File access property list + ! identifier, if not + ! specified its value is + ! H5P_DEFAULT_F +END SUBROUTINE h5fcreate_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5F/H5Fflush.htm b/doc/html/H5F/H5Fflush.htm new file mode 100644 index 0000000..725aaac --- /dev/null +++ b/doc/html/H5F/H5Fflush.htm @@ -0,0 +1,66 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fflush" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-Flush">H5Fflush</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Fflush</code>(<em>hid_t </em><code>object_id</code>, + <em>H5F_scope_t</em> <code>scope</code> + ) +<dt><strong>Purpose:</strong> + <dd>Flushes all buffers associated with a file to disk. +<dt><strong>Description:</strong> + <dd><code>H5Fflush</code> causes all buffers associated with a + file to be immediately flushed to disk without removing the + data from the cache. + <p> + <code>object_id</code> can be any object associated with the file, + including the file itself, a dataset, a group, an attribute, or + a named data type. + <p> + <code>scope</code> specifies whether the scope of the flushing + action is global or local. Valid values are + <center> + <table border=0> + <tr><td align=left valign=top><code>H5F_SCOPE_GLOBAL</code></td> + <td> </td> + <td align=left valign=top>Flushes the entire virtual file.</td></tr> + <tr><td align=left valign=top><code>H5F_SCOPE_LOCAL</code></td> + <td></td> + <td align=left valign=top>Flushes only the specified file.</td></tr> + </table> + </center> +<dt><strong>Note:</strong> + <dd>HDF5 does not possess full control over buffering. + <code>H5Fflush</code> flushes the internal HDF5 buffers then + asks the operating system (the OS) to flush the system buffers for the + open files. After that, the OS is responsible for ensuring that + the data is actually flushed to disk. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t </em><code>object_id</code></td> + <td valign="top">IN: Identifier of object used to identify the file.</td></tr> + <tr> + <td valign="top"><em>H5F_scope_t</em> <code>scope </code></td> + <td valign="top">IN: Specifies the scope of the flushing action.</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> h5fflush_f + <dd> + <pre> +SUBROUTINE h5fflush_f(obj_id, scope, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + INTEGER, INTENT(IN) :: scope ! Flag with two possible values: + ! H5F_SCOPE_GLOBAL_F + ! H5F_SCOPE_LOCAL_F + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5fflush_f + </pre> + +</dl> + diff --git a/doc/html/H5F/H5Fget_access_plist.htm b/doc/html/H5F/H5Fget_access_plist.htm new file mode 100644 index 0000000..301ae0f --- /dev/null +++ b/doc/html/H5F/H5Fget_access_plist.htm @@ -0,0 +1,50 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fget_access_plist" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-GetAccessPlist">H5Fget_access_plist</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Fget_access_plist</code>(<em>hid_t</em> <code>file_id</code>) +<dt><strong>Purpose:</strong> + <dd>Returns a file access property list identifier. +<dt><strong>Description:</strong> + <dd><code>H5Fget_access_plist</code> returns the + file access property list identifier of the specified file. + <p> + See "File Access Properties" in + <a href="RM_H5P.html">H5P: Property List Interface</a> + in this reference manual and + "File Access Property Lists" + in <a href="Files.html"><cite>Files</cite></a> in the + <cite>HDF5 User's Guide</cite> for + additional information and related functions. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>file_id </code></td> + <td valign="top">IN: Identifier of file to get access property list of</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a file access property list identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fget_access_plist_f + <dd> + <pre> +SUBROUTINE h5fget_access_plist_f(file_id, fcpl_id, hdferr) + + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier + INTEGER(HID_T), INTENT(OUT) :: fapl_id ! File access property list identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5fget_access_plist_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5F/H5Fget_create_plist.htm b/doc/html/H5F/H5Fget_create_plist.htm new file mode 100644 index 0000000..5882a03 --- /dev/null +++ b/doc/html/H5F/H5Fget_create_plist.htm @@ -0,0 +1,55 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fget_create_plist" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-GetCreatePlist">H5Fget_create_plist</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Fget_create_plist</code>(<em>hid_t</em> <code>file_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns a file creation property list identifier. +<dt><strong>Description:</strong> + <dd><code>H5Fget_create_plist</code> returns a file creation + property list identifier identifying the creation properties + used to create this file. This function is useful for + duplicating properties when creating another file. + <p> + See "File Creation Properties" in + <a href="RM_H5P.html">H5P: Property List Interface</a> + in this reference manual and + "File Creation Properties" + in <a href="Files.html"><cite>Files</cite></a> in the + <cite>HDF5 User's Guide</cite> for + additional information and related functions. +<dt><strong>Parameters:</strong> + <ul><table> + <dt> + <td valign="top"><em>hid_t</em> <code>file_id </code></td> + <td valign="top">IN: Identifier of the file to get creation property list of</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a file creation property list identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fget_create_plist_f + <dd> + <pre> +SUBROUTINE h5fget_create_plist_f(file_id, fcpl_id, hdferr) + + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier + INTEGER(HID_T), INTENT(OUT) :: fcpl_id ! File creation property list + ! identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5fget_create_plist_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + + diff --git a/doc/html/H5F/H5Fget_filesize.htm b/doc/html/H5F/H5Fget_filesize.htm new file mode 100644 index 0000000..e8753ca --- /dev/null +++ b/doc/html/H5F/H5Fget_filesize.htm @@ -0,0 +1,73 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fget_filesize" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-GetFilesize">H5Fget_filesize</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Fget_filesize</code>(<em>hid_t</em> <code>file_id</code>, + <em>hsize_t *</em><code>size</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the size of an HDF5 file. +<dt><strong>Description:</strong> + <dd><code>H5Fget_filesize</code> returns the size + of the HDF5 file specified by <code>file_id</code>. + <p> + The returned size is that of the entire file, + as opposed to only the HDF5 portion of the file. + I.e., <code>size</code> includes the user block, if any, + the HDF5 portion of the file, and + any data that may have been appended + beyond the data written through the HDF5 Library. +<dt><strong>Parameters:</strong> + <dl> + <dt><em>hid_t</em> <code>file_id</code> + <dd>IN: Identifier of a currently-open HDF5 file + <dt><em>hsize_t *</em><code>size</code> + <dd>OUT: Size of the file, in bytes. + </dl> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fget_freespace_f + <dd> + <pre> +SUBROUTINE h5fget_filesize_f(file_id, size, hdferr) + + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: file_id ! file identifier + INTEGER(HSIZE_T), INTENT(OUT) :: size ! Size of the file + INTEGER, INTENT(OUT) :: hdferr ! Error code: 0 on success, + ! -1 if fail +END SUBROUTINE h5fget_filesize_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.3</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this + release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5F/H5Fget_freespace.htm b/doc/html/H5F/H5Fget_freespace.htm new file mode 100644 index 0000000..378f905 --- /dev/null +++ b/doc/html/H5F/H5Fget_freespace.htm @@ -0,0 +1,61 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fget_freespace" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-GetFreeSpace">H5Fget_freespace</a> +<dt><strong>Signature:</strong> + <dd><em>hssize_t </em><code>H5Fget_freespace</code>(<em>hid_t</em> <code>file_id</code>) +<dt><strong>Purpose:</strong> + <dd>Returns the amount of free space in a file. +<dt><strong>Description:</strong> + <dd>Given the identifier of an open file, <code>file_id</code>, + <code>H5Fget_freespace</code> returns the amount of space that is + unused by any objects in the file. + <p> + Currently, the HDF5 library only tracks free space in a file from a + file open or create until that file is closed, so this routine will + only report the free space that has been created during that + interval. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>file_id </code></td> + <td valign="top">IN: Identifier of a currently-open HDF5 file</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the amount of free space in the file if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fget_freespace_f + <dd> + <pre> +SUBROUTINE h5fget_freespace_f(file_id, free_space, hdferr) + + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier + INTEGER(HSSIZE_T), INTENT(OUT) :: free_space ! Amount of free space in file + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5fget_freespace_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.1</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5F/H5Fget_name.htm b/doc/html/H5F/H5Fget_name.htm new file mode 100644 index 0000000..847001c --- /dev/null +++ b/doc/html/H5F/H5Fget_name.htm @@ -0,0 +1,100 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fget_name" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-GetName">H5Fget_name</a> +<dt><strong>Signature:</strong> + <dd><em>ssize_t</em> <code>H5Fget_name</code>(<em>hid_t</em> <code>obj_id</code>, + <em>char *</em><code>name</code>, + <em>size_t</em> <code>size</code> + ) + +<dt><strong>Purpose:</strong> + <dd>Retrieves name of file to which object belongs. +<dt><strong>Description:</strong> + <dd><code>H5Fget_name</code> retrieves the name of the file + to which the object <code>obj_id</code> belongs. + The object can be a group, dataset, attribute, or + named datatype. + <p> + Up to <code>size</code> characters of the filename + are returned in <code>name</code>; + additional characters, if any, are not returned to + the user application. + <p> + If the length of the name, + which determines the required value of <code>size</code>, + is unknown, a preliminary <code>H5Fget_name</code> call + can be made by setting <code>name</code> to NULL. + The return value of this call will be the size of the filename; + that value plus one (1) can then be assigned to <code>size</code> + for a second <code>H5Fget_name</code> call, + which will retrieve the actual name. + (The value passed in with the parameter <code>size</code> must be + one greater than size in bytes of the actual name in order to + accommodate the null terminator; if <code>size</code> is set to + the exact size of the name, the last byte passed back will + contain the null terminator and the last character will be + missing from the name passed back to the calling application.) + <p> + If an error occurs, the buffer pointed to by + <code>name</code> is unchanged and + the function returns a negative value. +<dt><strong>Parameters:</strong> + <dl> + <dt><em>hid_t</em> <code>obj_id</code> + <dd>IN: Identifier of the object for which the + associated filename is sought. + The object can be a group, dataset, attribute, or + named datatype. + <dt><em>char *</em><code>name</code> + <dd>OUT: Buffer to contain the returned filename. + <dt><em>size_t</em> <code>size</code> + <dd>IN: Size, in bytes, of the <code>name</code> buffer. + </dl> +<dt><strong>Returns:</strong> + <dd>Returns the length of the filename if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fget_name_f + <dd> + <pre> +SUBROUTINE h5fget_name_f(obj_id, buf, size, hdferr) + + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Buffer to hold filename + INTEGER(SIZE_T), INTENT(OUT) :: size ! Size of the filename + INTEGER, INTENT(OUT) :: hdferr ! Error code: 0 on success, + ! -1 if fail +END SUBROUTINE h5fget_name_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.3</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this + release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5F/H5Fget_obj_count.htm b/doc/html/H5F/H5Fget_obj_count.htm new file mode 100644 index 0000000..bae966c --- /dev/null +++ b/doc/html/H5F/H5Fget_obj_count.htm @@ -0,0 +1,127 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fget_obj_count" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-GetObjCount">H5Fget_obj_count</a> +<dt><strong>Signature:</strong> + <dd><em>ssize_t </em><code>H5Fget_obj_count</code>( + <em>hid_t</em> <code>file_id</code>, + <em>unsigned int</em> <code>types</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the number of open object identifiers for an open file. +<dt><strong>Description:</strong> + <dd>Given the identifier of an open file, <code>file_id</code>, + and the desired object types, <code>types</code>, + <code>H5Fget_obj_count</code> returns the number of + open object identifiers for the file. + <p> + To retrieve a count of open identifiers for open objects in + all HDF5 application files that are currently open, + pass the value <code>H5F_OBJ_ALL</code> in <code>file_id</code>. + <p> + The types of objects to be counted are specified + in <code>types</code> as follows: + <center> + <table width=90% border=0> + <tr><td valign=top> + <code>H5F_OBJ_FILE</code> + </td><td valign=top> + Files only + </td></tr><tr><td valign=top> + <code>H5F_OBJ_DATASET</code> + </td><td valign=top> + Datasets only + </td></tr><tr><td valign=top> + <code>H5F_OBJ_GROUP</code> + </td><td valign=top> + Groups only + </td></tr><tr><td valign=top> + <code>H5F_OBJ_DATATYPE </code> + </td><td valign=top> + Named datatypes only + </td></tr><tr><td valign=top> + <code>H5F_OBJ_ATTR</code> + </td><td valign=top> + Attributes only + </td></tr><tr><td valign=top> + <code>H5F_OBJ_ALL</code> + </td><td valign=top> + All of the above + <br> + (I.e., <code>H5F_OBJ_FILE</code> | <code>H5F_OBJ_DATASET</code> | + <code>H5F_OBJ_GROUP</code> | <code>H5F_OBJ_DATATYPE</code> + | <code>H5F_OBJ_ATTR</code> ) + </td></tr><tr><td valign=top> + <code>H5F_OBJ_LOCAL</code> + </td><td valign=top> + Restrict search to objects opened through current file identifier. + </td></tr> + </table> + </center> + <p> + Multiple object types can be combined with the + logical <code>OR</code> operator (<code>|</code>). + For example, the expression <code>(H5F_OBJ_DATASET|H5F_OBJ_GROUP)</code> would call for + datasets and groups. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>file_id</code></td> + <td valign="top">IN: Identifier of a currently-open HDF5 file or + <code>H5F_OBJ_ALL</code> for all currently-open HDF5 files.</td></tr> + <tr> + <td valign="top"><em>unsigned int</em> <code>types </code></td> + <td valign="top">IN: Type of object for which identifiers are to be returned.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of open objects if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fget_obj_count_f + <dd> + <pre> +SUBROUTINE h5fget_obj_count_f(file_id, obj_type, obj_count, hdferr) + + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier + INTEGER, INTENT(IN) :: obj_type ! Object types, possible values are: + ! H5F_OBJ_FILE_F + ! H5F_OBJ_GROUP_F + ! H5F_OBJ_DATASET_F + ! H5F_OBJ_DATATYPE_F + ! H5F_OBJ_ALL_F + INTEGER, INTENT(OUT) :: obj_count ! Number of opened objects + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5fget_obj_count_f + </pre> + +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Change</strong></td></tr> + <tr> + <td valign="top">1.6.5</td> + <td valign="top"> + <code>H5F_OBJ_LOCAL</code> has been added as a qualifier + on the types of objects to be counted. + <code>H5F_OBJ_LOCAL</code> restricts the search to objects + opened through current file identifier.</td></tr> + <tr> + <td valign="top">1.6.8</td> + <td valign="top"> + C function return type changed to <code><em>ssize_t</em></code>. + </td></tr> + </table></ul> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5F/H5Fget_obj_ids.htm b/doc/html/H5F/H5Fget_obj_ids.htm new file mode 100644 index 0000000..eddc5ee --- /dev/null +++ b/doc/html/H5F/H5Fget_obj_ids.htm @@ -0,0 +1,100 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fget_obj_ids" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-GetObjIDs">H5Fget_obj_ids</a> +<dt><strong>Signature:</strong> + <dd><em>ssize_t </em><code>H5Fget_obj_ids</code>( + <em>hid_t</em> <code>file_id</code>, + <em>unsigned int</em> <code>types</code>, + <em>size_t</em> <code>max_objs</code>, + <em>hid_t *</em><code>obj_id_list</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns a list of open object identifiers. +<dt><strong>Description:</strong> + <dd>Given the file identifier <code>file_id</code> and + the type of objects to be identified, <code>types</code>, + <code>H5Fget_obj_ids</code> returns the list of identifiers + for all open HDF5 objects fitting the specified criteria. + <p> + To retrieve identifiers for open objects in all HDF5 application + files that are currently open, pass the value + <code>H5F_OBJ_ALL</code> in <code>file_id</code>. + <p> + The types of object identifiers to be retrieved are specified + in <code>types</code> using the codes listed for the same + parameter in <a href="#File-GetObjCount"><code>H5Fget_obj_count</code></a> + <p> + To retrieve identifiers for all open objects, pass a negative value + for the <code>max_objs</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>file_id</code></td> + <td valign="top">IN: Identifier of a currently-open HDF5 file or + <code>H5F_OBJ_ALL</code> for all currently-open HDF5 files.</td></tr> + <tr> + <td valign="top"><em>unsigned int</em> <code>types</code></td> + <td valign="top">IN: Type of object for which identifiers are to be returned.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>max_objs</code></td> + <td valign="top">IN: Maximum number of object identifiers to place into + <code>obj_id_list</code>.</td></tr> + <tr> + <td valign="top"><em>hid_t *</em><code>obj_id_list </code></td> + <td valign="top">OUT: Pointer to the returned list of open object identifiers.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns number of objects placed into <code>obj_id_list</code> if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fget_obj_ids_f + <dd> + <pre> +SUBROUTINE h5fget_obj_ids_f(file_id, obj_type, max_objs, obj_ids, hdferr) + + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier + INTEGER, INTENT(IN) :: obj_type ! Object types, possible values are: + ! H5F_OBJ_FILE_F + ! H5F_OBJ_GROUP_F + ! H5F_OBJ_DATASET_F + ! H5F_OBJ_DATATYPE_F + ! H5F_OBJ_ALL_F + INTEGER, INTENT(IN) :: max_objs ! Maximum number of object + ! identifiers to retrieve + INTEGER(HID_T), DIMENSION(*), INTENT(OUT) :: obj_ids + ! Array of requested object + ! identifiers + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5fget_obj_ids_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Change</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + C function introduced in this release.</td></tr> + <tr> + <td valign="top">1.6.8</td> + <td valign="top"> + C function return type changed to <code><em>ssize_t</em></code> + <br> + and <code>max_objs</code> parameter datatype changed to + <code><em>size_t</em></code>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5F/H5Fget_vfd_handle.htm b/doc/html/H5F/H5Fget_vfd_handle.htm new file mode 100644 index 0000000..c659183 --- /dev/null +++ b/doc/html/H5F/H5Fget_vfd_handle.htm @@ -0,0 +1,76 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fget_vfd_handle" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-GetVfdHandle">H5Fget_vfd_handle</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Fget_vfd_handle</code>(<em>hid_t</em> <code>file_id</code>, + <em>hid_t</em> <code>fapl_id</code>, + <em>void **</em><code>file_handle</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns pointer to the file handle from the virtual file driver. +<dt><strong>Description:</strong> + <dd>Given the file identifier <code>file_id</code> and + the file access property list <code>fapl_id</code>, + <code>H5Fget_vfd_handle</code> returns a pointer to the file handle + from the low-level file driver currently being used by the + HDF5 library for file I/O. +<dt><strong>Notes:</strong> + <dd>Users are not supposed to modify any file through this file handle. + <p> + This file handle is dynamic and is valid only while the file remains + open; it will be invalid if the file is closed and reopened or + opened during a subsequent session. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>file_id</code></td> + <td valign="top">IN: Identifier of the file to be queried.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> + <td valign="top">IN: File access property list identifier. + For most drivers, the value will be <code>H5P_DEFAULT</code>. + For the <code>FAMILY</code> or <code>MULTI</code> drivers, + this value should be defined through the property list + functions: + <code>H5Pset_family_offset</code> for the <code>FAMILY</code> + driver and <code>H5Pset_multi_type</code> for the + <code>MULTI</code> driver.</td></tr> + <tr> + <td valign="top"><em>void **</em><code>file_handle </code></td> + <td valign="top">OUT: Pointer to the file handle being used by + the low-level virtual file driver.</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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5F/H5Fis_hdf5.htm b/doc/html/H5F/H5Fis_hdf5.htm new file mode 100644 index 0000000..7bb56f8 --- /dev/null +++ b/doc/html/H5F/H5Fis_hdf5.htm @@ -0,0 +1,47 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fis_hdf5" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-IsHDF5">H5Fis_hdf5</a> +<dt><strong>Signature:</strong> + <dd><em>htri_t </em><code>H5Fis_hdf5</code>(<em>const char *</em><code>name</code> + ) +<dt><strong>Purpose:</strong> + <dd>Determines whether a file is in the HDF5 format. +<dt><strong>Description:</strong> + <dd><code>H5Fis_hdf5</code> determines whether a file is in + the HDF5 format. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>const char *</em><code>name </code></td> + <td valign="top">IN: File name to check format.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>When successful, returns a positive value, for <code>TRUE</code>, + or <code>0</code> (zero), for <code>FALSE</code>. + <br> + On any error, including the case that the file does not exist, + returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fis_hdf5_f + <dd> + <pre> +SUBROUTINE h5fis_hdf5_f(name, status, hdferr) + IMPLICIT NONE + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file + LOGICAL, INTENT(OUT) :: status ! This parameter indicates + ! whether file is an HDF5 file + ! ( TRUE or FALSE ) + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5fis_hdf5_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5F/H5Fmount.htm b/doc/html/H5F/H5Fmount.htm new file mode 100644 index 0000000..6a37bdb --- /dev/null +++ b/doc/html/H5F/H5Fmount.htm @@ -0,0 +1,63 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fmount" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-Mount">H5Fmount</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Fmount</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code>, + <em>hid_t</em> <code>child_id</code>, + <em>hid_t</em> <code>plist_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Mounts a file. +<dt><strong>Description:</strong> + <dd><code>H5Fmount</code> mounts the file specified by + <code>child_id</code> onto the group specified by + <code>loc_id</code> and <code>name</code> using + the mount properties <code>plist_id</code>. + <p> + Note that <code>loc_id</code> is either a file or group identifier + and <code>name</code> is relative to <code>loc_id</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier for of file or group in + which <code>name</code> is defined.</td> + <tr> + <td valign="top"><em>const char *</em><code>name </code></td> + <td valign="top">IN: Name of the group onto which the + file specified by <code>child_id</code> + is to be mounted.</td> + <tr> + <td valign="top"><em>hid_t</em> <code>child_id</code></td> + <td valign="top">IN: Identifier of the file to be mounted.</td> + <tr> + <td valign="top"><em>hid_t</em> <code>plist_id</code></td> + <td valign="top">IN: Identifier of the property list to be used.</td> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fmount_f + <dd> + <pre> +SUBROUTINE h5fmount_f(loc_id, name, child_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN):: name ! Group name at locationloc_id + INTEGER(HID_T), INTENT(IN) :: child_id ! File(to be mounted) identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5fmount_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5F/H5Fopen.htm b/doc/html/H5F/H5Fopen.htm new file mode 100644 index 0000000..9ba2056 --- /dev/null +++ b/doc/html/H5F/H5Fopen.htm @@ -0,0 +1,127 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Fopen" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-Open">H5Fopen</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Fopen</code>(<em>const char *</em><code>name</code>, + <em>unsigned</em> <code>flags</code>, + <em>hid_t</em> <code>access_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Opens an existing file. +<dt><strong>Description:</strong> + <dd><code>H5Fopen</code> opens an existing file and is the primary + function for accessing existing HDF5 files. + <p> + Note that <code>H5Fopen</code> does not create a file + if it does not already exist. + See <a href="#File-Create"><code>H5Fcreate</code></a>. + <p> + The parameter <code>access_id</code> is a file access property + list identifier or <code>H5P_DEFAULT</code> if the + default I/O access parameters are to be used + <p> + The <code>flags</code> argument determines whether writing + to an existing file will be allowed. + The file is opened with read and write permission if + <code>flags</code> is set to <code>H5F_ACC_RDWR</code>. + All flags may be combined with the bit-wise OR operator (`|') + to change the behavior of the file open call. + More complex behaviors of file access are controlled + through the file-access property list. + <p> + The return value is a file identifier for the open file; + this file identifier should be closed by calling + <code>H5Fclose</code> when it is no longer needed. + <p> + + <b>Special case -- Multiple opens:</b> + <br> + A file can often be opened with a new <code>H5Fopen</code> + call without closing an already-open identifier established + in a previous <code>H5Fopen</code> or <code>H5Fcreate</code> + call. Each such <code>H5Fopen</code> call will return a + unique identifier and the file can be accessed through any + of these identifiers as long as the identifier remains valid. + In such multiply-opened cases, all the open calls should + use the same <code>flags</code> argument. + <p> + In some cases, such as files on a local Unix file system, + the HDF5 library can detect that a file is multiply opened and + will maintain coherent access among the file identifiers. + <p> + But in many other cases, such as parallel file systems or + networked file systems, it is not always possible to detect + multiple opens of the same physical file. + In such cases, HDF5 will treat the file identifiers + as though they are accessing different files and + will be unable to maintain coherent access. + Errors are likely to result in these cases. + While unlikely, the HDF5 library may not be able to detect, + and thus report, such errors. + <p> + It is generally recommended that applications avoid + multiple opens of the same file. + +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>const char *</em><code>name </code></td> + <td valign="top">IN: Name of the file to access.</td></tr> + <tr> + <td valign="top"><em>unsigned</em> <code>flags</code></td> + <td valign="top">IN: File access flags. Allowable values are: + <ul><dl> + <dt><code>H5F_ACC_RDWR</code> + <dd>Allow read and write access to file. + <dt><code>H5F_ACC_RDONLY</code> + <dd>Allow read-only access to file. + </dl> + <li><code>H5F_ACC_RDWR</code> and <code>H5F_ACC_RDONLY</code> + are mutually exclusive; use exactly one. +<!-- NEW PAGE --> + <li>An additional flag, <code>H5F_ACC_DEBUG</code>, prints + debug information. This flag is used only by HDF5 library + developers; it is neither tested nor supported + for use in applications. + </ul></td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>access_id </code></td> + <td valign="top">IN: Identifier for the file access properties list. + If parallel file access is desired, this is a collective + call according to the communicator stored in the + <code>access_id</code>. + Use <code>H5P_DEFAULT</code> for default file access properties.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a file identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5fopen_f + <dd> + <pre> +SUBROUTINE h5fopen_f(name, access_flags, file_id, hdferr, & + access_prp) + IMPLICIT NONE + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file + INTEGER, INTENT(IN) :: access_flag ! File access flags + ! Possible values are: + ! H5F_ACC_RDWR_F + ! H5F_ACC_RDONLY_F + INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp + ! File access property list + ! identifier +END SUBROUTINE h5fopen_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5F/H5Freopen.htm b/doc/html/H5F/H5Freopen.htm new file mode 100644 index 0000000..f3e2007 --- /dev/null +++ b/doc/html/H5F/H5Freopen.htm @@ -0,0 +1,57 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Freopen" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-Reopen">H5Freopen</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Freopen</code>(<em>hid_t</em> <code>file_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns a new identifier for a previously-opened HDF5 file. +<dt><strong>Description:</strong> + <dd><code>H5Freopen</code> returns a new file identifier for an + already-open HDF5 file, as specified by <code>file_id</code>. + Both identifiers share caches and other information. + The only difference between the identifiers is that the + new identifier is not mounted anywhere and no files are + mounted on it. + <p> + Note that there is no circumstance under which + <code>H5Freopen</code> can actually open a closed file; + the file must already be open and have an active + <code>file_id</code>. E.g., one cannot close a file with + <code> H5Fclose (file_id) </code> then use + <code> H5Freopen (file_id) </code> to reopen it. + <p> + The new file identifier should be closed by calling + <code>H5Fclose</code> when it is no longer needed. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>file_id </code></td> + <td valign="top">IN: Identifier of a file for which an additional identifier + is required.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a new file identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5freopen_f + <dd> + <pre> +SUBROUTINE h5freopen_f(file_id, new_file_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier + INTEGER(HID_T), INTENT(OUT) :: new_file_id ! New file identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5freopen_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5F/H5Funmount.htm b/doc/html/H5F/H5Funmount.htm new file mode 100644 index 0000000..47dc55c --- /dev/null +++ b/doc/html/H5F/H5Funmount.htm @@ -0,0 +1,59 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Funmount" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="File-Unmount">H5Funmount</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Funmount</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code> + ) +<dt><strong>Purpose:</strong> + <dd>Unmounts a file. +<dt><strong>Description:</strong> + <dd>Given a mount point, <code>H5Funmount</code> + dissassociates the mount point's file + from the file mounted there. This function + does not close either file. + <p> + The mount point can be either the group in the + parent or the root group of the mounted file + (both groups have the same name). If the mount + point was opened before the mount then it is the + group in the parent; if it was opened after the + mount then it is the root group of the child. + <p> + Note that <code>loc_id</code> is either a file or group identifier + and <code>name</code> is relative to <code>loc_id</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: File or group identifier for the location at which + the specified file is to be unmounted.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>name </code></td> + <td valign="top">IN: Name of the mount point.</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> h5funmount_f + <dd> + <pre> +SUBROUTINE h5funmount_f(loc_id, name, child_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN):: name ! Group name at location loc_id + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5funmount_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gclose.htm b/doc/html/H5G/H5Gclose.htm new file mode 100644 index 0000000..c3bd0d5 --- /dev/null +++ b/doc/html/H5G/H5Gclose.htm @@ -0,0 +1,43 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gclose" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-Close">H5Gclose</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Gclose</code>(<em>hid_t </em><code>group_id</code>) + <dt><strong>Purpose:</strong> + <dd>Closes the specified group. + <dt><strong>Description:</strong> + <dd><code>H5Gclose</code> releases resources used by a group which was + opened by <code>H5Gcreate</code> or <code>H5Gopen</code>. + After closing a group, the <code>group_id</code> cannot be used again. + <p> + Failure to release a group with this call will result in resource leaks. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>group_id </code></td> + <td valign="top">IN: Group identifier to release.</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> h5gclose_f + <dd> + <pre> +SUBROUTINE h5gclose_f( gr_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: gr_id ! Group identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gclose_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gcreate.htm b/doc/html/H5G/H5Gcreate.htm new file mode 100644 index 0000000..48af52b --- /dev/null +++ b/doc/html/H5G/H5Gcreate.htm @@ -0,0 +1,82 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gcreate" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-Create">H5Gcreate</a> + <dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Gcreate</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code>, + <em>size_t</em> <code>size_hint</code> + ) + <dt><strong>Purpose:</strong> + <dd>Creates a new empty group and gives it a name. + <dt><strong>Description:</strong> + <dd><code>H5Gcreate</code> creates a new group with the specified + name at the specified location, <code>loc_id</code>. + The location is identified by a file or group identifier. + The name, <code>name</code>, must not already be taken by some + other object and all parent groups must already exist. + <p> + <code>size_hint</code> is a hint for the number of bytes to + reserve to store the names which will be eventually added to + the new group. Passing a value of zero for <code>size_hint</code> + is usually adequate since the library is able to dynamically + resize the name heap, but a correct hint may result in better + performance. + If a non-positive value is supplied for <code>size_hint</code>, + then a default size is chosen. + <p> + The length of a group name, or of the name of any object within + a group, is not limited. + <p> + The return value is a group identifier for the open group. + This group identifier should be closed by calling + <code>H5Gclose</code> when it is no longer needed. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: File or group identifier.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>name</code></td> + <td valign="top">IN: Absolute or relative name of the new group.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>size_hint </code></td> + <td valign="top">IN: Optional parameter indicating the number of + bytes to reserve for the names that will appear in the group. + A conservative estimate could result in multiple + system-level I/O requests to read the group name heap; + a liberal estimate could result in a single large + I/O request even when the group has just a few names. + HDF5 stores each name with a null terminator.</td></tr> + </table></ul> + <dt><strong>Returns:</strong> + <dd>Returns a valid group identifier for the open group if successful; + otherwise returns a negative value. + <dt><strong>Fortran90 Interface:</strong> h5gcreate_f + <dd> + <pre> +SUBROUTINE h5gcreate_f(loc_id, name, gr_id, hdferr, size_hint) + + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group to be created + INTEGER(HID_T), INTENT(OUT) :: gr_id ! Group identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(SIZE_T), OPTIONAL, INTENT(IN) :: size_hint + ! Number of bytes to store the names + ! of objects in the group. + ! Default value is + ! OBJECT_NAMELEN_DEFAULT_F +END SUBROUTINE h5gcreate_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gget_comment.htm b/doc/html/H5G/H5Gget_comment.htm new file mode 100644 index 0000000..66af587 --- /dev/null +++ b/doc/html/H5G/H5Gget_comment.htm @@ -0,0 +1,78 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gget_comment" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-GetComment">H5Gget_comment</a> + <dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Gget_comment</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code>, + <em>size_t</em> <code>bufsize</code>, + <em>char *</em><code>comment</code> + ) + <dt><strong>Purpose:</strong> + <dd>Retrieves comment for specified object. + <dt><strong>Description:</strong> + <dd><code>H5Gget_comment</code> retrieves the comment for the the + object specified by <code>loc_id</code> and <code>name</code>. + The comment is returned in the buffer <code>comment</code>. + <p> + At most <code>bufsize</code> characters, including a null + terminator, are returned in <code>comment</code>. + The returned value is not null terminated + if the comment is longer than the supplied buffer. + <p> + If an object does not have a comment, the empty string + is returned. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of the file, group, dataset, or + named datatype.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>name </code></td> + <td valign="top">IN: Name of the object in <code>loc_id</code> whose + comment is to be retrieved. + <br> + <code>name</code> can be '.' (dot) if <code>loc_id</code> + fully specifies the object for which the associated comment + is to be retrieved. + <br> + <code>name</code> is ignored if <code>loc_id</code> + is a dataset or named datatype. + </td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>bufsize</code></td> + <td valign="top">IN: Anticipated required size of the + <code>comment</code> buffer.</td></tr> + <tr> + <td valign="top"><em>char *</em><code>comment</code></td> + <td valign="top">OUT: The comment.</td></tr> + </table></ul> + <dt><strong>Returns:</strong> + <dd>Returns the number of characters in the comment, + counting the null terminator, if successful; the value + returned may be larger than <code>bufsize</code>. + Otherwise returns a negative value. + <dt><strong>Fortran90 Interface:</strong> h5gget_comment_f + <dd> + <pre> +SUBROUTINE h5gget_comment_f(loc_id, name, size, buffer, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File, group, dataset, or + ! named datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object link + CHARACTER(LEN=size), INTENT(OUT) :: buffer ! Buffer to hold the comment + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gget_comment_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gget_linkval.htm b/doc/html/H5G/H5Gget_linkval.htm new file mode 100644 index 0000000..246228b --- /dev/null +++ b/doc/html/H5G/H5Gget_linkval.htm @@ -0,0 +1,74 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gget_linkval" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-GetLinkval">H5Gget_linkval</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Gget_linkval</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code>, + <em>size_t</em> <code>size</code>, + <em>char *</em><code>value</code> + ) + <dt><strong>Purpose:</strong> + <dd>Returns the name of the object that the symbolic link points to. + <dt><strong>Description:</strong> + <dd><code>H5Gget_linkval</code> returns <code>size</code> + characters of the name of the object that the symbolic link <code>name</code> points to. + <p> + The parameter <code>loc_id</code> is a file or group identifier. + <p> + The parameter <code>name</code> must be a symbolic link pointing to + the desired object and must be defined relative to <code>loc_id</code>. + <p> + If <code>size</code> is smaller than the size of the returned object name, then + the name stored in the buffer <code>value</code> will not be null terminated. + <p> + This function fails if <code>name</code> is not a symbolic link. + The presence of a symbolic link can be tested by passing zero for + <code>size</code> and NULL for <code>value</code>. + <p> + This function should be used only after <code>H5Gget_objinfo</code> has been called + to verify that <code>name</code> is a symbolic link. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of the file or group.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>name </code></td> + <td valign="top">IN: Symbolic link to the object whose name is to be returned.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>size</code></td> + <td valign="top">IN: Maximum number of characters of <code>value</code> + to be returned.</td></tr> + <tr> + <td valign="top"><em>char *</em><code>value</code></td> + <td valign="top">OUT: A buffer to hold the name of the object being sought.</td></tr> + </table></ul> + <dt><strong>Returns:</strong> + <dd>Returns a non-negative value, with the link value in <code>value</code>, + if successful. + Otherwise returns a negative value. + <dt><strong>Fortran90 Interface:</strong> h5gget_linkval_f + <dd> + <pre> +SUBROUTINE h5gget_linkval_f(loc_id, name, size, buffer, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the symbolic link + CHARACTER(LEN=size), INTENT(OUT) :: buffer ! Buffer to hold a + ! name of the object + ! symbolic link points to + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gget_linkval_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gget_num_objs.htm b/doc/html/H5G/H5Gget_num_objs.htm new file mode 100644 index 0000000..0603f52 --- /dev/null +++ b/doc/html/H5G/H5Gget_num_objs.htm @@ -0,0 +1,57 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gget_num_objs" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Group-GetNumObjs">H5Gget_num_objs</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Gget_num_objs</code>(<em>hid_t</em> <code>loc_id</code>, + <em>hsize_t* </em> <code>num_obj</code>) +<dt><strong>Purpose:</strong> + <dd>Returns number of objects in the group specified by its identifier +<dt><strong>Description:</strong> + <dd><code>H5Gget_num_objs</code> returns number of objects in a group. + Group is specified by its identifier <code>loc_id</code>. + If a file identifier is passed in, then the number of objects in the + root group is returned. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of the group or the file</td></tr> + <tr> + <td valign="top"><em>hsize_t *</em><code>num_obj </code></td> + <td valign="top">OUT: Number of objects in the group.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns positive 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5G/H5Gget_objinfo.htm b/doc/html/H5G/H5Gget_objinfo.htm new file mode 100644 index 0000000..30ad813 --- /dev/null +++ b/doc/html/H5G/H5Gget_objinfo.htm @@ -0,0 +1,191 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gget_objinfo" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-GetObjinfo">H5Gget_objinfo</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Gget_objinfo</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code>, + <em>hbool_t</em> <code>follow_link</code>, + <em>H5G_stat_t *</em><code>statbuf</code> + ) + <dt><strong>Purpose:</strong> + <dd>Returns information about an object. + <dt><strong>Description:</strong> + <dd><code>H5Gget_objinfo</code> returns information about the + specified object through the <code>statbuf</code> argument. + <p> + A file or group identifier, <code>loc_id</code>, + and an object name, <code>name</code>, relative to <code>loc_id</code>, + are commonly used to specify the object. + However, if the object identifier is already known to the application, + an alternative approach is to use that identifier, + <code>obj_id</code>, in place of <code>loc_id</code>, + and a dot (<code>.</code>) in place of <code>name</code>. + Thus, the alternative versions of the first portion of an + <code>H5Gget_objinfo</code> call would be as follows: + <br> + <code> + H5Gget_objinfo (loc_id name ...) + <br> + H5Gget_objinfo (obj_id . ...) + </code> + <p> + If the object is a symbolic link and <code>follow_link</code> is + zero (<code>0</code>), + then the information returned describes the link itself; + otherwise the link is followed and the information returned + describes the object to which the link points. + If <code>follow_link</code> is non-zero but the final symbolic link + is dangling (does not point to anything), then an error is returned. + The <code>statbuf</code> fields are undefined for an error. + The existence of an object can be tested by calling this function + with a null <code>statbuf</code>. + <p> + <code>H5Gget_objinfo</code> fills in the following data structure + (defined in H5Gpublic.h): + <pre> + typedef struct H5G_stat_t { + unsigned long fileno[2]; + unsigned long objno[2]; + unsigned nlink; + H5G_obj_t type; + time_t mtime; + size_t linklen; + H5O_stat_t ohdr; + } H5G_stat_t + </pre> + + where H5O_stat_t (defined in H5Opublic.h) is: + + <pre> + typedef struct H5O_stat_t { + hsize_t size; + hsize_t free; + unsigned nmesgs; + unsigned nchunks; + } H5O_stat_t + </pre> + The <code>fileno</code> and <code>objno</code> fields contain + four values which uniquely identify an object among those + HDF5 files which are open: if all four values are the same + between two objects, then the two objects are the same + (provided both files are still open). + <ul> + <li>Note that if a file is closed and re-opened, the + value in <code>fileno</code> will change. + <li>If a VFL driver either does not or cannot detect that + two <code>H5Fopen</code> calls referencing the same file + actually open the same file, each will get a different + <code>fileno</code>. + </ul> + <p> + The <code>nlink</code> field is the number of hard links to + the object or zero when information is being returned about a + symbolic link (symbolic links do not have hard links but + all other objects always have at least one). + <p> + The <code>type</code> field contains the type of the object, + one of + <code>H5G_GROUP</code>, + <code>H5G_DATASET</code>, + <code>H5G_LINK</code>, or + <code>H5G_TYPE</code>. + <p> + The <code>mtime</code> field contains the modification time. + <p> + If information is being returned about a symbolic link then + <code>linklen</code> will be the length of the link value + (the name of the pointed-to object with the null terminator); + otherwise <code>linklen</code> will be zero. + <p> + The fields in the <code>H5O_stat_t</code> struct contain information + about the object header for the object queried: + <div align=center> + <table width=80%> + <tr><td align=left valign=top> + <code>size</code> + </td><td align=left valign=top> + The total size of all the object header information in + the file (for all chunks). + </td></tr><tr><td align=left valign=top> + <code>free</code> + </td><td align=left valign=top> + The size of unused space in the object header. + </td></tr><tr><td align=left valign=top> + <code>nmesgs</code> + </td><td align=left valign=top> + The number of object header messages. + </td></tr><tr><td align=left valign=top> + <code>nchunks </code> + </td><td align=left valign=top> + The number of chunks the object header is broken up into. + </td></tr> + </table> + </div> + + <p> + Other fields may be added to this structure in the future. + <dt><strong>Note:</strong> + <dd>Some systems will be able to record the time accurately but + unable to retrieve the correct time; such systems (e.g., Irix64) + will report an <code>mtime</code> value of 0 (zero). + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: File or group identifier. + <br> + <i>Alternative:</i> An object identifier, + <code>obj_id</code>.</td></tr> + <tr> + <td valign="top"><em>const char</em> <code>*name</code></td> + <td valign="top">IN: Name of the object for which status is being + sought. + <br> + <i>Alternative:</i> If the preceding parameter is the + object’s direct identifier, i.e., the <code>obj_id</code>, + this parameter should be a dot (<code>.</code>).</td></tr> + <tr> + <td valign="top"><em>hbool_t</em> <code>follow_link</code></td> + <td valign="top">IN: Link flag.</td></tr> + <tr> + <td valign="top"><em>H5G_stat_t</em> <code>*statbuf </code></td> + <td valign="top">OUT: Buffer in which to return information about + the object.</td></tr> + </table></ul> + <dt><strong>Returns:</strong> + <dd> Returns a non-negative value if successful, with the fields of + <code>statbuf</code> (if non-null) initialized. + 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.1</td> + <td valign="top"> + Two new fields were added to the + <code>H5G_stat_t</code> struct in this release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5G/H5Gget_objname_by_idx.htm b/doc/html/H5G/H5Gget_objname_by_idx.htm new file mode 100644 index 0000000..430de4d --- /dev/null +++ b/doc/html/H5G/H5Gget_objname_by_idx.htm @@ -0,0 +1,87 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gget_objname_by_idx" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Group-GetObjNameByIdx">H5Gget_objname_by_idx</a> +<dt><strong>Signature:</strong> + <dd><em>ssize_t</em> <code>H5Gget_objname_by_idx</code>(<em>hid_t</em> <code>loc_id</code>, + <em>hsize_t</em> <code>idx</code>, + <em>char *</em><code>name</code>, + <em>size_t</em> <code>size</code> ) +<dt><strong>Purpose:</strong> + <dd>Returns a name of an object specified by an index. +<dt><strong>Description:</strong> + <dd><code>H5Gget_objname_by_idx</code> returns a name of the object + specified by the index <code>idx</code> in the group <code>loc_id</code>. + <p> + The group is specified by a group identifier <code>loc_id</code>. + If preferred, a file identifier may be passed in <code>loc_id</code>; + that file's root group will be assumed. + <p> + <code>idx</code> is the transient index used to iterate through + the objects in the group. + The value of <code>idx</code> is any nonnegative number less than + the total number of objects in the group, which is returned by the + function <code>H5Gget_num_objs</code>. + Note that this is a transient index; an object may have a + different index each time a group is opened. + <p> + The object name is returned in the user-specified buffer <code>name</code>. + <p> + If the size of the provided buffer <code>name</code> is + less or equal the actual object name length, + the object name is truncated to <code>max_size - 1</code> characters. + <p> + Note that if the size of the object's name is unkown, a + preliminary call to <code>H5Gget_objname_by_idx</code> with <code>name</code> + set to NULL will return the length of the object's name. + A second call to <code>H5Gget_objname_by_idx</code> + can then be used to retrieve the actual name. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id </code></td> + <td valign="top">IN: Group or file identifier.</td></tr> + <tr> + <td valign="top"><em>hsize_t</em> <code>idx</code></td> + <td valign="top">IN: Transient index identifying object.</td></tr> + <tr> + <td valign="top"><em>char *</em><code>name</code></td> + <td valign="top">IN/OUT: Pointer to user-provided buffer the object name.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>size</code></td> + <td valign="top">IN: Name length.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the size of the object name if successful, + or <code>0</code> if no name is associated with the group identifier. + 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5G/H5Gget_objtype_by_idx.htm b/doc/html/H5G/H5Gget_objtype_by_idx.htm new file mode 100644 index 0000000..73ca14a --- /dev/null +++ b/doc/html/H5G/H5Gget_objtype_by_idx.htm @@ -0,0 +1,118 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gget_objtype_by_idx" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Group-GetObjTypeByIdx">H5Gget_objtype_by_idx</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Gget_objtype_by_idx</code>(<em>hid_t</em> <code>loc_id</code>, + <em>hsize_t</em> <code>idx</code> ) +<dt><strong>Purpose:</strong> + <dd>Returns the type of an object specified by an index. +<dt><strong>Description:</strong> + <dd><code>H5Gget_objtype_by_idx</code> returns the type of the object + specified by the index <code>idx</code> in the group <code>loc_id</code>. + <p> + The group is specified by a group identifier <code>loc_id</code>. + If preferred, a file identifier may be passed in <code>loc_id</code>; + that file's root group will be assumed. + <p> + <code>idx</code> is the transient index used to iterate through + the objects in the group. + This parameter is described in more detail in the discussion of + <a href="#Group-GetObjNameByIdx"><code>H5Gget_objname_by_idx</code></a>. + <p> + The object type is returned as the function return value: + <table> + <tr valign=top align=left><td> + + </td><td> + <code>H5G_LINK</code> + <!--</td><td> + <code>0x0001</code>--> + </td><td> + <code>0</code> + </td><td> + Object is a symbolic link. + </td></tr> + <tr valign=top align=left><td> + + </td><td> + <code>H5G_GROUP</code> + <!--</td><td> + <code>0x0001</code>--> + </td><td> + <code>1</code> + </td><td> + Object is a group. + </td></tr> + <tr valign=top align=left><td> + + </td><td> + <code>H5G_DATASET</code> + <!--</td><td> + <code>0x0001</code>--> + </td><td> + <code>2</code> + </td><td> + Object is a dataset. + </td></tr> + <tr valign=top align=left><td> + + </td><td> + <code>H5G_TYPE</code> + <!--</td><td> + <code>0x0001</code>--> + </td><td> + <code>3</code> + </td><td> + Object is a named datatype. + </td></tr> + </table> + +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id </code></td> + <td valign="top">IN: Group or file identifier.</td></tr> + <tr> + <td valign="top"><em>hsize_t</em> <code>idx</code></td> + <td valign="top">IN: Transient index identifying object.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the type of the object 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The function return type changed from + <em>int</em> to the enumerated type + <em>H5G_obj_t</em>.</td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5G/H5Giterate.htm b/doc/html/H5G/H5Giterate.htm new file mode 100644 index 0000000..f530478 --- /dev/null +++ b/doc/html/H5G/H5Giterate.htm @@ -0,0 +1,141 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Giterate" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-Iterate">H5Giterate</a> + <dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Giterate</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char</em> <code>*name</code>, + <em>int</em> <code>*idx</code>, + <em>H5G_iterate_t</em> <code>operator</code>, + <em>void</em> <code>*operator_data</code> + ) + <dt><strong>Purpose:</strong> + <dd>Iterates an operation over the entries of a group. + <dt><strong>Description:</strong> + <dd><code>H5Giterate</code> iterates over the members of + <code>name</code> in the file or group specified with + <code>loc_id</code>. + For each object in the group, the <code>operator_data</code> + and some additional information, specified below, are + passed to the <code>operator</code> function. + The iteration begins with the <code>idx</code> object in the + group and the next element to be processed by the operator is + returned in <code>idx</code>. If <code>idx</code> + is NULL, then the iterator starts at the first group member; + 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 <code>H5G_iterate_t</code> is: + <table> + <tr> + <td valign="top"> </td> + <td valign="top"><code>typedef</code> <em>herr_t </em>(*<code>H5G_iterate_t</code>) + (<em>hid_t</em> <code>group_id</code>, <em>const char *</em> + <code>member_name</code>, <em>void *</em><code>operator_data</code>);</td></tr> + </table> + + <p>The operation receives the group identifier for the group being + iterated over, <code>group_id</code>, the name of the current + object within the group, <code>member_name</code>, and the + pointer to the operator data passed in to <code>H5Giterate</code>, + <code>operator_data</code>. + <p> + The return values from an operator are: + <ul> + <li>Zero causes the iterator to continue, returning + zero when all group members have been processed. + <li>Positive causes the iterator to immediately return that positive + value, indicating short-circuit success. The iterator can be + restarted at the next group member. + <li>Negative causes the iterator to immediately return that value, + indicating failure. The iterator can be restarted at the next + group member. + </ul> + <p> + <code>H5Giterate</code> assumes that the membership of the group + identified by <code>name</code> remains 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 valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: File or group identifier.</td></tr> + <tr> + <td valign="top"><em>const char</em> <code>*name</code></td> + <td valign="top">IN: Group over which the iteration is performed.</td></tr> + <tr> + <td valign="top"><em>int</em> <code>*idx</code></td> + <td valign="top">IN/OUT: Location at which to begin the iteration.</td></tr> + <tr> + <td valign="top"><em>H5G_iterate_t</em> <code>operator </code></td> + <td valign="top">IN: Operation to be performed on an object at each step of + the iteration.</td></tr> + <tr> + <td valign="top"><em>void</em> <code>*operator_data</code></td> + <td valign="top">IN/OUT: Data associated with the operation.</td></tr> + </table></ul> + <dt><strong>Returns:</strong> + <dd>Returns the return value of the last operator if it was non-zero, + or zero if all group members were processed. + Otherwise returns a negative value. +<!-- NEW PAGE --> + <dt><strong>Fortran90 Interface:</strong> + <dd>There is no direct FORTRAN couterpart for the C function + <code>H5Giterate</code>. + Instead, that functionality is provided by two FORTRAN functions: + + <center> + <table width=80%> + <tr valign=top align=left> + <td> + <code>h5gn_members_f</code> + </td> + <td> </td> + <td> + <strong>Purpose:</strong> + Returns the number of group members. + </tr> + <tr valign=top align=left> + <td> + <code>h5gget_obj_info_idx_f</code> + </td><td> </td><td> + <strong>Purpose:</strong> + Returns name and type of the group member identified by its index. + </td> + </tr> + </table> + </center> + + <pre> +SUBROUTINE h5gn_members_f(loc_id, name, nmembers, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group + INTEGER, INTENT(OUT) :: nmembers ! Number of members in the group + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gn_members_f + </pre> + + <pre> +SUBROUTINE h5gget_obj_info_idx_f(loc_id, name, idx, & + obj_name, obj_type, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group + INTEGER, INTENT(IN) :: idx ! Index of member object + CHARACTER(LEN=*), INTENT(OUT) :: obj_name ! Name of the object + INTEGER, INTENT(OUT) :: obj_type ! Object type : + ! H5G_LINK_F + ! H5G_GROUP_F + ! H5G_DATASET_F + ! H5G_TYPE_F + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gget_obj_info_idx_f + </pre> +</dl> + diff --git a/doc/html/H5G/H5Glink.htm b/doc/html/H5G/H5Glink.htm new file mode 100644 index 0000000..52fcb88 --- /dev/null +++ b/doc/html/H5G/H5Glink.htm @@ -0,0 +1,79 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Glink" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-Link">H5Glink</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Glink</code>(<em>hid_t</em> <code>loc_id</code>, + <em>H5G_link_t</em> <code>link_type</code>, + <em>const char *</em><code>current_name</code>, + <em>const char *</em><code>new_name</code> + ) + <dt><strong>Purpose:</strong> + <dd>Creates a link of the specified type from <code>new_name</code> + to <code>current_name</code>. + <dt><strong>Description:</strong> + <dd><code>H5Glink</code> creates a new name for an object that has some current + name, possibly one of many names it currently has. + <p> + If <code>link_type</code> is <code>H5G_LINK_HARD</code>, then + <code>current_name</code> must specify the name of an + existing object and both + names are interpreted relative to <code>loc_id</code>, which is + either a file identifier or a group identifier. + <p> + If <code>link_type</code> is <code>H5G_LINK_SOFT</code>, then + <code>current_name</code> can be anything and is interpreted at + lookup time relative to the group which contains the final + component of <code>new_name</code>. For instance, if + <code>current_name</code> is <code>./foo</code>, + <code>new_name</code> is <code>./x/y/bar</code>, and a request + is made for <code>./x/y/bar</code>, then the actual object looked + up is <code>./x/y/./foo</code>. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: File or group identifier.</td></tr> + <tr> + <td valign="top"><em>H5G_link_t</em> <code>link_type</code></td> + <td valign="top">IN: Link type. + Possible values are <code>H5G_LINK_HARD</code> and + <code>H5G_LINK_SOFT</code>.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>current_name </code></td> + <td valign="top">IN: Name of the existing object if link is a hard link. + Can be anything for the soft link.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>new_name</code></td> + <td valign="top">IN: New name for the 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> h5glink_f + <dd> + <pre> +SUBROUTINE h5glink_f(loc_id, link_type, current_name, new_name, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group location identifier + INTEGER, INTENT(IN) :: link_type ! Link type, possible values are: + ! H5G_LINK_HARD_F + ! H5G_LINK_SOFT_F + CHARACTER(LEN=*), INTENT(IN) :: current_name + ! Current object name relative + ! to loc_id + CHARACTER(LEN=*), INTENT(IN) :: new_name ! New object name + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5glink_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Glink2.htm b/doc/html/H5G/H5Glink2.htm new file mode 100644 index 0000000..31f1854 --- /dev/null +++ b/doc/html/H5G/H5Glink2.htm @@ -0,0 +1,83 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Glink2" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-Link2">H5Glink2</a> + <dt><strong>Signature:</strong> + + <dd><em>herr_t</em> <code>H5Glink2</code>( + <em>hid_t</em> <code>curr_loc_id</code>, <em>const char *</em><code>current_name</code>, + <em>H5G_link_t</em> <code>link_type</code>, + <em>hid_t</em> <code>new_loc_id</code>, <em>const char *</em><code>new_name</code> ) + <dt><strong>Purpose:</strong> + <dd>Creates a link of the specified type from <code>new_name</code> + to <code>current_name</code>. + <dt><strong>Description:</strong> + + <dd><code>H5Glink2</code> creates a new name for an object that has some current + name, possibly one of many names it currently has. + <p> + If <code>link_type</code> is <code>H5G_LINK_HARD</code>, then <code>current_name</code> + must specify the name of an existing object. + In this case, <code>current_name</code> and <code>new_name</code> are interpreted + relative to <code>curr_loc_id</code> and <code>new_loc_id</code>, respectively, + which are either file or group identifiers. + <p> + If <code>link_type</code> is <code>H5G_LINK_SOFT</code>, then + <code>current_name</code> can be anything and is interpreted at + lookup time relative to the group which contains the final + component of <code>new_name</code>. For instance, if + <code>current_name</code> is <code>./foo</code>, + <code>new_name</code> is <code>./x/y/bar</code>, and a request + is made for <code>./x/y/bar</code>, then the actual object looked + up is <code>./x/y/./foo</code>. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>curr_loc_id</code></td> + <td valign="top">IN: The file or group identifier for the original object.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>current_name </code></td> + <td valign="top">IN: Name of the existing object if link is a hard link. + Can be anything for the soft link.</td></tr> + <tr> + <td valign="top"><em>H5G_link_t</em> <code>link_type</code></td> + <td valign="top">IN: Link type. + Possible values are <code>H5G_LINK_HARD</code> and + <code>H5G_LINK_SOFT</code>.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>new_loc_id</code></td> + <td valign="top">IN: The file or group identifier for the new link.</td></tr> + <td valign="top"><em>const char *</em> <code>new_name</code></td> + <td valign="top">IN: New name for the 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> h5glink2_f + <dd> + <pre> +SUBROUTINE h5glink2_f(cur_loc_id, cur_name, link_type, new_loc_id, new_name, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: cur_loc_id ! File or group location identifier + CHARACTER(LEN=*), INTENT(IN) :: cur_name ! Name of the existing object + ! is relative to cur_loc_id + ! Can be anything for the soft link + INTEGER, INTENT(IN) :: link_type ! Link type, possible values are: + ! H5G_LINK_HARD_F + ! H5G_LINK_SOFT_F + INTEGER(HID_T), INTENT(IN) :: new_loc_id ! New location identifier + CHARACTER(LEN=*), INTENT(IN) :: new_name ! New object name + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5glink2_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gmove.htm b/doc/html/H5G/H5Gmove.htm new file mode 100644 index 0000000..ae313ec --- /dev/null +++ b/doc/html/H5G/H5Gmove.htm @@ -0,0 +1,60 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gmove" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-Move">H5Gmove</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Gmove</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char</em> <code>*src_name</code>, + <em>const char</em> <code>*dst_name</code> + ) + <dt><strong>Purpose:</strong> + <dd>Renames an object within an HDF5 file. + <dt><strong>Description:</strong> + <dd><code>H5Gmove</code> renames an object within an HDF5 file. + The original name, <code>src_name</code>, is unlinked from the + group graph and the new name, <code>dst_name</code>, is inserted + as an atomic operation. Both names are interpreted relative + to <code>loc_id</code>, which is either a file or a group + identifier. + <dt><strong>Warning:</strong> + <dd>Exercise care in moving groups as it is possible to render data in + a file inaccessible with <code>H5Gmove</code>. + See <a href="Groups.html#H5GUnlinkToCorrupt">The Group Interface</a> + in the <cite>HDF5 User's Guide</cite>. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: File or group identifier.</td></tr> + <tr> + <td valign="top"><em>const char</em> <code>*src_name </code></td> + <td valign="top">IN: Object's original name.</td></tr> + <tr> + <td valign="top"><em>const char</em> <code>*dst_name</code></td> + <td valign="top">IN: Object's new name.</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> h5gmove_f + <dd> + <pre> +SUBROUTINE h5gmove_f(loc_id, name, new_name, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Original name of an object + CHARACTER(LEN=*), INTENT(IN) :: new_name ! New name of an object + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gmove_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gmove2.htm b/doc/html/H5G/H5Gmove2.htm new file mode 100644 index 0000000..6ff9201 --- /dev/null +++ b/doc/html/H5G/H5Gmove2.htm @@ -0,0 +1,65 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gmove2" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-Move2">H5Gmove2</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Gmove2</code>( <em>hid_t</em> <code>src_loc_id</code>, + <em>const char</em> <code>*src_name</code>, <em>hid_t</em> <code>dst_loc_id</code>, + <em>const char</em> <code>*dst_name</code> ) + <dt><strong>Purpose:</strong> + <dd>Renames an object within an HDF5 file. + <dt><strong>Description:</strong> + <dd><code>H5Gmove2</code> renames an object within an HDF5 file. The original + name, <code>src_name</code>, is unlinked from the group graph and the new + name, <code>dst_name</code>, is inserted as an atomic operation. + <p> + </p><code>src_name</code> and <code>dst_name</code> are interpreted relative to + <code>src_name</code> and <code>dst_name</code>, respectively, + which are either file or group identifiers. + <dt><strong>Warning:</strong> + <dd>Exercise care in moving groups as it is possible to render data in a file + inaccessible with <code>H5Gmove</code>. See <a href="Groups.html#H5GUnlinkToCorrupt">The + Group Interface</a> in the <cite>HDF5 User's Guide</cite>. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>src_loc_id</code></td> + <td valign="top">IN: Original file or group identifier.</td></tr> + <tr> + <td valign="top"><em>const char</em> <code>*src_name </code></td> + <td valign="top">IN: Object's original name.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>dst_loc_id</code></td> + <td valign="top">IN: Destination file or group identifier.</td></tr> + <tr> + <td valign="top"><em>const char</em> <code>*dst_name</code></td> + <td valign="top">IN: Object's new name.</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> h5gmove2_f + <dd> + <pre> +SUBROUTINE h5gmove2_f(src_loc_id, src_name, dst_loc_id, dst_name, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: src_loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: src_name ! Original name of an object + ! relative to src_loc_id + INTEGER(HID_T), INTENT(IN) :: dst_loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: dst_name ! New name of an object + ! relative to dst_loc_id + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gmove2_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gopen.htm b/doc/html/H5G/H5Gopen.htm new file mode 100644 index 0000000..8af8ab4 --- /dev/null +++ b/doc/html/H5G/H5Gopen.htm @@ -0,0 +1,54 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gopen" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-Open">H5Gopen</a> + <dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Gopen</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code> + ) + <dt><strong>Purpose:</strong> + <dd>Opens an existing group for modification and returns a group + identifier for that group. + <dt><strong>Description:</strong> + <dd><code>H5Gopen</code> opens an existing group with the specified + name at the specified location, <code>loc_id</code>. + <p> + The location is identified by a file or group identifier + <p> + <code>H5Gopen</code> returns a group identifier for the group + that was opened. This group identifier should be released by + calling <code>H5Gclose</code> when it is no longer needed. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: File or group identifier within which group is to be open.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>name </code></td> + <td valign="top">IN: Name of group to open.</td></tr> + </table></ul> + <dt><strong>Returns:</strong> + <dd>Returns a valid group identifier if successful; + otherwise returns a negative value. + <dt><strong>Fortran90 Interface:</strong> h5gopen_f + <dd> + <pre> +SUBROUTINE h5gopen_f(loc_id, name, gr_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group to open + INTEGER(HID_T), INTENT(OUT) :: gr_id ! Group identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gopen_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gset_comment.htm b/doc/html/H5G/H5Gset_comment.htm new file mode 100644 index 0000000..9c29941 --- /dev/null +++ b/doc/html/H5G/H5Gset_comment.htm @@ -0,0 +1,73 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gset_comment" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-SetComment">H5Gset_comment</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Gset_comment</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code>, + <em>const char *</em><code>comment</code> + ) + <dt><strong>Purpose:</strong> + <dd>Sets comment for specified object. + <dt><strong>Description:</strong> + <dd><code>H5Gset_comment</code> sets the comment for the + object specified by <code>loc_id</code> and <code>name</code> + to <code>comment</code>. + Any previously existing comment is overwritten. + <p> + If <code>comment</code> is the empty string or a + null pointer, the comment message is removed from the object. + <p> + Comments should be relatively short, null-terminated, + ASCII strings. + <p> + Comments can be attached to any object that has an object header, + e.g., datasets, groups, named datatypes, and dataspaces, but + not symbolic links. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of the file, group, dataset, + or named datatype.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>name</code></td> + <td valign="top">IN: Name of the object whose comment is to be + set or reset. + <br> + <code>name</code> can be '.' (dot) if <code>loc_id</code> + fully specifies the object for which the comment is to be set. + <br> + <code>name</code> is ignored if <code>loc_id</code> + is a dataset or named datatype. + </td></tr> + <tr> + <td valign="top"><em>const char *</em><code>comment </code></td> + <td valign="top">IN: The new comment.</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> h5gset_comment_f + <dd> + <pre> +SUBROUTINE h5gset_comment_f(loc_id, name, comment, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File, group, dataset, or + ! named datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of object + CHARACTER(LEN=*), INTENT(IN) :: comment ! Comment for the object + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gset_comment_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5G/H5Gunlink.htm b/doc/html/H5G/H5Gunlink.htm new file mode 100644 index 0000000..829aad8 --- /dev/null +++ b/doc/html/H5G/H5Gunlink.htm @@ -0,0 +1,70 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Gunlink" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Group-Unlink">H5Gunlink</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Gunlink</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code> + ) + <dt><strong>Purpose:</strong> + <dd>Removes the link to an object from a group. + <dt><strong>Description:</strong> + <dd><code>H5Gunlink</code> removes the object specified by + <code>name</code> from the group graph and decrements the + link count for the object to which <code>name</code> points. + This action eliminates any association between <code>name</code> + and the object to which <code>name</code> pointed. + <p> + Object headers keep track of how many hard links refer to an object; + when the link count reaches zero, the object can be removed + from the file. Objects which are open are not removed until all + identifiers to the object are closed. + <p> + If the link count reaches zero, all file space associated with + the object will be released, i.e., identified in memory as freespace. + If the any object identifier is open for the object, the space + will not be released until after the object identifier is closed. + <p> + Note that space identified as freespace is available for re-use + only as long as the file remains open; once a file has been + closed, the HDF5 library loses track of freespace. See + “<a href="Performance.html#Freespace">Freespace Management</a>” + in the <cite>HDF5 User's Guide</cite> for further details. + <dt><strong>Warning:</strong> + <dd>Exercise care in unlinking groups as it is possible to render data in + a file inaccessible with <code>H5Gunlink</code>. + See <a href="Groups.html#H5GUnlinkToCorrupt">The Group Interface</a> + in the <cite>HDF5 User's Guide</cite>. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Identifier of the file or group containing the object.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>name </code></td> + <td valign="top">IN: Name of the object to unlink.</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> h5gunlink_f + <dd> + <pre> +SUBROUTINE h5gunlink_f(loc_id, name, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object to unlink + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5gunlink_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5I/H5Idec_ref.htm b/doc/html/H5I/H5Idec_ref.htm new file mode 100644 index 0000000..21cd031 --- /dev/null +++ b/doc/html/H5I/H5Idec_ref.htm @@ -0,0 +1,96 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Idec_ref" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Identify-DecRef">H5Idec_ref</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Idec_ref</code>(<em>hid_t</em> <code>obj_id</code>) +<dt><strong>Purpose:</strong> + <dd>Decrements the reference count for an object. +<dt><strong>Description:</strong> + <dd><code>H5Idec_ref</code> decrements the reference count of the object + identified by <code>obj_id</code>. + + <p> + The reference count for an object ID is attached to the information + about an object in memory and has no relation to the number of links to + an object on disk. + + <p> + The reference count for a newly created object will be 1. + Reference counts for objects may be explicitly modified with this + function or with <code>H5Iinc_ref</code>. + When an object ID's reference count reaches zero, the object will be + closed. + Calling an object ID's 'close' function decrements the reference count + for the ID which normally closes the object, but + if the reference count for the ID has been incremented with + <code>H5Iinc_ref</code>, the object will only be closed when the + reference count + reaches zero with further calls to this function or the + object ID's 'close' function. + + <p> + If the object ID was created by a collective parallel call (such as + <code>H5Dcreate</code>, <code>H5Gopen</code>, etc.), the reference + count should be modified by all the processes which have copies of + the ID. Generally this means that group, dataset, attribute, file + and named datatype IDs should be modified by all the processes and + that all other types of IDs are safe to modify by individual processes. + + <p> + This function is of particular value when an application is maintaining + multiple copies of an object ID. The object ID can be incremented when + a copy is made. Each copy of the ID can then be safely closed or + decremented and the HDF5 object will be closed when the reference count + for that that object drops to zero. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>obj_id </code></td> + <td valign="top">IN: Object identifier whose reference count will be modified.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative reference count of the object ID after + decrementing it if successful; otherwise a negative value is returned. +<dt><strong>Fortran90 Interface:</strong> h5idec_ref_f + <dd> + <pre> +SUBROUTINE h5idec_ref_f(obj_id, ref_count, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier + INTEGER, INTENT(OUT) :: ref_count !Reference count of object ID + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success, and -1 on failure +END SUBROUTINE h5idec_ref_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.2</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this + release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5I/H5Iget_file_id.htm b/doc/html/H5I/H5Iget_file_id.htm new file mode 100644 index 0000000..ac8ff1f --- /dev/null +++ b/doc/html/H5I/H5Iget_file_id.htm @@ -0,0 +1,79 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Iget_file_id" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Identify-GetFileId">H5Iget_file_id</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Iget_file_id</code>(<em>hid_t</em> <code>obj_id</code>) +<dt><strong>Purpose:</strong> + <dd>Retrieves an identifier for the file containing the specified object. +<dt><strong>Description:</strong> + <dd><code>H5Iget_file_id</code> returns the identifier of the file + associated with the object referenced by <code>obj_id</code>. + <p> + <code>obj_id</code> can be a file, group, dataset, named datatype, + or attribute identifier. + <p> + Note that the HDF5 Library permits an application to close a file + while objects within the file remain open. + If the file containing the object <code>obj_id</code> + is still open, <code>H5Iget_file_id</code> will retrieve the + existing file identifier. + If there is no existing file identifier for the file, + i.e., the file has been closed, + <code>H5Iget_file_id</code> will reopen the file and + return a new file identifier. + In either case, the file identifier must eventually be released + using <code>H5Fclose</code>. +<dt><strong>Parameters:</strong> + <ul> + <table> + <tr> + <td valign="top"><em>hid_t</em> <code>obj_id </code></td> + <td valign="top">IN: Identifier of the object whose associated + file identifier will be returned.</td> + </tr> + </table> + </ul> +<dt><strong>Returns:</strong> + <dd>Returns a file identifier on success, negative on failure. +<dt><strong>Fortran90 Interface:</strong> + <dd> + <pre> +SUBROUTINE h5iget_file_id_f(obj_id, file_id, hdferr) + + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5iget_file_id_f + </pre> + +<!--<dt><strong>Non-C API(s):</strong> + <dd> + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.3</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this + release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5I/H5Iget_name.htm b/doc/html/H5I/H5Iget_name.htm new file mode 100644 index 0000000..83fc57e --- /dev/null +++ b/doc/html/H5I/H5Iget_name.htm @@ -0,0 +1,105 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Iget_name" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Identify-GetName">H5Iget_name</a> +<dt><strong>Signature:</strong> + <dd><em>ssize_t</em> <code>H5Iget_name</code>( + <em>hid_t</em> <code>obj_id</code>, + <em>char *</em><code>name</code>, + <em>size_t</em> <code>size</code> + ) +<dt><strong>Purpose:</strong> </dt> + <dd>Retrieves a name of an object based on the object identifier. +<dt><strong>Description:</strong> + <dd><code>H5Iget_name</code> retrieves a name for the object identified + by <code>obj_id</code>. + <p> + Up to <code>size</code> characters of the name are returned in + <code>name</code>; additional characters, if any, are not returned + to the user application. + <p> + If the length of the name, which determines the required + value of <code>size</code>, is unknown, a preliminary + <code>H5Iget_name</code> call can be made. + The return value of this call will be the size in bytes of the + object name. + That value, plus 1 for a <small>NULL</small> terminator, + is then assigned to <code>size</code> + for a second <code>H5Iget_name</code> call, + which will retrieve the actual name. + <p> + If the object identified by <code>obj_id</code> is an attribute, + as determined via + <a href="#Identify-GetType"><code>H5Iget_type</code></a>, + <code>H5Iget_name</code> retrieves the name of the object + to which that attribute is attached. + To retrieve the name of the attribute itself, use + <a href="RM_H5A.html#Annot-GetName"><code>H5Aget_name</code></a>. + <p> + If there is no name associated with the object identifier + or if the name is <code>NULL</code>, <code>H5Iget_name</code> + returns <code>0</code> (zero). + <p> + <code>H5Iget_name</code> cannot be used with an object identifier + returned by <code>H5Rdereference</code>; + the function will not be able to determine a valid object name. + <p> + Note that an object in an HDF5 file may have multiple names, + varying according to the path through the HDF5 group + hierarchy used to reach that object. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>obj_id </code></td> + <td valign="top">IN: Identifier of the object. + This identifier can refer to a group, dataset, + or named datatype.</td></tr> + <tr> + <td valign="top"><em>char *</em><code>name</code></td> + <td valign="top">OUT: A name associated with the identifier.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>size</code></td> + <td valign="top">IN: The size of the <code>name</code> buffer; + must be the size of the name in bytes + plus 1 for a <small>NULL</small> terminator.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the length of the name if successful, returning <code>0</code> + (zero) if no name is associated with the identifier. + Otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5iget_name_f + <dd> + <pre> +SUBROUTINE h5iget_name_f(obj_id, buf, buf_size, name_size, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + CHARACTER(LEN=*), INTENT(OUT) :: buf ! Buffer to hold object name + INTEGER(SIZE_T), INTENT(IN) :: buf_size ! Buffer size + INTEGER(SIZE_T), INTENT(OUT) :: name_size ! Name size + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success, and -1 on failure +END SUBROUTINE h5iget_name_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<!-- NEW PAGE --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5I/H5Iget_ref.htm b/doc/html/H5I/H5Iget_ref.htm new file mode 100644 index 0000000..1ad5186 --- /dev/null +++ b/doc/html/H5I/H5Iget_ref.htm @@ -0,0 +1,71 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Iget_ref" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Identify-GetRef">H5Iget_ref</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Iget_ref</code>(<em>hid_t</em> <code>obj_id</code>) +<dt><strong>Purpose:</strong> + <dd>Retrieves the reference count for an object. +<dt><strong>Description:</strong> + <dd><code>H5Iget_ref</code> retrieves the reference count of the object + identified by <code>obj_id</code>. + + <p> + The reference count for an object ID is attached to the information + about an object in memory and has no relation to the number of links to + an object on disk. + + <p> + This function can also be used to check if an object ID is still valid. + A non-negative return value from this function indicates that the ID + is still valid. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>obj_id </code></td> + <td valign="top">IN: Object identifier whose reference count will be retrieved.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative current reference count of the object ID + if successful; otherwise a negative value is returned. +<dt><strong>Fortran90 Interface:</strong> h5iget_ref_f + <dd> + <pre> +SUBROUTINE h5iget_ref_f(obj_id, ref_count, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier + INTEGER, INTENT(OUT) :: ref_count !Reference count of object ID + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success, and -1 on failure +END SUBROUTINE h5iget_ref_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.2</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this + release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5I/H5Iget_type.htm b/doc/html/H5I/H5Iget_type.htm new file mode 100644 index 0000000..1b45c92 --- /dev/null +++ b/doc/html/H5I/H5Iget_type.htm @@ -0,0 +1,76 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Iget_type" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Identify-GetType">H5Iget_type</a> +<dt><strong>Signature:</strong> + <dd><em>H5I_type_t</em> <code>H5Iget_type</code>(<em>hid_t</em> <code>obj_id</code>) +<dt><strong>Purpose:</strong> + <dd>Retrieves the type of an object. +<dt><strong>Description:</strong> + <dd><code>H5Iget_type</code> retrieves the type of the object + identified by <code>obj_id</code>. + <p> + Valid types returned by the function are + <table> + <tr><td width=200><code> H5I_FILE</code> + </td><td>File</td></tr> + <tr><td><code> H5I_GROUP</code> + </td><td>Group</td></tr> + <tr><td><code> H5I_DATATYPE</code> + </td><td>Datatype</td></tr> + <tr><td><code> H5I_DATASPACE</code> + </td><td>Dataspace</td></tr> + <tr><td><code> H5I_DATASET</code> + </td><td>Dataset</td></tr> + <tr><td><code> H5I_ATTR</code> + </td><td>Attribute</td></tr> + </table> + If no valid type can be determined or the identifier + submitted is invalid, the function returns + <table> + <tr><td width=200><code> H5I_BADID</code> + </td><td>Invalid identifier</td></tr> + </table> + <p> + This function is of particular value in determining the + type of object closing function (<code>H5Dclose</code>, + <code>H5Gclose</code>, etc.) to call after a call to + <code>H5Rdereference</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>obj_id </code></td> + <td valign="top">IN: Object identifier whose type is to be determined.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the object type if successful; + otherwise <code>H5I_BADID</code>. +<dt><strong>Fortran90 Interface:</strong> h5iget_type_f + <dd> + <pre> +SUBROUTINE h5iget_type_f(obj_id, type, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier + INTEGER, INTENT(OUT) :: type !type of an object. + !possible values are: + !H5I_FILE_F + !H5I_GROUP_F + !H5I_DATATYPE_F + !H5I_DATASPACE_F + !H5I_DATASET_F + !H5I_ATTR_F + !H5I_BADID_F + INTEGER, INTENT(OUT) :: hdferr ! E rror code + ! 0 on success, and -1 on failure +END SUBROUTINE h5iget_type_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5I/H5Iinc_ref.htm b/doc/html/H5I/H5Iinc_ref.htm new file mode 100644 index 0000000..1c55213 --- /dev/null +++ b/doc/html/H5I/H5Iinc_ref.htm @@ -0,0 +1,94 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Iinc_ref" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Identify-IncRef">H5Iinc_ref</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Iinc_ref</code>(<em>hid_t</em> <code>obj_id</code>) +<dt><strong>Purpose:</strong> + <dd>Increments the reference count for an object. +<dt><strong>Description:</strong> + <dd><code>H5Iinc_ref</code> increments the reference count of the object + identified by <code>obj_id</code>. + + <p> + The reference count for an object ID is attached to the information + about an object in memory and has no relation to the number of links to + an object on disk. + + <p> + The reference count for a newly created object will be 1. + Reference counts for objects may be explicitly modified with this + function or with <code>H5Idec_ref</code>. + When an object ID's reference count reaches zero, the object will be + closed. + Calling an object ID's 'close' function decrements the reference count + for the ID which normally closes the object, but + if the reference count for the ID has been incremented with this + function, the object will only be closed when the reference count + reaches zero with further calls to <code>H5Idec_ref</code> or the + object ID's 'close' function. + + <p> + If the object ID was created by a collective parallel call (such as + <code>H5Dcreate</code>, <code>H5Gopen</code>, etc.), the reference + count should be modified by all the processes which have copies of + the ID. Generally this means that group, dataset, attribute, file + and named datatype IDs should be modified by all the processes and + that all other types of IDs are safe to modify by individual processes. + + <p> + This function is of particular value when an application is maintaining + multiple copies of an object ID. The object ID can be incremented when + a copy is made. Each copy of the ID can then be safely closed or + decremented and the HDF5 object will be closed when the reference count + for that that object drops to zero. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>obj_id </code></td> + <td valign="top">IN: Object identifier whose reference count will be modified.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative reference count of the object ID after + incrementing it if successful; otherwise a negative value is returned. +<dt><strong>Fortran90 Interface:</strong> h5iinc_ref_f + <dd> + <pre> +SUBROUTINE h5iinc_ref_f(obj_id, ref_count, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier + INTEGER, INTENT(OUT) :: ref_count !Reference count of object ID + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success, and -1 on failure +END SUBROUTINE h5iinc_ref_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.2</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this + release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pall_filters_avail.htm b/doc/html/H5P/H5Pall_filters_avail.htm new file mode 100644 index 0000000..bf3cac0 --- /dev/null +++ b/doc/html/H5P/H5Pall_filters_avail.htm @@ -0,0 +1,51 @@ +<!-- 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pclose.htm b/doc/html/H5P/H5Pclose.htm new file mode 100644 index 0000000..3b2d910 --- /dev/null +++ b/doc/html/H5P/H5Pclose.htm @@ -0,0 +1,43 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pclose_class.htm b/doc/html/H5P/H5Pclose_class.htm new file mode 100644 index 0000000..85e0d49 --- /dev/null +++ b/doc/html/H5P/H5Pclose_class.htm @@ -0,0 +1,53 @@ +<!-- 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> + + diff --git a/doc/html/H5P/H5Pcopy.htm b/doc/html/H5P/H5Pcopy.htm new file mode 100644 index 0000000..c2de658 --- /dev/null +++ b/doc/html/H5P/H5Pcopy.htm @@ -0,0 +1,45 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pcopy_prop.htm b/doc/html/H5P/H5Pcopy_prop.htm new file mode 100644 index 0000000..27aa31f --- /dev/null +++ b/doc/html/H5P/H5Pcopy_prop.htm @@ -0,0 +1,81 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pcreate.htm b/doc/html/H5P/H5Pcreate.htm new file mode 100644 index 0000000..c4c25e2 --- /dev/null +++ b/doc/html/H5P/H5Pcreate.htm @@ -0,0 +1,81 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pcreate_class.htm b/doc/html/H5P/H5Pcreate_class.htm new file mode 100644 index 0000000..4d46d6e --- /dev/null +++ b/doc/html/H5P/H5Pcreate_class.htm @@ -0,0 +1,158 @@ +<!-- 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> + + diff --git a/doc/html/H5P/H5Pequal.htm b/doc/html/H5P/H5Pequal.htm new file mode 100644 index 0000000..189e784 --- /dev/null +++ b/doc/html/H5P/H5Pequal.htm @@ -0,0 +1,61 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pexist.htm b/doc/html/H5P/H5Pexist.htm new file mode 100644 index 0000000..e8f9163 --- /dev/null +++ b/doc/html/H5P/H5Pexist.htm @@ -0,0 +1,58 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pfill_value_defined.htm b/doc/html/H5P/H5Pfill_value_defined.htm new file mode 100644 index 0000000..b650f7f --- /dev/null +++ b/doc/html/H5P/H5Pfill_value_defined.htm @@ -0,0 +1,77 @@ +<!-- 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget.htm b/doc/html/H5P/H5Pget.htm new file mode 100644 index 0000000..20cf23b --- /dev/null +++ b/doc/html/H5P/H5Pget.htm @@ -0,0 +1,80 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_alignment.htm b/doc/html/H5P/H5Pget_alignment.htm new file mode 100644 index 0000000..8265b02 --- /dev/null +++ b/doc/html/H5P/H5Pget_alignment.htm @@ -0,0 +1,54 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_alloc_time.htm b/doc/html/H5P/H5Pget_alloc_time.htm new file mode 100644 index 0000000..a9332ca --- /dev/null +++ b/doc/html/H5P/H5Pget_alloc_time.htm @@ -0,0 +1,96 @@ +<!-- 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>alloc_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>alloc_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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_btree_ratios.htm b/doc/html/H5P/H5Pget_btree_ratios.htm new file mode 100644 index 0000000..a48ae65 --- /dev/null +++ b/doc/html/H5P/H5Pget_btree_ratios.htm @@ -0,0 +1,62 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_buffer.htm b/doc/html/H5P/H5Pget_buffer.htm new file mode 100644 index 0000000..54b40ec --- /dev/null +++ b/doc/html/H5P/H5Pget_buffer.htm @@ -0,0 +1,70 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The return type changed from + <em>hsize_t</em> to <em>size_t</em>.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + The return type changed to <em>hsize_t</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_cache.htm b/doc/html/H5P/H5Pget_cache.htm new file mode 100644 index 0000000..cb81c30 --- /dev/null +++ b/doc/html/H5P/H5Pget_cache.htm @@ -0,0 +1,84 @@ +<!-- 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>size_t</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>size_t</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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The <code>rdcc_nbytes</code> and <code>rdcc_nelmts</code> + parameters changed from + type <em>int</em> to <em>size_t</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_chunk.htm b/doc/html/H5P/H5Pget_chunk.htm new file mode 100644 index 0000000..75d6f19 --- /dev/null +++ b/doc/html/H5P/H5Pget_chunk.htm @@ -0,0 +1,59 @@ +<!-- 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 if 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> + diff --git a/doc/html/H5P/H5Pget_class.htm b/doc/html/H5P/H5Pget_class.htm new file mode 100644 index 0000000..76e32d6 --- /dev/null +++ b/doc/html/H5P/H5Pget_class.htm @@ -0,0 +1,52 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_class_name.htm b/doc/html/H5P/H5Pget_class_name.htm new file mode 100644 index 0000000..b28b00d --- /dev/null +++ b/doc/html/H5P/H5Pget_class_name.htm @@ -0,0 +1,57 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_class_parent.htm b/doc/html/H5P/H5Pget_class_parent.htm new file mode 100644 index 0000000..bfb339a --- /dev/null +++ b/doc/html/H5P/H5Pget_class_parent.htm @@ -0,0 +1,50 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_compression.htm b/doc/html/H5P/H5Pget_compression.htm new file mode 100644 index 0000000..7370755 --- /dev/null +++ b/doc/html/H5P/H5Pget_compression.htm @@ -0,0 +1,48 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Pget_compression" --> + +<!-- + +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Property-GetCompression">H5Pget_compression</a> + <dt><strong>Signature:</strong> + <dd><em>H5Z_method_t</em> <code>H5Pget_compression</code>(<em>hid_t</em> <code>plist</code>, + <em>unsigned int</em> <code>*flags</code>, + <em>size_t</em> <code>*cd_size</code>, + <em>void</em> <code>*client_data</code> + ) + <dt><strong>Purpose:</strong> + <dd>Gets compression method. + <dt><strong>Description:</strong> + <dd><code>H5Pget_compression</code> gets the compression method + information from a dataset creation property list. + The <code>client_data</code> buffer is initially + <code>cd_size</code> bytes. On return, <code>client_data</code> + will be initialized with at most that many bytes, and + <code>cd_size</code> will contain the actual size of the + client data, which might be larger than its original value. + <dt><strong>Parameters:</strong> + <dl> + <dt><em>hid_t</em> <code>plist</code> + <dd>IN: Identifier for the dataset creation property list. + <dt><em>unsigned int</em> <code>*flags</code> + <dd>OUT: Compression flags. + <dt><em>size_t</em> <code>*cd_size</code> + <dd>IN/OUT: Size of the <code>client_data</code> array. + <dt><em>void</em> <code>*client_data</code> + <dd>OUT: Byte array for the client data. + </dl> + <dt><strong>Returns:</strong> + <dd>Returns compression method if successful; + otherwise returns a negative value. + <dt><strong>Non-C API(s):</strong> + <dd><a href="fortran/h5p_FORTRAN.html#h5pxxx" + target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> +</dl> + +--> + + diff --git a/doc/html/H5P/H5Pget_deflate.htm b/doc/html/H5P/H5Pget_deflate.htm new file mode 100644 index 0000000..d7c6cf4 --- /dev/null +++ b/doc/html/H5P/H5Pget_deflate.htm @@ -0,0 +1,34 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Pget_deflate" --> + +<!-- + +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Property-GetDeflate">H5Pget_deflate</a> + <dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Pget_deflate</code>(<em>hid_t</em> <code>plist</code> + ) + <dt><strong>Purpose:</strong> + <dd>Returns the deflate compression level from a dataset creation + property list. + <dt><strong>Description:</strong> + <dd><code>H5Pget_deflate</code> returns the deflate compression level + from a dataset creation property list that uses that method. + <dt><strong>Parameters:</strong> + <dl> + <dt><em>hid_t</em> <code>plist</code> + <dd>IN: Identifier for the dataset creation property list. + </dl> + <dt><strong>Returns:</strong> + <dd>Returns compression level, a value between 0 and 9, if successful. + Otherwise returns a negative value. + <dt><strong>Non-C API(s):</strong> + <dd><a href="fortran/h5p_FORTRAN.html#h5pxxx" + target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> +</dl> + +--> + diff --git a/doc/html/H5P/H5Pget_driver.htm b/doc/html/H5P/H5Pget_driver.htm new file mode 100644 index 0000000..fa4e597 --- /dev/null +++ b/doc/html/H5P/H5Pget_driver.htm @@ -0,0 +1,74 @@ +<!-- 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_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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_driver_info.htm b/doc/html/H5P/H5Pget_driver_info.htm new file mode 100644 index 0000000..df03e1f --- /dev/null +++ b/doc/html/H5P/H5Pget_driver_info.htm @@ -0,0 +1,50 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Pget_driver_info" --> + +<!-- ********** 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> + +--> + diff --git a/doc/html/H5P/H5Pget_dxpl_mpio.htm b/doc/html/H5P/H5Pget_dxpl_mpio.htm new file mode 100644 index 0000000..33317fa --- /dev/null +++ b/doc/html/H5P/H5Pget_dxpl_mpio.htm @@ -0,0 +1,67 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_dxpl_multi.htm b/doc/html/H5P/H5Pget_dxpl_multi.htm new file mode 100644 index 0000000..8ed6019 --- /dev/null +++ b/doc/html/H5P/H5Pget_dxpl_multi.htm @@ -0,0 +1,57 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_edc_check.htm b/doc/html/H5P/H5Pget_edc_check.htm new file mode 100644 index 0000000..a053e2c --- /dev/null +++ b/doc/html/H5P/H5Pget_edc_check.htm @@ -0,0 +1,58 @@ +<!-- 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_external.htm b/doc/html/H5P/H5Pget_external.htm new file mode 100644 index 0000000..85f639a --- /dev/null +++ b/doc/html/H5P/H5Pget_external.htm @@ -0,0 +1,95 @@ +<!-- 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"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>idx</code> parameter type changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_external_count.htm b/doc/html/H5P/H5Pget_external_count.htm new file mode 100644 index 0000000..15f33be --- /dev/null +++ b/doc/html/H5P/H5Pget_external_count.htm @@ -0,0 +1,43 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_family_offset.htm b/doc/html/H5P/H5Pget_family_offset.htm new file mode 100644 index 0000000..d514270 --- /dev/null +++ b/doc/html/H5P/H5Pget_family_offset.htm @@ -0,0 +1,69 @@ +<!-- 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">OUT: 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_fapl_core.htm b/doc/html/H5P/H5Pget_fapl_core.htm new file mode 100644 index 0000000..877ab9a --- /dev/null +++ b/doc/html/H5P/H5Pget_fapl_core.htm @@ -0,0 +1,82 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> </td> + <td valign="top"> </td> + <td valign="top"> + The <code>backing_store</code> parameter type + changed from <em>INTEGER</em> to <em>LOGICAL</em> + to better match the C API</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top">Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> </td> + </tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_fapl_family.htm b/doc/html/H5P/H5Pget_fapl_family.htm new file mode 100644 index 0000000..235e4a9 --- /dev/null +++ b/doc/html/H5P/H5Pget_fapl_family.htm @@ -0,0 +1,70 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5P/H5Pget_fapl_mpio.htm b/doc/html/H5P/H5Pget_fapl_mpio.htm new file mode 100644 index 0000000..790562d --- /dev/null +++ b/doc/html/H5P/H5Pget_fapl_mpio.htm @@ -0,0 +1,76 @@ +<!-- 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> + ) + <p> + <dt><strong>Purpose:</strong> + <dd> Returns MPI communicator information. + <p> + <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 duplicates of + the stored MPI communicator and information object through the + <code>comm</code> and <code>info</code> + pointers, if those values are non-null. + <p> + <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> + <p> + <dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful. + Otherwise returns a negative value. + <p> + <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> + + <p> + <dt><strong>History:</strong></dt> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Change</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> + Handling of the MPI Communicator + and Info objects changed at this release. A copy + of each of these objects is now stored in the + property list instead of pointers to each + object.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + C function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_fapl_mpiposix.htm b/doc/html/H5P/H5Pget_fapl_mpiposix.htm new file mode 100644 index 0000000..495aa91 --- /dev/null +++ b/doc/html/H5P/H5Pget_fapl_mpiposix.htm @@ -0,0 +1,90 @@ +<!-- 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>, + <em>hbool_t *</em><code>use_gpfs_hints</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. + <p> + <code>use_gpfs_hints</code> specifies whether to attempt to use + GPFS hints when accessing this file. + A value of <code>TRUE</code> (or <code>1</code>) indicates that + the hints are being used, where possible. + A value of <code>FALSE</code> (or <code>0</code>) indicates that + the hints are not being used. + <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>hbool_t *</em><code>use_gpfs_hints </code></td> + <td valign="top">OUT: Use of GPFS hints.</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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top"> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.1</td> + <td valign="top"> </td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this release.</td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"><code>use_gpfs_hints</code> parameter added.</td> + <td valign="top"> </td> + <td valign="top"> </td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top">Function introduced in this release.<br></td> + <td valign="top"> </td> + <td valign="top"> </td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_fapl_multi.htm b/doc/html/H5P/H5Pget_fapl_multi.htm new file mode 100644 index 0000000..b12952d --- /dev/null +++ b/doc/html/H5P/H5Pget_fapl_multi.htm @@ -0,0 +1,91 @@ +<!-- 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: The offsets within the virtual address space, + from 0 (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">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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_fapl_stream.htm b/doc/html/H5P/H5Pget_fapl_stream.htm new file mode 100644 index 0000000..dcea88d --- /dev/null +++ b/doc/html/H5P/H5Pget_fapl_stream.htm @@ -0,0 +1,65 @@ + +<!-- 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"> + --> +<!-- + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + <tr> + <td valign="top">1.6.7 and 1.8.0</td> + <td valign="top"> + Function removed in these releases.</td></tr> + </table></ul> +</dl> +--> + diff --git a/doc/html/H5P/H5Pget_fclose_degree.htm b/doc/html/H5P/H5Pget_fclose_degree.htm new file mode 100644 index 0000000..755f447 --- /dev/null +++ b/doc/html/H5P/H5Pget_fclose_degree.htm @@ -0,0 +1,72 @@ +<!-- 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 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_fill_time.htm b/doc/html/H5P/H5Pget_fill_time.htm new file mode 100644 index 0000000..f020f51 --- /dev/null +++ b/doc/html/H5P/H5Pget_fill_time.htm @@ -0,0 +1,88 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_fill_value.htm b/doc/html/H5P/H5Pget_fill_value.htm new file mode 100644 index 0000000..6d75c39 --- /dev/null +++ b/doc/html/H5P/H5Pget_fill_value.htm @@ -0,0 +1,78 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_filter.htm b/doc/html/H5P/H5Pget_filter.htm new file mode 100644 index 0000000..78da71f --- /dev/null +++ b/doc/html/H5P/H5Pget_filter.htm @@ -0,0 +1,150 @@ +<!-- 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>unsigned 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"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>filter</code> parameter type changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_filter_by_id.htm b/doc/html/H5P/H5Pget_filter_by_id.htm new file mode 100644 index 0000000..90c0332 --- /dev/null +++ b/doc/html/H5P/H5Pget_filter_by_id.htm @@ -0,0 +1,119 @@ +<!-- 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> +<!-- NEW PAGE --> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. + <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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_gc_references.htm b/doc/html/H5P/H5Pget_gc_references.htm new file mode 100644 index 0000000..c0df022 --- /dev/null +++ b/doc/html/H5P/H5Pget_gc_references.htm @@ -0,0 +1,53 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_hyper_cache.htm b/doc/html/H5P/H5Pget_hyper_cache.htm new file mode 100644 index 0000000..e96a70a --- /dev/null +++ b/doc/html/H5P/H5Pget_hyper_cache.htm @@ -0,0 +1,64 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Pget_hyper_cache" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Property-GetHyperCache">H5Pget_hyper_cache</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Pget_hyper_cache</code>(<em>hid_t</em> <code>plist</code>, + <em>unsigned</em> *<code>cache</code>, + <em>unsigned</em> *<code>limit</code> + ) + <dt><strong>Purpose:</strong> + <dd>[<strong>NOTE:</strong> + <span class="1_4_compat"> + This function is deprecated in HDF5 Release 1.6 + and will eventually be removed from the HDF5 distribution. + It is provided in this release only to enable backward compatibility + with HDF5 Releases 1.4.<i>x</i> + and is enabled only if the HDF5 library is configured + with the flag <code>H5_WANT_H5_V1_4_COMPAT</code>; + the function is not enabled in the binaries distributed by NCSA. + </span>] + <p> + Returns information regarding the caching of hyperslab blocks during I/O. + <dt><strong>Description:</strong> + <dd>Given a dataset transfer property list, <code>H5Pget_hyper_cache</code> + returns instructions regarding the caching of hyperslab blocks during I/O. + These parameters are set with the <code>H5Pset_hyper_cache</code> function. + <dt><strong>Parameters:</strong> + <dl> + <dt><em>hid_t</em> <code>plist</code> + <dd>IN: Dataset transfer property list identifier. + <dt><em>unsigned</em> *<code>cache</code> + <dd>OUT: A flag indicating whether caching is + set to on (<code>1</code>) or off (<code>0</code>). + <dt><em>unsigned</em> *<code>limit</code> + <dd>OUT: Maximum size of the hyperslab block to cache. + <code>0</code> (zero) indicates no limit. + </dl> + <dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. + <dt><strong>Fortran90 Interface:</strong> h5pget_hyper_cache_f + <dd> + <pre> +SUBROUTINE h5pget_hyper_cache_f(prp_id, cache, limit, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + INTEGER, INTENT(OUT) :: cache ! + INTEGER, INTENT(OUT) :: limit ! Maximum size of the hyperslab + ! block to cache + ! 0 (zero) indicates no limit + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5pget_hyper_cache_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5P/H5Pget_hyper_vector_size.htm b/doc/html/H5P/H5Pget_hyper_vector_size.htm new file mode 100644 index 0000000..c1b83e2 --- /dev/null +++ b/doc/html/H5P/H5Pget_hyper_vector_size.htm @@ -0,0 +1,67 @@ +<!-- 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_istore_k.htm b/doc/html/H5P/H5Pget_istore_k.htm new file mode 100644 index 0000000..d63bc99 --- /dev/null +++ b/doc/html/H5P/H5Pget_istore_k.htm @@ -0,0 +1,63 @@ +<!-- 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"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>ik</code> parameter type changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_layout.htm b/doc/html/H5P/H5Pget_layout.htm new file mode 100644 index 0000000..48d9c48 --- /dev/null +++ b/doc/html/H5P/H5Pget_layout.htm @@ -0,0 +1,65 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_meta_block_size.htm b/doc/html/H5P/H5Pget_meta_block_size.htm new file mode 100644 index 0000000..a070df4 --- /dev/null +++ b/doc/html/H5P/H5Pget_meta_block_size.htm @@ -0,0 +1,67 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_multi_type.htm b/doc/html/H5P/H5Pget_multi_type.htm new file mode 100644 index 0000000..79e4c6b --- /dev/null +++ b/doc/html/H5P/H5Pget_multi_type.htm @@ -0,0 +1,72 @@ +<!-- 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>H5Pget_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 type of data property for <code>MULTI</code> driver. + <dt><strong>Description:</strong> + <dd><code>H5Pget_multi_type</code> retrieves the type of data 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_nfilters.htm b/doc/html/H5P/H5Pget_nfilters.htm new file mode 100644 index 0000000..79342e9 --- /dev/null +++ b/doc/html/H5P/H5Pget_nfilters.htm @@ -0,0 +1,58 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_nprops.htm b/doc/html/H5P/H5Pget_nprops.htm new file mode 100644 index 0000000..361f792 --- /dev/null +++ b/doc/html/H5P/H5Pget_nprops.htm @@ -0,0 +1,57 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_preserve.htm b/doc/html/H5P/H5Pget_preserve.htm new file mode 100644 index 0000000..e833717 --- /dev/null +++ b/doc/html/H5P/H5Pget_preserve.htm @@ -0,0 +1,57 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The <code>flag</code> parameter was changed from + <em>INTEGER</em> to <em>LOGICAL</em> to better + match the C API.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_sieve_buf_size.htm b/doc/html/H5P/H5Pget_sieve_buf_size.htm new file mode 100644 index 0000000..5277bfc --- /dev/null +++ b/doc/html/H5P/H5Pget_sieve_buf_size.htm @@ -0,0 +1,71 @@ +<!-- 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + </tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top">The <code>size</code> + parameter has changed from type <em>hsize_t</em> + to <em>size_t</em>.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top">Function introduced in this release.</td> + </tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_size.htm b/doc/html/H5P/H5Pget_size.htm new file mode 100644 index 0000000..1613cc4 --- /dev/null +++ b/doc/html/H5P/H5Pget_size.htm @@ -0,0 +1,63 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_sizes.htm b/doc/html/H5P/H5Pget_sizes.htm new file mode 100644 index 0000000..a9417e4 --- /dev/null +++ b/doc/html/H5P/H5Pget_sizes.htm @@ -0,0 +1,54 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_small_data_block_size.htm b/doc/html/H5P/H5Pget_small_data_block_size.htm new file mode 100644 index 0000000..7913aec --- /dev/null +++ b/doc/html/H5P/H5Pget_small_data_block_size.htm @@ -0,0 +1,62 @@ +<!-- 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"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.4</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_sym_k.htm b/doc/html/H5P/H5Pget_sym_k.htm new file mode 100644 index 0000000..b5e6277 --- /dev/null +++ b/doc/html/H5P/H5Pget_sym_k.htm @@ -0,0 +1,76 @@ +<!-- 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"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>ik</code> parameter type changed to + <em>unsigned</em></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The <code>ik</code> parameter has changed + from type <em>int</em> to <em>unsigned</em></td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_userblock.htm b/doc/html/H5P/H5Pget_userblock.htm new file mode 100644 index 0000000..d82b949 --- /dev/null +++ b/doc/html/H5P/H5Pget_userblock.htm @@ -0,0 +1,47 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pget_version.htm b/doc/html/H5P/H5Pget_version.htm new file mode 100644 index 0000000..ce0d965 --- /dev/null +++ b/doc/html/H5P/H5Pget_version.htm @@ -0,0 +1,84 @@ +<!-- 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"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>boot</code>, <code>freelist</code>, + <code>stab</code>, <code>shhdr</code> + parameter types changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pget_vlen_mem_manager.htm b/doc/html/H5P/H5Pget_vlen_mem_manager.htm new file mode 100644 index 0000000..ead4398 --- /dev/null +++ b/doc/html/H5P/H5Pget_vlen_mem_manager.htm @@ -0,0 +1,64 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pinsert.htm b/doc/html/H5P/H5Pinsert.htm new file mode 100644 index 0000000..3ebd862 --- /dev/null +++ b/doc/html/H5P/H5Pinsert.htm @@ -0,0 +1,289 @@ +<!-- 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_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>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. + + <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_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> + diff --git a/doc/html/H5P/H5Pisa_class.htm b/doc/html/H5P/H5Pisa_class.htm new file mode 100644 index 0000000..8e9c948 --- /dev/null +++ b/doc/html/H5P/H5Pisa_class.htm @@ -0,0 +1,56 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Piterate.htm b/doc/html/H5P/H5Piterate.htm new file mode 100644 index 0000000..465c6a2 --- /dev/null +++ b/doc/html/H5P/H5Piterate.htm @@ -0,0 +1,118 @@ +<!-- 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. + + <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> + diff --git a/doc/html/H5P/H5Pmodify_filter.htm b/doc/html/H5P/H5Pmodify_filter.htm new file mode 100644 index 0000000..b4be156 --- /dev/null +++ b/doc/html/H5P/H5Pmodify_filter.htm @@ -0,0 +1,89 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pregister.htm b/doc/html/H5P/H5Pregister.htm new file mode 100644 index 0000000..85990aa --- /dev/null +++ b/doc/html/H5P/H5Pregister.htm @@ -0,0 +1,322 @@ +<!-- 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_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 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> + + 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_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> + diff --git a/doc/html/H5P/H5Premove.htm b/doc/html/H5P/H5Premove.htm new file mode 100644 index 0000000..986cf84 --- /dev/null +++ b/doc/html/H5P/H5Premove.htm @@ -0,0 +1,66 @@ +<!-- 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> + + diff --git a/doc/html/H5P/H5Premove_filter.htm b/doc/html/H5P/H5Premove_filter.htm new file mode 100644 index 0000000..2f86510 --- /dev/null +++ b/doc/html/H5P/H5Premove_filter.htm @@ -0,0 +1,121 @@ +<!-- 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 + !</pre> +<!-- NEW PAGE --> +<pre> + 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.3</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this + release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset.htm b/doc/html/H5P/H5Pset.htm new file mode 100644 index 0000000..adad536 --- /dev/null +++ b/doc/html/H5P/H5Pset.htm @@ -0,0 +1,81 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pset_alignment.htm b/doc/html/H5P/H5Pset_alignment.htm new file mode 100644 index 0000000..8f01e23 --- /dev/null +++ b/doc/html/H5P/H5Pset_alignment.htm @@ -0,0 +1,68 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pset_alloc_time.htm b/doc/html/H5P/H5Pset_alloc_time.htm new file mode 100644 index 0000000..47ec240 --- /dev/null +++ b/doc/html/H5P/H5Pset_alloc_time.htm @@ -0,0 +1,112 @@ +<!-- 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>alloc_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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_btree_ratios.htm b/doc/html/H5P/H5Pset_btree_ratios.htm new file mode 100644 index 0000000..e727f0a --- /dev/null +++ b/doc/html/H5P/H5Pset_btree_ratios.htm @@ -0,0 +1,70 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pset_buffer.htm b/doc/html/H5P/H5Pset_buffer.htm new file mode 100644 index 0000000..788c398 --- /dev/null +++ b/doc/html/H5P/H5Pset_buffer.htm @@ -0,0 +1,94 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top">The <code>size</code> + parameter has changed from type + <em>hsize_t</em> to <em>size_t</em>.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top">The <code>size</code> + parameter has changed to type + <em>hsize_t</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_cache.htm b/doc/html/H5P/H5Pset_cache.htm new file mode 100644 index 0000000..327fef4 --- /dev/null +++ b/doc/html/H5P/H5Pset_cache.htm @@ -0,0 +1,106 @@ +<!-- 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>size_t</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>size_t</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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top"> </td> + <td valign="top"><strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.1</td> + <td valign="top"> </td> + <td valign="top"> </td> + <td valign="top"><code>rdcc_nbytes</code> parameter type changed + to <code>INTEGER(SIZE_T)</code>.</td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top">The <code>rdcc_nbytes</code> + and <code>rdcc_nelmts</code> parameters changed + from type <em>int</em> to <em>size_t</em>.</td> + <td valign="top"> </td> + <td valign="top"> </td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_chunk.htm b/doc/html/H5P/H5Pset_chunk.htm new file mode 100644 index 0000000..770ee20 --- /dev/null +++ b/doc/html/H5P/H5Pset_chunk.htm @@ -0,0 +1,73 @@ +<!-- 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>.) + <p> + <em>Note regarding fixed-size datasets:</em><br> + Chunk size cannot exceed the size of a fixed-size dataset. + For example, a dataset consisting of a 5x4 fixed-size array cannot be + defined with 10x10 chunks. + <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>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> + diff --git a/doc/html/H5P/H5Pset_compression.htm b/doc/html/H5P/H5Pset_compression.htm new file mode 100644 index 0000000..407f4fd --- /dev/null +++ b/doc/html/H5P/H5Pset_compression.htm @@ -0,0 +1,64 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Pset_compression" --> + +<!-- + +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Property-SetCompression">H5Pset_compression</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Pset_compression</code>(<em>hid_t</em> <code>plist</code>, + <em>H5Z_method_t</em> <code>method</code>, + <em>unsigned int</em> <code>flags</code>, + <em>size_t</em> <code>cd_size</code>, + <em>const void</em> <code>*client_data</code> + ) + <dt><strong>Purpose:</strong> + <dd>Sets compression method. + <dt><strong>Description:</strong> + <dd><code>H5Pset_compression</code> sets the compression method + in a dataset creation property list. This is a catch-all + function for defining compression methods + and is intended to be called from a wrapper such as + <code>H5Pset_deflate</code>. The dataset creation property + list <em>plist</em> is adjusted to use the specified + compression method. The <em>flags</em> is an 8-bit vector + which is stored in the file as part of the compression message + and passed to the compress and uncompress functions. The + <em>client_data</em> is a byte array of length + <em>cd_size</em> which is copied to the file and passed to the + compress and uncompress methods. + <p> + The FLAGS, CD_SIZE, and CLIENT_DATA are copied to the + property list and eventually to the file and passed to the + compression functions. + <p> + See <a href="Datasets.html"><cite>The Dataset Interface (H5D)</cite></a> + in the <cite>HDF5 User's Guide</cite> for further information + regarding data compression. + <dt><strong>Parameters:</strong> + <dl> + <dt><em>hid_t</em> <code>plist</code> + <dd>IN: Identifier for the dataset creation property list. + <dt><em>H5Z_method_t</em> <code>method</code> + <dd>IN: Compression method, an integer from 16 to 225. + <dt><em>unsigned int</em> <code>flags</code> + <dd>IN: Compression flags. + <dt><em>size_t</em> <code>cd_size</code> + <dd>IN: Size of the byte array <code>client_data</code>. + <dt><em>const void</em> <code>*client_data</code> + <dd>IN: Client data byte array passed to the compression method. + </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" + target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> +</dl> + +--> + + diff --git a/doc/html/H5P/H5Pset_deflate.htm b/doc/html/H5P/H5Pset_deflate.htm new file mode 100644 index 0000000..78adfc8 --- /dev/null +++ b/doc/html/H5P/H5Pset_deflate.htm @@ -0,0 +1,54 @@ +<!-- 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>uint</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. + <p> + Lower compression levels are faster but result in less compression. + <p> + 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>uint</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> + diff --git a/doc/html/H5P/H5Pset_driver.htm b/doc/html/H5P/H5Pset_driver.htm new file mode 100644 index 0000000..b752c0c --- /dev/null +++ b/doc/html/H5P/H5Pset_driver.htm @@ -0,0 +1,50 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Pset_driver" --> + +<!-- ********** 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> + +--> + diff --git a/doc/html/H5P/H5Pset_dxpl_mpio.htm b/doc/html/H5P/H5Pset_dxpl_mpio.htm new file mode 100644 index 0000000..fd84abc --- /dev/null +++ b/doc/html/H5P/H5Pset_dxpl_mpio.htm @@ -0,0 +1,74 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_dxpl_multi.htm b/doc/html/H5P/H5Pset_dxpl_multi.htm new file mode 100644 index 0000000..b417a42 --- /dev/null +++ b/doc/html/H5P/H5Pset_dxpl_multi.htm @@ -0,0 +1,59 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_edc_check.htm b/doc/html/H5P/H5Pset_edc_check.htm new file mode 100644 index 0000000..b4dc68d --- /dev/null +++ b/doc/html/H5P/H5Pset_edc_check.htm @@ -0,0 +1,83 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_external.htm b/doc/html/H5P/H5Pset_external.htm new file mode 100644 index 0000000..5aad691 --- /dev/null +++ b/doc/html/H5P/H5Pset_external.htm @@ -0,0 +1,88 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pset_family_offset.htm b/doc/html/H5P/H5Pset_family_offset.htm new file mode 100644 index 0000000..4354df1 --- /dev/null +++ b/doc/html/H5P/H5Pset_family_offset.htm @@ -0,0 +1,75 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_fapl_core.htm b/doc/html/H5P/H5Pset_fapl_core.htm new file mode 100644 index 0000000..3710836 --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_core.htm @@ -0,0 +1,100 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> </td> + <td valign="top"> </td> + <td valign="top"> + The <code>backing_store</code> parameter + has changed from <em>INTEGER</em> to + <em>LOGICAL</em> to better match the C API.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top">Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> </td> + </tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_fapl_family.htm b/doc/html/H5P/H5Pset_fapl_family.htm new file mode 100644 index 0000000..167204f --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_family.htm @@ -0,0 +1,91 @@ +<!-- 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. Because + this size is not saved in the file, it is used both for creating a new + file, for re-opening and for extending an existing file. + <p> + When re-opening an existing family file, if there is only one member file, + the library allows this <code>memb_size</code> to be bigger than or equal to + the size of existing member file; if there are more than one member file, + the library sets the <code>memb_size</code> to be equal to the size of first + existing member file internally. In either case, no <code>memb_size</code> + smaller than the size of existing member file is allowed. If this happens, + the library will adjust the <code>memb_size</code> to the first existing + member file size internally instead of returning error. + <p> + For example, if the total file size is 1MB and the only existing member + file size is 1MB, <code>memb_size</code> can be bigger than or equal to + 1MB. If the first member file size is 0.6MB and the second one is 0.4MB, + the library will set <code>memb_size</code> to 0.6MB internally no matter + what value the user passes in. + <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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5P/H5Pset_fapl_log.htm b/doc/html/H5P/H5Pset_fapl_log.htm new file mode 100644 index 0000000..2d3c6a4 --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_log.htm @@ -0,0 +1,301 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The <code>verbosity</code> parameter + has been removed.<br> + Two new parameters have been added: + <code>flags</code> of type <em>unsigned</em> + and <code>buf_size</code> of type + <em>size_t</em>. + </td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top">Function introduced in this release.</td> + </tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_fapl_mpio.htm b/doc/html/H5P/H5Pset_fapl_mpio.htm new file mode 100644 index 0000000..4aaff02 --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_mpio.htm @@ -0,0 +1,98 @@ +<!-- 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> + ) + <p> + <dt><strong>Purpose:</strong> + <dd>Stores MPI IO communicator information to the file access property list. + <p> + <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 a 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 makes a duplicate of the communicator, + so modifications to <code>comm</code> after this function call + returns have no effect on the file access 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 makes a duplicate copy of the Info object, + so modifications to the Info object after this function call + returns will have no effect on the file access property list. + <p> + If the file access property list already contains previously-set + comm and Info values, those values will be replaced. + <p> + <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> + <p> + <dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful. + Otherwise returns a negative value. + <p> + <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> + + <p> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Change</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> + Handling of the MPI Communicator + and Info objects changed at this release. A copy + of each of these objects is now stored in the + property list instead of pointers to each + object.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + C function introduced in this release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5P/H5Pset_fapl_mpiposix.htm b/doc/html/H5P/H5Pset_fapl_mpiposix.htm new file mode 100644 index 0000000..759c1b4 --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_mpiposix.htm @@ -0,0 +1,115 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Pset_fapl_mpiposix" --> +<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>, + <em>hbool_t</em> <code>use_gpfs_hints</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 + file access property list. + Users should not modify the communicator while it is defined + in a property list. + <p> + <code>use_gpfs_hints</code> specifies whether to attempt to use + GPFS hints when accessing this file. + A value of <code>TRUE</code> (or <code>1</code>) indicates that + the hints should be used, if possible. + A value of <code>FALSE</code> (or <code>0</code>) indicates that + the hints should not be used. + <p> + Available GPFS hints are known to the HFD5 Library + and are not user configurable. + They may be used <i>only</i> with GPFS file systems + and may improve file access for some applications; + the user of a GPFS system is encouraged to experiment + by running an application with and without this parameter set. + <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>hbool_t</em> <code>use_gpfs_hints </code></td> + <td valign="top">IN: Use of GPFS hints.</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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top"> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.1</td> + <td valign="top"> </td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this release. + </td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + <code>use_gpfs_hints</code> parameter added.</td> + <td valign="top"> </td> + <td valign="top"> </td> + </tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release. + </td> + <td valign="top"> </td> + <td valign="top"> </td> + </tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5P/H5Pset_fapl_multi.htm b/doc/html/H5P/H5Pset_fapl_multi.htm new file mode 100644 index 0000000..3f9495a --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_multi.htm @@ -0,0 +1,192 @@ +<!-- 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</pre> +<!-- NEW PAGE --> +<pre> + 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.3</td> + <td valign="top"> + <code>memb_name</code> parameter type changed to + <em>const char* const*</em>.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top">Function introduced in this release.</td> + </tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_fapl_sec2.htm b/doc/html/H5P/H5Pset_fapl_sec2.htm new file mode 100644 index 0000000..0a937f0 --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_sec2.htm @@ -0,0 +1,54 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_fapl_split.htm b/doc/html/H5P/H5Pset_fapl_split.htm new file mode 100644 index 0000000..db4e201 --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_split.htm @@ -0,0 +1,133 @@ +<!-- 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);</pre> +<!-- NEW PAGE --> +<pre> +/* 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5P/H5Pset_fapl_stdio.htm b/doc/html/H5P/H5Pset_fapl_stdio.htm new file mode 100644 index 0000000..d89c5ef --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_stdio.htm @@ -0,0 +1,53 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> diff --git a/doc/html/H5P/H5Pset_fapl_stream.htm b/doc/html/H5P/H5Pset_fapl_stream.htm new file mode 100644 index 0000000..29d5638 --- /dev/null +++ b/doc/html/H5P/H5Pset_fapl_stream.htm @@ -0,0 +1,109 @@ + +<!-- 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"> + --> +<!-- + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + <tr> + <td valign="top">1.6.7 and 1.8.0</td> + <td valign="top"> + Function removed in these releases.</td></tr> + </table></ul> +</dl> +--> + diff --git a/doc/html/H5P/H5Pset_fclose_degree.htm b/doc/html/H5P/H5Pset_fclose_degree.htm new file mode 100644 index 0000000..c48a473 --- /dev/null +++ b/doc/html/H5P/H5Pset_fclose_degree.htm @@ -0,0 +1,102 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_fill_time.htm b/doc/html/H5P/H5Pset_fill_time.htm new file mode 100644 index 0000000..2e08510 --- /dev/null +++ b/doc/html/H5P/H5Pset_fill_time.htm @@ -0,0 +1,91 @@ +<!-- NEW PAGE --> +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_fill_value.htm b/doc/html/H5P/H5Pset_fill_value.htm new file mode 100644 index 0000000..1db1cc0 --- /dev/null +++ b/doc/html/H5P/H5Pset_fill_value.htm @@ -0,0 +1,93 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pset_filter.htm b/doc/html/H5P/H5Pset_filter.htm new file mode 100644 index 0000000..e9de058 --- /dev/null +++ b/doc/html/H5P/H5Pset_filter.htm @@ -0,0 +1,161 @@ +<!-- 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> + ) + <p> + <dt><strong>Purpose:</strong> + <dd>Adds a filter to the filter pipeline. + <p> + <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>. + +<!-- NEW PAGE --> + <p> + <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. + <p> + <dt><strong>See Also:</strong> + <dd>For a discussion of optional versus required filter behavior, see + “<a href="#Property-FilterBehavior">Filter Behavior in + HDF5</a>.” + <p> + <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> + <p> + <dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. + <p> + <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> + + <p> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_filter_callback.htm b/doc/html/H5P/H5Pset_filter_callback.htm new file mode 100644 index 0000000..81e5405 --- /dev/null +++ b/doc/html/H5P/H5Pset_filter_callback.htm @@ -0,0 +1,82 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_fletcher32.htm b/doc/html/H5P/H5Pset_fletcher32.htm new file mode 100644 index 0000000..06b5626 --- /dev/null +++ b/doc/html/H5P/H5Pset_fletcher32.htm @@ -0,0 +1,56 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_gc_references.htm b/doc/html/H5P/H5Pset_gc_references.htm new file mode 100644 index 0000000..6e81875 --- /dev/null +++ b/doc/html/H5P/H5Pset_gc_references.htm @@ -0,0 +1,60 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pset_hyper_cache.htm b/doc/html/H5P/H5Pset_hyper_cache.htm new file mode 100644 index 0000000..a77ee26 --- /dev/null +++ b/doc/html/H5P/H5Pset_hyper_cache.htm @@ -0,0 +1,83 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Pset_hyper_cache" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Property-SetHyperCache">H5Pset_hyper_cache</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Pset_hyper_cache</code>(<em>hid_t</em> <code>plist</code>, + <em>unsigned</em> <code>cache</code>, + <em>unsigned</em> <code>limit</code> + ) + <dt><strong>Purpose:</strong> + <dd>Indicates whether to cache hyperslab blocks during I/O. + <dt><strong>Description:</strong> + <dd>[<strong>NOTE:</strong> + <span class="1_4_compat"> + This function is deprecated in HDF5 Release 1.6 + and will eventually be removed from the HDF5 distribution. + It is provided in this release only to enable backward compatibility + with HDF5 Releases 1.4.<i>x</i> + and is enabled only if the HDF5 library is configured + with the flag <code>H5_WANT_H5_V1_4_COMPAT</code>; + the function is not enabled in the binaries distributed by NCSA. + </span>] + <p> + Given a dataset transfer property list, <code>H5Pset_hyper_cache</code> + indicates whether to cache hyperslab blocks during I/O, + a process which can significantly increase I/O speeds. + <p> + When working with hyperslab selections, it is possible to + significantly speed up I/O operations by retrieving an + entire hyperslab from the file in one operation and + caching it in memory. + The <code>cache</code> parameter specifies whether to turn + caching on for hyperslab I/O operations. + If <code>cache</code> is set to <code>1</code>, + caching is turned on; + if set to <code>0</code>, caching is turned off. + <p> + The parameter <code>limit</code> sets the maximum size of the + hyperslab block to cache. If a block is smaller than that limit, + it may still not be cached if no memory is available. + Setting <code>limit</code> to <code>0</code> (zero) indicates + no limitation on the size of block to attempt to cache. + <p> + The default is to cache blocks with no limit on block size + for serial I/O and to not cache blocks for parallel I/O. + <dt><strong>Parameters:</strong> + <dl> + <dt><em>hid_t</em> <code>plist</code> + <dd>IN: Dataset transfer property list identifier. + <dt><em>unsigned</em> <code>cache</code> + <dd>IN: A flag indicating whether caching is to be + set to on (<code>1</code>) or off (<code>0</code>). + <dt><em>unsigned</em> <code>limit</code> + <dd>IN: Maximum size of the hyperslab block to cache. + <code>0</code> (zero) indicates no limit. + </dl> + <dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. + <dt><strong>Fortran90 Interface:</strong> h5pset_hyper_cache_f + <dd> + <pre> +SUBROUTINE h5pset_hyper_cache_f(prp_id, cache, limit, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + INTEGER, INTENT(IN) :: cache ! + INTEGER, INTENT(IN) :: limit ! Maximum size of the hyperslab + ! block to cache + ! 0 (zero) indicates no limit + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5pset_hyper_cache_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5P/H5Pset_hyper_vector_size.htm b/doc/html/H5P/H5Pset_hyper_vector_size.htm new file mode 100644 index 0000000..4e1a8b3 --- /dev/null +++ b/doc/html/H5P/H5Pset_hyper_vector_size.htm @@ -0,0 +1,74 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_istore_k.htm b/doc/html/H5P/H5Pset_istore_k.htm new file mode 100644 index 0000000..ef3465b --- /dev/null +++ b/doc/html/H5P/H5Pset_istore_k.htm @@ -0,0 +1,66 @@ +<!-- 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"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>ik</code> parameter type changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_layout.htm b/doc/html/H5P/H5Pset_layout.htm new file mode 100644 index 0000000..e0fc14e --- /dev/null +++ b/doc/html/H5P/H5Pset_layout.htm @@ -0,0 +1,71 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pset_meta_block_size.htm b/doc/html/H5P/H5Pset_meta_block_size.htm new file mode 100644 index 0000000..f898287 --- /dev/null +++ b/doc/html/H5P/H5Pset_meta_block_size.htm @@ -0,0 +1,78 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_multi_type.htm b/doc/html/H5P/H5Pset_multi_type.htm new file mode 100644 index 0000000..8b41fc0 --- /dev/null +++ b/doc/html/H5P/H5Pset_multi_type.htm @@ -0,0 +1,101 @@ +<!-- 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 type of data property for <code>MULTI</code> driver. + <dt><strong>Description:</strong> + <dd><code>H5Pset_multi_type</code> sets the type of data property in the + file access 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_SUPER</code> + </td><td> + Super block data + </td></tr> + <tr valign=top align=left><td> </td><td> + <code>H5FD_MEM_BTREE</code> + </td><td> + B-tree data + </td></tr> + <tr valign=top align=left><td> </td><td> + <code>H5FD_MEM_DRAW</code> + </td><td> + Dataset raw data + </td></tr> + <tr valign=top align=left><td> </td><td> + <code>H5FD_MEM_GHEAP</code> + </td><td> + Global heap data + </td></tr> + <tr valign=top align=left><td> </td><td> + <code>H5FD_MEM_LHEAP</code> + </td><td> + Local heap data + </td></tr> + <tr valign=top align=left><td> </td><td> + <code>H5FD_MEM_OHDR</code> + </td><td> + Object header data + </td></tr> + </table> + <p> + Use of this function is appropriate only 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 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_preserve.htm b/doc/html/H5P/H5Pset_preserve.htm new file mode 100644 index 0000000..942d122 --- /dev/null +++ b/doc/html/H5P/H5Pset_preserve.htm @@ -0,0 +1,69 @@ +<!-- 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 datatypes 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The <code>flag</code> parameter + has changed from <em>INTEGER</em> to + <em>LOGICAL</em> to better match the C API.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_shuffle.htm b/doc/html/H5P/H5Pset_shuffle.htm new file mode 100644 index 0000000..d06760d --- /dev/null +++ b/doc/html/H5P/H5Pset_shuffle.htm @@ -0,0 +1,76 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_sieve_buf_size.htm b/doc/html/H5P/H5Pset_sieve_buf_size.htm new file mode 100644 index 0000000..c6322e7 --- /dev/null +++ b/doc/html/H5P/H5Pset_sieve_buf_size.htm @@ -0,0 +1,77 @@ +<!-- 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"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The <code>size</code> parameter has + changed from type <em>hsize_t</em> to + <em>size_t</em>.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top">Function introduced in this release.</td> + </tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_sizes.htm b/doc/html/H5P/H5Pset_sizes.htm new file mode 100644 index 0000000..7f62d6d --- /dev/null +++ b/doc/html/H5P/H5Pset_sizes.htm @@ -0,0 +1,60 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pset_small_data_block_size.htm b/doc/html/H5P/H5Pset_small_data_block_size.htm new file mode 100644 index 0000000..6935c84 --- /dev/null +++ b/doc/html/H5P/H5Pset_small_data_block_size.htm @@ -0,0 +1,85 @@ +<!-- 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"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.4</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_sym_k.htm b/doc/html/H5P/H5Pset_sym_k.htm new file mode 100644 index 0000000..ff00312 --- /dev/null +++ b/doc/html/H5P/H5Pset_sym_k.htm @@ -0,0 +1,86 @@ +<!-- 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: File creation property list + identifier.</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"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>ik</code> parameter type changed to + <em>unsigned</em>.</td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The <code>ik</code> parameter has + changed from type <em>int</em> to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5P/H5Pset_szip.htm b/doc/html/H5P/H5Pset_szip.htm new file mode 100644 index 0000000..e5ccab1 --- /dev/null +++ b/doc/html/H5P/H5Pset_szip.htm @@ -0,0 +1,390 @@ +<!-- 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>) + <p> + <dt><strong>Purpose:</strong> + <dd>Sets up use of the SZIP compression filter. + <p> + <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://www.hdfgroup.org/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 in a dataset creation property list used + to create a dataset containing a non-allowed datatype, the call + to <a href="RM_H5D.html#Dataset-Create"><code>H5Dcreate</code></a> + will fail; + the conflict can be 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 applies the EC method as above. + </ul> + Other factors may affect results, but the above criteria + provide 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 can be 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> + SZIP compression is an optional HDF5 filter. + See the note below for information regarding its designed behavior, + particularly under circumstances where SZIP is not available + to an application. + <p> + <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> + <p> + <dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful; + otherwise returns a negative value. + <p> +<!-- + <dt><strong>Notes on Filter Behavior in HDF5:</strong> + <dd>SZIP is an optional filter in HDF5 and can therefore be set for + HDF5 datasets even though it is not available at the moment. + SZIP compression can then be applied to those datasets when the file + containing the dataset is moved to a system on which is available. + <p> + Consider a situation where one is creating files that will normally + be used only on systems where SZIP compression (encoding and decoding) + is routinely available. + One can create those files on system A, which lacks SZIP, + create chunked datasets in the files with SZIP defined in the + dataset creation property list, and even write data to those datasets. + The dataset object header will indicate that the SZIP filter has + been associated with this dataset. + But since system A does not have SZIP, dataset chunks will + be written without SZIP compression. + <p> + HDF5 has a mechanism for determining whether chunks are actually + written with filters specified in the object header, so until the file + is moved from system A, system A will be able to read the data. + Once the file is moved to system B, where SZIP encoding is available, + HDF5 will use SZIP to compress any 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. + <p> + The following table summarizes this behavior. + <div align=center> + <table border=0 width=80%> + <tr align=left valign=top> + <td width=20%> </td> + <td width=25%><b>SZIP<br>not available</b> + <td width=25%><b>SZIP available<br>with encode</b> + <td width=25%><b>SZIP available<br>decode only</b> + </tr><tr align=left valign=top> + <td><b><code>H5Pset_szip</code> </b></td> + <td>Will succeed.<br> </td> + <td>Will succeed.</td> + <td>Will succeed.</td> + </tr><tr align=left valign=top> + <td><b><code>H5Dwrite</code><br>with SZIP set</b></td> + <td>Will succeed;<br>data will not be compressed.</td> + <td>Will succeed;<br>data will be compressed.</td> + <td>Will succeed;<br>data will not be compressed.</td> + </tr><tr align=left valign=top> + <td><b><code>H5Dread</code><br>with SZIP set</b></td> + <td>Will succeed if data has not actually been compressed.</td> + <td>Will succeed.</td> + <td>Will succeed.</td> + </tr> + </table> + </div> + <p> + 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 a optional filter is unavailable. + <p> +--> + <dt><strong>Notes for Users Familiar with SZIP in Other Contexts:</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> + +<!-- NEW PAGE --> + <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. + <p> + <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>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> + +<!-- + <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> + diff --git a/doc/html/H5P/H5Pset_userblock.htm b/doc/html/H5P/H5Pset_userblock.htm new file mode 100644 index 0000000..e208c5c --- /dev/null +++ b/doc/html/H5P/H5Pset_userblock.htm @@ -0,0 +1,48 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Pset_vlen_mem_manager.htm b/doc/html/H5P/H5Pset_vlen_mem_manager.htm new file mode 100644 index 0000000..4f8f9bb --- /dev/null +++ b/doc/html/H5P/H5Pset_vlen_mem_manager.htm @@ -0,0 +1,99 @@ +<!-- 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> + diff --git a/doc/html/H5P/H5Punregister.htm b/doc/html/H5P/H5Punregister.htm new file mode 100644 index 0000000..6cae5b1 --- /dev/null +++ b/doc/html/H5P/H5Punregister.htm @@ -0,0 +1,59 @@ +<!-- 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> + + diff --git a/doc/html/H5R/H5Rcreate.htm b/doc/html/H5R/H5Rcreate.htm new file mode 100644 index 0000000..ec9c0b6 --- /dev/null +++ b/doc/html/H5R/H5Rcreate.htm @@ -0,0 +1,105 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Rcreate" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Reference-Create">H5Rcreate</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Rcreate</code>(<em>void *</em><code>ref</code>, + <em>hid_t</em> <code>loc_id</code>, + <em>const char *</em><code>name</code>, + <em>H5R_type_t</em> <code>ref_type</code>, + <em>hid_t</em> <code>space_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates a reference. +<dt><strong>Description:</strong> + <dd><code>H5Rcreate</code> creates the reference, <code>ref</code>, + of the type specified in <code>ref_type</code>, pointing to + the object <code>name</code> located at <code>loc_id</code>. + <p> + The HDF5 library maps the <em>void</em> type specified above + for <code>ref</code> to the type specified in <code>ref_type</code>, + which will be one of those appearing in the first column of + the following table. + The second column of the table lists the HDF5 constant associated + with each reference type. + <dir> + <table border=0> + <tr><td><em>hdset_reg_ref_t</em> </td> + <td><code>H5R_DATASET_REGION</code> </td> + <td>Dataset region reference</td></tr> + <tr><td><em>hobj_ref_t</em></td> + <td><code>H5R_OBJECT</code></td> + <td>Object reference</td></tr> + </table> + </dir> + <p> + The parameters <code>loc_id</code> and <code>name</code> are + used to locate the object. + <p> + The parameter <code>space_id</code> identifies the dataset region + that a dataset region reference points to. + This parameter is used only with dataset region references + and should be set to <code>-1</code> if the reference is an + object reference, <code>H5R_OBJECT</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>void *</em><code>ref</code></td> + <td valign="top">OUT: Reference created by the function + call.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: Location identifier used to locate the + object being pointed to.</td></tr> + <tr> + <td valign="top"><em>const char *</em><code>name</code></td> + <td valign="top">IN: Name of object at location + <code>loc_id</code>.</td></tr> + <tr> + <td valign="top"><em>H5R_type_t</em> <code>ref_type </code></td> + <td valign="top">IN: Type of reference.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">IN: Dataspace identifier with selection. + Used only for dataset region references; + pass as <code>-1</code> if reference is an object reference, + i.e., of type <code>H5R_OBJECT</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> h5rcreate_f + + <p><strong>To create an object reference</strong> + <dd> + <pre> +SUBROUTINE h5rcreate_f(loc_id, name, ref, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object at location + ! specified by loc_id identifier + TYPE(hobj_ref_t_f), INTENT(OUT) :: ref ! Object reference + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5rcreate_f + </pre></dt> + +<!-- NEW PAGE --> +<dt><strong>To create a region reference</strong> + <dd> + <pre> +SUBROUTINE h5rcreate_f(loc_id, name, space_id, ref, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset at location + ! specified by loc_id identifier + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataset's dataspace identifier + TYPE(hdset_reg_ref_t_f), INTENT(OUT) :: ref ! Dataset region reference + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5rcreate_f + </pre> + +</dl> + diff --git a/doc/html/H5R/H5Rdereference.htm b/doc/html/H5R/H5Rdereference.htm new file mode 100644 index 0000000..5f2c712 --- /dev/null +++ b/doc/html/H5R/H5Rdereference.htm @@ -0,0 +1,85 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Rdereference" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Reference-Dereference">H5Rdereference</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Rdereference</code>(<em>hid_t</em> <code>obj_id</code>, + <em>H5R_type_t</em> <code>ref_type</code>, + <em>void *</em><code>ref</code> + ) +<dt><strong>Purpose:</strong> + <dd>Opens the HDF5 object referenced. +<dt><strong>Description:</strong> + <dd>Given a reference, <code>ref</code>, to an object + or a region in an object, <code>H5Rdereference</code> + opens that object and returns an identifier. + + <p>The parameter <code>obj_id</code> must be a valid identifier + for an object in the HDF5 file containing the referenced object, + including the file identifier. + + <p>The parameter <code>ref_type</code> specifies the reference type + of <code>ref</code>. + <code>ref_type</code> may contain either of the following values: + <ul> + <li><code>H5R_OBJECT</code> (<code>0</code>) + <li><code>H5R_DATASET_REGION</code> (<code>1</code>) + </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>obj_id</code></td> + <td valign="top">IN: Valid identifier for the file + containing the referenced object or any object in that file.</td></tr> + <tr> + <td valign="top"><em>H5R_type_t</em> <code>ref_type </code></td> + <td valign="top">IN: The reference type of <code>ref</code>.</td></tr> + <tr> + <td valign="top"><em>void *</em><code>ref</code></td> + <td valign="top">IN: Reference to open.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns identifier of referenced object if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5rdereference_f + + <p><strong>To dereference an object</strong> + <dd> + <pre> +SUBROUTINE h5rdereference_f(obj_id, ref, ref_obj_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Valid identifier + ! in file + TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference + INTEGER(HID_T), INTENT(OUT) :: ref_obj_id ! Identifier of + ! referenced object + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5rdereference_f + </pre> + +<dt><strong>To dereference a region</strong> + <dd> + <pre> +SUBROUTINE h5rdereference_f(obj_id, ref, ref_obj_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: obj_id ! Valid identifier + ! in file + TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Object reference + INTEGER(HID_T), INTENT(OUT) :: ref_obj_id ! Identifier of + ! referenced object + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5rdereference_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + + diff --git a/doc/html/H5R/H5Rget_obj_type.htm b/doc/html/H5R/H5Rget_obj_type.htm new file mode 100644 index 0000000..2a49b99 --- /dev/null +++ b/doc/html/H5R/H5Rget_obj_type.htm @@ -0,0 +1,147 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Rget_obj_type" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Reference-GetObjType">H5Rget_obj_type</a> +<dt><strong>Signature:</strong> + <dd><em>H5G_obj_t</em> <code>H5Rget_obj_type</code>( + <em>hid_t</em> <code>loc_id</code>, + <em>H5R_type_t</em> <code>ref_type</code>, + <em>void *</em><code>ref</code> + ) +<p> +<dt><strong>Purpose:</strong> + <dd>Retrieves the type of object that an object reference points to. +<p> +<dt><strong>Description:</strong> + <dd>Given an object reference, <code>ref</code>, + <code>H5Rget_obj_type</code> + returns the type of the referenced object. + <p> + A <i>reference type</i> is the type of reference, either + an object reference or a dataset region reference. + An <i>object reference</i> points to an HDF5 object while + a <i>dataset region reference</i> points to a defined region within + a dataset. + <p> + The <i>referenced object</i> is the object the reference points to. + The <i>referenced object type</i>, + or the type of the referenced object, + is the type of the object that the reference points to. + <p> + The location identifier, <code>loc_id</code>, is the identifier + for either the dataset containing the object reference or + the group containing that dataset. + <p> + Valid reference types, to pass in as <code>ref_type</code>, + include the following: + <table border="0"> + <tr align=left valign=top><td> </td><td> + <code>H5R_OBJECT</code></td><td> + Object reference + </td></tr> + <tr align=left valign=top><td> </td><td> + <code>H5R_DATASET_REGION </code></td><td> + Dataset region reference + </td></tr> + </table> + <p> + If the application does not already know the object reference type, + that can be determined with three preliminary calls: + <ul> + <li>Call <code>H5Dget_type</code> on the dataset + containing the reference to get a datatype identifier + for the dataset’s datatype. + <li>Using that datatype identifier, + <code>H5Tget_class</code> returns a datatype class. + <li>If the datatype class is <code>H5T_REFERENCE</code>, + <code>H5Tequal</code> can then be used to determine whether + the reference’s datatype is + <code>H5T_STD_REF_OBJ</code> or + <code>H5T_STD_REF_DSETREG</code>: + <ul> + <li>If the datatype is <code>H5T_STD_REF_OBJ</code>, + the reference object type is <code>H5R_OBJECT</code>. + <li>If the datatype is <code>H5T_STD_REF_DSETREG</code>, + the reference object type is + <code>H5R_DATASET_REGION</code>. + </ul> + </ul> + <p> + When the function completes successfully, it returns one of + the following valid object type values + (defined in <code>H5Gpublic.h</code>): + <table border="0"> + <tr align=left valign=top><td> </td><td> + <code>H5G_LINK</code></td><td> + Object is a symbolic link. + </td></tr> + <tr align=left valign=top><td> </td><td> + <code>H5G_GROUP</code></td><td> + Object is a group. + </td></tr> + <tr align=left valign=top><td> </td><td> + <code>H5G_DATASET </code></td><td> + Object is a dataset. + </td></tr> + <tr align=left valign=top><td> </td><td> + <code>H5G_TYPE</code></td><td> + Object is a named datatype. + </td></tr> + </table> +<p> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: The dataset containing the reference object + or the group containing that dataset.</td></tr> + <tr> + <td valign="top"><em>H5R_type_t</em> <code>ref_type </code></td> + <td valign="top">IN: Type of reference to query.</td></tr> + <tr> + <td valign="top"><em>void *</em><code>ref</code></td> + <td valign="top">IN: Reference to query.</td></tr> + </table></ul> +<p> +<!-- NEW PAGE --> +<dt><strong>Returns:</strong> + <dd>Returns a valid object type if successful; + otherwise returns <code>H5G_UNKNOWN</code>. +<p> +<dt><strong>Fortran90 Interface:</strong> h5rget_object_type_f + <dd> + <pre> +SUBROUTINE h5rget_object_type_f(dset_id, ref, obj_type, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference + INTEGER, INTENT(OUT) :: obj_type ! Object type + ! H5G_UNKNOWN_F (-1) + ! H5G_LINK_F 0 + ! H5G_GROUP_F 1 + ! H5G_DATASET_F 2 + ! H5G_TYPE_F 3 + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + +END SUBROUTINE h5rget_object_type_f + </pre> + +<p> +<dt><strong>History:</strong> + <dd><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </td></tr> + </table> +</dl> + + diff --git a/doc/html/H5R/H5Rget_object_type.htm b/doc/html/H5R/H5Rget_object_type.htm new file mode 100644 index 0000000..8a89a19 --- /dev/null +++ b/doc/html/H5R/H5Rget_object_type.htm @@ -0,0 +1,59 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Rget_object_type" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Reference-GetObjectType">H5Rget_object_type</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Rget_object_type</code>(<em>hid_t</em> <code>id</code>, + <em>void *</em><code>ref</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the type of object that an object reference points to. +<dt><strong>Description:</strong> + <dd>[<strong>NOTE:</strong> + <span class="1_4_compat"> + This function is provided only to enable backward compatibility + with HDF5 Releases 1.4.<i>x</i>. + This function is enabled only if the HDF5 library is configured + with the flag <code>H5_WANT_H5_V1_4_COMPAT</code> and is not + enabled in the binaries distributed by NCSA. + This function has been replaced in Release 1.6 by the function + <a href="#Reference-GetObjType"><code>H5Rget_obj_type</code></a> + and will eventually be deleted from the HDF5 distribution.</span>] + <p> + </p>Given a reference to an object <code>ref</code>, + <code>H5Rget_object_type</code> returns the + type of the object pointed to. +<dt><strong>Parameters:</strong> + <dl> + <dt><em>hid_t</em> <code>id</code>, + <dd>IN: The dataset containing the reference object or + the location identifier of the object that the dataset + is located within. + <dt><em>void *</em><code>ref</code> + <dd>IN: Reference to query. + </dl> +<dt><strong>Returns:</strong> + <dd>Returns an object type as defined in <code>H5Gpublic.h</code>; + otherwise returns <code>H5G_UNKNOWN</code>. + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5R/H5Rget_region.htm b/doc/html/H5R/H5Rget_region.htm new file mode 100644 index 0000000..dd63e04 --- /dev/null +++ b/doc/html/H5R/H5Rget_region.htm @@ -0,0 +1,60 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Rget_region" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Reference-GetRegion">H5Rget_region</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Rget_region</code>(<em>hid_t</em> <code>dataset</code>, + <em>H5R_type_t</em> <code>ref_type</code>, + <em>void *</em><code>ref</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves a dataspace with the specified region selected. +<dt><strong>Description:</strong> + <dd>Given a reference to an object <code>ref</code>, + <code>H5Rget_region</code> creates a copy of the dataspace + of the dataset pointed to and defines a selection in the copy + which is the region pointed to. + <p> + The parameter <code>ref_type</code> specifies the reference type + of <code>ref</code>. + <code>ref_type</code> may contain the following value: + <ul> + <li><code>H5R_DATASET_REGION</code> (<code>1</code>) + </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dataset</code></td> + <td valign="top">IN: Dataset containing reference object.</td></tr> + <tr> + <td valign="top"><em>H5R_type_t</em> <code>ref_type </code></td> + <td valign="top">IN: The reference type of <code>ref</code>.</td></tr> + <tr> + <td valign="top"><em>void *</em><code>ref</code></td> + <td valign="top">IN: Reference to open.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a valid identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5rget_region_f + <dd> + <pre> +SUBROUTINE h5rget_region_f(dset_id, ref, space_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Dataset region reference + INTEGER(HID_T), INTENT(OUT) :: space_id ! Space identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5rget_region_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sclose.htm b/doc/html/H5S/H5Sclose.htm new file mode 100644 index 0000000..2b1ea0f --- /dev/null +++ b/doc/html/H5S/H5Sclose.htm @@ -0,0 +1,43 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sclose" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-Close">H5Sclose</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Sclose</code>(<em>hid_t </em><code>space_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Releases and terminates access to a dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sclose</code> releases a dataspace. + Further access through the dataspace identifier is illegal. + Failure to release a dataspace with this call will + result in resource leaks. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">Identifier of dataspace to release.</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> h5sclose_f + <dd> + <pre> +SUBROUTINE h5sclose_f(space_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sclose_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Scopy.htm b/doc/html/H5S/H5Scopy.htm new file mode 100644 index 0000000..2c57c0b --- /dev/null +++ b/doc/html/H5S/H5Scopy.htm @@ -0,0 +1,44 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Scopy" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-Copy">H5Scopy</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Scopy</code>(<em>hid_t </em><code>space_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates an exact copy of a dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Scopy</code> creates a new dataspace which is an exact + copy of the dataspace identified by <code>space_id</code>. + The dataspace identifier returned from this function should be + released with <code>H5Sclose</code> or resource leaks will occur. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">Identifier of dataspace to copy.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a dataspace identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5scopy_f + <dd> + <pre> +SUBROUTINE h5scopy_f(space_id, new_space_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER(HID_T), INTENT(OUT) :: new_space_id ! Identifier of dataspace copy + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5scopy_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Screate.htm b/doc/html/H5S/H5Screate.htm new file mode 100644 index 0000000..82f487a --- /dev/null +++ b/doc/html/H5S/H5Screate.htm @@ -0,0 +1,48 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Screate" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-Create">H5Screate</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Screate</code>(<em>H5S_class_t</em> <code>type</code>) +<dt><strong>Purpose:</strong> + <dd>Creates a new dataspace of a specified type. +<dt><strong>Description:</strong> + <dd><code>H5Screate</code> creates a new dataspace of a particular + <code>type</code>. + The types currently supported are <code>H5S_SCALAR</code> and + <code>H5S_SIMPLE</code>; + others are planned to be added later. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5S_class_t</em> <code>type </code></td> + <td valign="top">The type of dataspace to be created.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a dataspace identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5screate_f + <dd> + <pre> +SUBROUTINE h5screate_f(classtype, space_id, hdferr) + IMPLICIT NONE + INTEGER, INTENT(IN) :: classtype ! The type of the dataspace + ! to be created. Possible values + ! are: + ! H5S_SCALAR_F + ! H5S_SIMPLE_F + INTEGER(HID_T), INTENT(OUT) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5screate_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Screate_simple.htm b/doc/html/H5S/H5Screate_simple.htm new file mode 100644 index 0000000..6cea380 --- /dev/null +++ b/doc/html/H5S/H5Screate_simple.htm @@ -0,0 +1,73 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Screate_simple" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-CreateSimple">H5Screate_simple</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Screate_simple</code>(<em>int</em> <code>rank</code>, + <em>const hsize_t *</em> <code>dims</code>, + <em>const hsize_t *</em> <code>maxdims</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates a new simple dataspace and opens it for access. +<dt><strong>Description:</strong> + + <dd><code>H5Screate_simple</code> creates a new simple dataspace + and opens it for access. + <p> + <code>rank</code> is the number of dimensions used in the dataspace. + <p> + <code>dims</code> is an array specifying the size of each dimension + of the dataset while + <code>maxdims</code> is an array specifying the upper limit on + the size of each dimension. + <code>maxdims</code> may be the null pointer, in which case the + upper limit is the same as <code>dims</code>. + <p> + If an element of <code>maxdims</code> is + <code>H5S_UNLIMITED</code>, (<code>-1</code>), + the maximum size of the corresponding dimension is unlimited. + Otherwise, no element of <code>maxdims</code> should be + smaller than the corresponding element of <code>dims</code>. + <p> + The dataspace identifier returned from this function must be + released with <code>H5Sclose</code> or resource leaks will occur. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>int</em> <code>rank</code></td> + <td valign="top">Number of dimensions of dataspace.</td></tr> + <tr> + <td valign="top"><em>const hsize_t *</em> <code>dims</code></td> + <td valign="top">An array of the size of each dimension.</td></tr> + <tr> + <td valign="top"><em>const hsize_t *</em> <code>maxdims </code></td> + <td valign="top">An array of the maximum size of each dimension.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a dataspace identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5screate_simple_f + <dd> + <pre> +SUBROUTINE h5screate_simple_f(rank, dims, space_id, hdferr, maxdims) + IMPLICIT NONE + INTEGER, INTENT(IN) :: rank ! Number of dataspace dimensions + INTEGER(HSIZE_T), INTENT(IN) :: dims(*) ! Array with the dimension sizes + INTEGER(HID_T), INTENT(OUT) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(HSIZE_T), OPTIONAL, INTENT(IN) :: maxdims(*) + ! Array with the maximum + ! dimension sizes +END SUBROUTINE h5screate_simple_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sextent_copy.htm b/doc/html/H5S/H5Sextent_copy.htm new file mode 100644 index 0000000..ebe6323 --- /dev/null +++ b/doc/html/H5S/H5Sextent_copy.htm @@ -0,0 +1,51 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sextent_copy" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-ExtentCopy">H5Sextent_copy</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Sextent_copy</code>(<em>hid_t</em> <code>dest_space_id</code>, + <em>hid_t</em> <code>source_space_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Copies the extent of a dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sextent_copy</code> copies the extent from + <code>source_space_id</code> to <code>dest_space_id</code>. + This action may change the type of the dataspace. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dest_space_id</code></td> + <td valign="top">IN: The identifier for the dataspace to which + the extent is copied.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>source_space_id </code></td> + <td valign="top">IN: The identifier for the dataspace from which + the extent is copied.</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> h5sextent_copy_f + <dd> + <pre> +SUBROUTINE h5sextent_copy_f(dest_space_id, source_space_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dest_space_id ! Identifier of destination + ! dataspace + INTEGER(HID_T), INTENT(IN) :: source_space_id ! Identifier of source + ! dataspace + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sextent_copy_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sget_select_bounds.htm b/doc/html/H5S/H5Sget_select_bounds.htm new file mode 100644 index 0000000..2cd5c6a --- /dev/null +++ b/doc/html/H5S/H5Sget_select_bounds.htm @@ -0,0 +1,84 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_select_bounds" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectBounds">H5Sget_select_bounds</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Sget_select_bounds</code>(<em>hid_t </em><code>space_id</code>, + <em>hsize_t *</em><code>start</code>, + <em>hsize_t *</em><code>end</code> + ) +<dt><strong>Purpose:</strong> + <dd>Gets the bounding box containing the current selection. +<dt><strong>Description:</strong> + <dd><code>H5Sget_select_bounds</code> retrieves the coordinates of + the bounding box containing the current selection and places + them into user-supplied buffers. + <p> + The <code>start</code> and <code>end</code> buffers must be large + enough to hold the dataspace rank number of coordinates. + <p> + The bounding box exactly contains the selection. + I.e., if a 2-dimensional element selection is currently + defined as containing the points (4,5), (6,8), and (10,7), + then the bounding box will be (4, 5), (10, 8). + <p> + The bounding box calculation includes the current offset of the + selection within the dataspace extent. + <p> + Calling this function on a <code>none</code> selection will + return <code>FAIL</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">IN: Identifier of dataspace to query.</td></tr> + <tr> + <td valign="top"><em>hsize_t *</em><code>start</code></td> + <td valign="top">OUT: Starting coordinates of the bounding box.</td></tr> + <tr> + <td valign="top"><em>hsize_t *</em><code>end</code></td> + <td valign="top">OUT: Ending coordinates of the bounding box, + i.e., the coordinates of the diagonally opposite corner.</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 h5sget_select_bounds_f(space_id, start, end, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id + ! Dataspace identifier + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start + ! Starting coordinates of the bounding box + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: end + ! Ending coordinates of the bounding box, + ! i.e., the coordinates of the diagonally + ! opposite corner + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5sget_select_bounds_f + </pre> + +<!--<dt><strong>Non-C API(s):</strong> + <dd> + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + The <code>start</code> and <code>end</code> + parameters have changed from type <em>hsize_t *</em> + to <em>hssize_t *</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5S/H5Sget_select_elem_npoints.htm b/doc/html/H5S/H5Sget_select_elem_npoints.htm new file mode 100644 index 0000000..1747a43 --- /dev/null +++ b/doc/html/H5S/H5Sget_select_elem_npoints.htm @@ -0,0 +1,42 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_select_elem_npoints" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectElemNPoints">H5Sget_select_elem_npoints</a> +<dt><strong>Signature:</strong> + <dd><em>hssize_t </em><code>H5Sget_select_elem_npoints</code>(<em>hid_t </em><code>space_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Gets the number of element points in the current selection. +<dt><strong>Description:</strong> + <dd><code>H5Sget_select_elem_npoints</code> returns + the number of element points in the current dataspace selection. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">IN: Identifier of dataspace to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of element points in the current dataspace selection if successful. + Otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5sget_select_elem_npoints_f + <dd> + <pre> +SUBROUTINE h5sget_select_elem_npoints_f(space_id, num_points, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: num_points ! Number of points in + ! the current elements selection + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5sget_select_elem_npoints_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sget_select_elem_pointlist.htm b/doc/html/H5S/H5Sget_select_elem_pointlist.htm new file mode 100644 index 0000000..f2df66b --- /dev/null +++ b/doc/html/H5S/H5Sget_select_elem_pointlist.htm @@ -0,0 +1,78 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_select_elem_pointlist" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectElemPointList">H5Sget_select_elem_pointlist</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Sget_select_elem_pointlist</code>(<em>hid_t </em><code>space_id</code>, + <em>hsize_t </em><code>startpoint</code>, + <em>hsize_t </em><code>numpoints</code>, + <em>hsize_t *</em><code>buf</code> + ) +<dt><strong>Purpose:</strong> + <dd>Gets the list of element points currently selected. +<dt><strong>Description:</strong> + <dd><code>H5Sget_select_elem_pointlist</code> returns the list of + element points in the current dataspace selection. Starting with + the <code>startpoint</code>-th point in the list of points, + <code>numpoints</code> points are put into the user's buffer. + If the user's buffer fills up before <code>numpoints</code> + points are inserted, the buffer will contain only as many + points as fit. + <p> + The element point coordinates have the same dimensionality (rank) + as the dataspace they are located within. The list of element points + is formatted as follows: + <br> + <coordinate>, followed by + <br> + the next coordinate, + <br> + etc. + <br> + until all of the selected element points have been listed. + <p> + The points are returned in the order they will be iterated through + when the selection is read/written from/to disk. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">IN: Dataspace identifier of selection to query.</td></tr> + <tr> + <td valign="top"><em>hsize_t </em><code>startpoint </code></td> + <td valign="top">IN: Element point to start with.</td></tr> + <tr> + <td valign="top"><em>hsize_t </em><code>numpoints</code></td> + <td valign="top">IN: Number of element points to get.</td></tr> + <tr> + <td valign="top"><em>hsize_t *</em><code>buf</code></td> + <td valign="top">OUT: List of element points selected.</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> h5sget_select_elem_pointlist_f + <dd> + <pre> +SUBROUTINE h5sget_select_elem_pointlist_f(space_id, startpoint, num_points, + buf, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER(HSIZE_T), INTENT(IN) :: startpoint ! Element point to start with + INTEGER, INTENT(OUT) :: num_points ! Number of points to get in + ! the current element selection + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf + ! List of points selected + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5sget_select_elem_pointlist_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sget_select_hyper_blocklist.htm b/doc/html/H5S/H5Sget_select_hyper_blocklist.htm new file mode 100644 index 0000000..95414b8 --- /dev/null +++ b/doc/html/H5S/H5Sget_select_hyper_blocklist.htm @@ -0,0 +1,80 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_select_hyper_blocklist" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperBlockList">H5Sget_select_hyper_blocklist</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Sget_select_hyper_blocklist</code>(<em>hid_t </em><code>space_id</code>, + <em>hsize_t </em><code>startblock</code>, + <em>hsize_t </em><code>numblocks</code>, + <em>hsize_t *</em><code>buf</code> + ) +<dt><strong>Purpose:</strong> + <dd>Gets the list of hyperslab blocks currently selected. +<dt><strong>Description:</strong> + <dd><code>H5Sget_select_hyper_blocklist</code> returns a list of + the hyperslab blocks currently selected. Starting with the + <code>startblock</code>-th block in the list of blocks, + <code>numblocks</code> blocks are put into the user's buffer. + If the user's buffer fills up before <code>numblocks</code> + blocks are inserted, the buffer will contain only as many + blocks as fit. + <p> + The block coordinates have the same dimensionality (rank) + as the dataspace they are located within. The list of blocks + is formatted as follows: + <br> + <"start" coordinate>, immediately followed by + <br> + <"opposite" corner coordinate>, followed by + <br> + the next "start" and "opposite" coordinates, + <br> + etc. + <br> + until all of the selected blocks have been listed. + <p> + No guarantee is implied as the order in which blocks are listed. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">IN: Dataspace identifier of selection to query.</td></tr> + <tr> + <td valign="top"><em>hsize_t </em><code>startblock </code></td> + <td valign="top">IN: Hyperslab block to start with.</td></tr> + <tr> + <td valign="top"><em>hsize_t </em><code>numblocks</code></td> + <td valign="top">IN: Number of hyperslab blocks to get.</td></tr> + <tr> + <td valign="top"><em>hsize_t *</em><code>buf</code></td> + <td valign="top">OUT: List of hyperslab blocks selected.</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> h5sget_select_hyper_blocklist_f + <dd> + <pre> +SUBROUTINE h5sget_select_hyper_blocklist_f(space_id, startblock, num_blocks, + buf, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER(HSIZE_T), INTENT(IN) :: startblock ! Hyperslab block to start with + INTEGER, INTENT(OUT) :: num_blocks ! Number of hyperslab blocks to + ! get in the current hyperslab + ! selection + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf + ! List of hyperslab blocks selected + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5sget_select_hyper_blocklist_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sget_select_hyper_nblocks.htm b/doc/html/H5S/H5Sget_select_hyper_nblocks.htm new file mode 100644 index 0000000..f0ab46b --- /dev/null +++ b/doc/html/H5S/H5Sget_select_hyper_nblocks.htm @@ -0,0 +1,43 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_select_hyper_nblocks" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperNBlocks">H5Sget_select_hyper_nblocks</a> +<dt><strong>Signature:</strong> + <dd><em>hssize_t </em><code>H5Sget_select_hyper_nblocks</code>(<em>hid_t </em><code>space_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Get number of hyperslab blocks. +<dt><strong>Description:</strong> + <dd><code>H5Sget_select_hyper_nblocks</code> returns the + number of hyperslab blocks in the current dataspace selection. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">IN: Identifier of dataspace to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of hyperslab blocks in + the current dataspace selection if successful. + Otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5sget_select_hyper_nblocks_f + <dd> + <pre> +SUBROUTINE h5sget_select_hyper_nblocks_f(space_id, num_blocks, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: num_blocks ! Number of hyperslab blocks in + ! the current hyperslab selection + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5sget_select_hyper_nblocks_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sget_select_npoints.htm b/doc/html/H5S/H5Sget_select_npoints.htm new file mode 100644 index 0000000..1f50927 --- /dev/null +++ b/doc/html/H5S/H5Sget_select_npoints.htm @@ -0,0 +1,42 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_select_npoints" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectNpoints">H5Sget_select_npoints</a> +<dt><strong>Signature:</strong> + <dd><em>hssize_t</em> <code>H5Sget_select_npoints</code>(<em>hid_t</em> <code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Determines the number of elements in a dataspace selection. +<dt><strong>Description:</strong> + <dd><code>H5Sget_select_npoints</code> determines the number of elements + in the current selection of a dataspace. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">Dataspace identifier.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of elements in the selection if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5sget_select_npoints_f + <dd> + <pre> +SUBROUTINE h5sget_select_npoints_f(space_id, npoints, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER(HSSIZE_T), INTENT(OUT) :: npoints ! Number of elements in the + ! selection + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sget_select_npoints_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sget_select_type.htm b/doc/html/H5S/H5Sget_select_type.htm new file mode 100644 index 0000000..7382239 --- /dev/null +++ b/doc/html/H5S/H5Sget_select_type.htm @@ -0,0 +1,83 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_select_type" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-GetSelectType">H5Sget_select_type</a> +<dt><strong>Signature:</strong> + <dd><em>H5S_sel_type</em> <code>H5Sget_select_type</code>(<em>hid_t</em> <code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Determines the type of the dataspace selection. +<dt><strong>Description:</strong> + <dd><code>H5Sget_select_type</code> retrieves the + type of selection currently defined for the dataspace + <code>space_id</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">Dataspace identifier.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the dataspace selection type, a value of + the enumerated datatype <code>H5S_sel_type</code>, + if successful. + Valid return values are as follows: + <center> + <table width=90% border=0> + <tr><td valign=top> + <code>H5S_SEL_NONE</code> + </td><td valign=top> + No selection is defined. + </td></tr><tr><td valign=top> + <code>H5S_SEL_POINTS</code> + </td><td valign=top> + A sequence of points is selected. + </td></tr><tr><td valign=top> + <code>H5S_SEL_HYPERSLABS</code> + </td><td valign=top> + A hyperslab or compound hyperslab is selected. + </td></tr><tr><td valign=top> + <code>H5S_SEL_ALL</code> + </td><td valign=top> + The entire dataset is selected. + </td></tr> + </table> + </center> + Otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5sget_select_type_f + <dd> + <pre> +SUBROUTINE h5sget_select_type_f(space_id, type, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: type ! Selection type + ! Valid values are: + ! H5S_SEL_ERROR_F + ! H5S_SEL_NONE_F + ! H5S_SEL_POINTS_F + ! H5S_SEL_HYPERSLABS_F + ! H5S_SEL_ALL_F + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5sget_select_type_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5S/H5Sget_simple_extent_dims.htm b/doc/html/H5S/H5Sget_simple_extent_dims.htm new file mode 100644 index 0000000..f06bcf4 --- /dev/null +++ b/doc/html/H5S/H5Sget_simple_extent_dims.htm @@ -0,0 +1,62 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_simple_extent_dims" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-ExtentDims">H5Sget_simple_extent_dims</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Sget_simple_extent_dims</code>(<em>hid_t</em> <code>space_id</code>, + <em>hsize_t *</em><code>dims</code>, + <em>hsize_t *</em><code>maxdims</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves dataspace dimension size and maximum size. +<dt><strong>Description:</strong> + <dd><code>H5Sget_simple_extent_dims</code> returns the size and maximum sizes + of each dimension of a dataspace through the <code>dims</code> + and <code>maxdims</code> parameters. + <p> + Either or both of <code>dims</code> and <code>maxdims</code> + may be NULL. + <p> + If a value in the returned array <code>maxdims</code> is + <code>H5S_UNLIMITED</code> (</code>-1</code>), + the maximum size of that dimension is unlimited. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">IN: Identifier of the dataspace object to query</td></tr> + <tr> + <td valign="top"><em>hsize_t *</em><code>dims</code></td> + <td valign="top">OUT: Pointer to array to store the size of each dimension.</td></tr> + <tr> + <td valign="top"><em>hsize_t *</em><code>maxdims </code></td> + <td valign="top">OUT: Pointer to array to store the maximum size of each dimension.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of dimensions in the dataspace if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_dims_f + <dd> + <pre> +SUBROUTINE h5sget_simple_extent_dims_f(space_id, dims, maxdims, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims + ! Array to store dimension sizes + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: maxdims + ! Array to store max dimension sizes + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! Dataspace rank on success + ! and -1 on failure +END SUBROUTINE h5sget_simple_extent_dims_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sget_simple_extent_ndims.htm b/doc/html/H5S/H5Sget_simple_extent_ndims.htm new file mode 100644 index 0000000..319481c --- /dev/null +++ b/doc/html/H5S/H5Sget_simple_extent_ndims.htm @@ -0,0 +1,41 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_simple_extent_ndims" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-ExtentNdims">H5Sget_simple_extent_ndims</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Sget_simple_extent_ndims</code>(<em>hid_t</em> <code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Determines the dimensionality of a dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sget_simple_extent_ndims</code> determines the dimensionality (or rank) + of a dataspace. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">Identifier of the dataspace</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of dimensions in the dataspace if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_ndims_f + <dd> + <pre> +SUBROUTINE h5sget_simple_extent_ndims_f(space_id, rank, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: rank ! Number of dimensions + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sget_simple_extent_ndims_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sget_simple_extent_npoints.htm b/doc/html/H5S/H5Sget_simple_extent_npoints.htm new file mode 100644 index 0000000..e00e1cc --- /dev/null +++ b/doc/html/H5S/H5Sget_simple_extent_npoints.htm @@ -0,0 +1,42 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_simple_extent_npoints" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-ExtentNpoints">H5Sget_simple_extent_npoints</a> +<dt><strong>Signature:</strong> + <dd><em>hssize_t</em> <code>H5Sget_simple_extent_npoints</code>(<em>hid_t </em><code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Determines the number of elements in a dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sget_simple_extent_npoints</code> determines the number of elements + in a dataspace. For example, a simple 3-dimensional dataspace + with dimensions 2, 3, and 4 would have 24 elements. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">ID of the dataspace object to query</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of elements in the dataspace if successful; + otherwise returns 0. +<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_npoints_f + <dd> + <pre> +SUBROUTINE h5sget_simple_extent_npoints_f(space_id, npoints, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER(HSIZE_T), INTENT(OUT) :: npoints ! Number of elements in dataspace + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sget_simple_extent_npoints_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sget_simple_extent_type.htm b/doc/html/H5S/H5Sget_simple_extent_type.htm new file mode 100644 index 0000000..7458461 --- /dev/null +++ b/doc/html/H5S/H5Sget_simple_extent_type.htm @@ -0,0 +1,50 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sget_simple_extent_type" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-ExtentType">H5Sget_simple_extent_type</a> +<dt><strong>Signature:</strong> + <dd><em>H5S_class_t</em> <code>H5Sget_simple_extent_type</code>(<em>hid_t</em> <code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Determine the current class of a dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sget_simple_extent_type</code> queries a dataspace to determine the + current class of a dataspace. + <p> + The function returns a class name, one of the following: + <code>H5S_SCALAR</code>, + <code>H5S_SIMPLE</code>, or + <code>H5S_NONE</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">Dataspace identifier.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a dataspace class name if successful; + otherwise H5S_NO_CLASS (-1). +<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_type_f + <dd> + <pre> +SUBROUTINE h5sget_simple_extent_type_f(space_id, classtype, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: classtype ! Class type + ! Possible values are: + ! H5S_NO_CLASS_F + ! H5S_SCALAR_F + ! H5S_SIMPLE_F + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sget_simple_extent_type_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sis_simple.htm b/doc/html/H5S/H5Sis_simple.htm new file mode 100644 index 0000000..e63a4d8 --- /dev/null +++ b/doc/html/H5S/H5Sis_simple.htm @@ -0,0 +1,45 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sis_simple" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-IsSimple">H5Sis_simple</a> +<dt><strong>Signature:</strong> + <dd><em>htri_t </em><code>H5Sis_simple</code>(<em>hid_t </em><code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Determines whether a dataspace is a simple dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sis_simple</code> determines whether a dataspace is + a simple dataspace. [Currently, all dataspace objects are simple + dataspaces, complex dataspace support will be added in the future] +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">Identifier of the dataspace to query</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>When successful, returns a positive value, for <code>TRUE</code>, + or <code>0</code> (zero), for <code>FALSE</code>. + Otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5sis_simple_f + <dd> + <pre> +SUBROUTINE h5sis_simple_f(space_id, flag, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + LOGICAL, INTENT(OUT) :: flag ! Flag, indicates if dataspace + ! is simple or not: + ! TRUE or FALSE + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sis_simple_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Soffset_simple.htm b/doc/html/H5S/H5Soffset_simple.htm new file mode 100644 index 0000000..448c79e --- /dev/null +++ b/doc/html/H5S/H5Soffset_simple.htm @@ -0,0 +1,56 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Soffset_simple" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-OffsetSimple">H5Soffset_simple</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Soffset_simple</code>(<em>hid_t</em> <code>space_id</code>, + <em>const hssize_t *</em><code>offset</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets the offset of a simple dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Soffset_simple</code> sets the offset of a + simple dataspace <code>space_id</code>. The <code>offset</code> + array must be the same number of elements as the number of + dimensions for the dataspace. If the <code>offset</code> + array is set to <TT>NULL</TT>, the offset for the dataspace + is reset to 0. + <p> + This function allows the same shaped selection to be moved + to different locations within a dataspace without requiring it + to be redefined. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">IN: The identifier for the dataspace object to reset.</td></tr> + <tr> + <td valign="top"><em>const hssize_t *</em><code>offset </code></td> + <td valign="top">IN: The offset at which to position the selection.</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> h5soffset_simple_f + <dd> + <pre> +SUBROUTINE h5soffset_simple_f(space_id, offset, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER(HSSIZE_T), DIMENSION(*), INTENT(IN) :: offset + ! The offset at which to position + ! the selection + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5soffset_simple_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sselect_all.htm b/doc/html/H5S/H5Sselect_all.htm new file mode 100644 index 0000000..0aba35a --- /dev/null +++ b/doc/html/H5S/H5Sselect_all.htm @@ -0,0 +1,46 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sselect_all" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectAll">H5Sselect_all</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Sselect_all</code>(<em>hid_t</em> <code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Selects the entire dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sselect_all</code> selects the entire extent + of the dataspace <code>space_id</code>. + <p> + More specifically, <code>H5Sselect_all</code> selects + the special <tt>5S_SELECT_ALL</tt> region for the dataspace + <code>space_id</code>. <tt>H5S_SELECT_ALL</tt> selects the + entire dataspace for any dataspace it is applied to. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">IN: The identifier for the dataspace in which the + selection is being made.</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> h5sselect_all_f + <dd> + <pre> +SUBROUTINE h5sselect_all_f(space_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sselect_all_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sselect_elements.htm b/doc/html/H5S/H5Sselect_elements.htm new file mode 100644 index 0000000..b3a98b3 --- /dev/null +++ b/doc/html/H5S/H5Sselect_elements.htm @@ -0,0 +1,139 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sselect_elements" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectElements">H5Sselect_elements</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Sselect_elements</code>(<em>hid_t </em><code>space_id</code>, + <em>H5S_seloper_t</em> <code>op</code>, + <em>size_t</em> <code>num_elements</code>, + <em>const hsize_t *</em><code>coord</code> + ) +<dt><strong>Purpose:</strong> + <dd>Selects array elements to be included in the selection for a dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sselect_elements</code> selects array elements to be + included in the selection for the <code>space_id</code> dataspace. + <p> + The number of elements selected is set in the + <code>num_elements</code> parameter. + <p> + The <code>coord</code> array is a two-dimensional array of size + <code>num_elements</code> by <code><i>dataspace_rank</i></code> + containing a list of of zero-based values specifying the + coordinates in the dataset of the selected elements. + The order of the element coordinates in the + <code>coord</code> array specifies the order in which + the array elements are iterated through when I/O is performed. + Duplicate coordinate locations are not checked for. + <p> + The selection operator <code>op</code> determines how the + new selection is to be combined with the previously existing + selection for the dataspace. + The following operators are supported: + <center> + <table width=90% border=0> + <tr><td valign=top> + <code>H5S_SELECT_SET</code> + </td><td valign=top> + Replaces the existing selection with the parameters from + this call. + Overlapping blocks are not supported with this operator. +<!-- </td></tr><tr><td valign=top> + <code>H5S_SELECT_OR</code> + </td><td valign=top> +--> Adds the new selection to the existing selection. + </td></tr><tr><td valign=top> + <code>H5S_SELECT_APPEND</code> + </td><td valign=top> + Adds the new selection following the last element of the + existing selection. + </td></tr><tr><td valign=top> + <code>H5S_SELECT_PREPEND </code> + </td><td valign=top> + Adds the new selection preceding the first element of the + existing selection. + </td></tr> + </table> + </center> +<!-- When operator <code>H5S_SELECT_OR</code> + is used to combine a new selection with an existing selection, + the selection ordering is reset to C array ordering. +--> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">Identifier of the dataspace.</td></tr> + <tr> + <td valign="top"><em>H5S_seloper_t</em> <code>op</code></td> + <td valign="top">Operator specifying how the new selection is to be + combined with the existing selection for the dataspace.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>num_elements </code></td> + <td valign="top">Number of elements to be selected.</td></tr> + <tr> + <td valign="top"><em>const hsize_t *</em><code>coord</code></td> + <td valign="top">A 2-dimensional array of 0-based values specifying + the coordinates of the elements being selected.</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> h5sselect_elements_f + <dd> + <pre> +SUBROUTINE h5sselect_elements_f(space_id, operator, rank, num_elements, + coord, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(IN) :: operator ! Flag, valid values are: + ! H5S_SELECT_SET_F + ! H5S_SELECT_APPEND_F + ! H5S_SELECT_PREPEND_F + INTEGER, INTENT(IN) :: rank ! Number of dataspace + ! dimensions</pre> +<!-- NEW PAGE --> +<pre> INTEGER(SIZE_T), INTENT(IN) :: num_elements + ! Number of elements to be + ! selected + INTEGER(HSIZE_T), DIMENSION(*,*), INTENT(IN) :: coord + ! A 1-based array containing the + ! coordinates of the selected + ! elements + ! NOTE: Reversed dimension declaration + ! compared to the C specification + ! of coord(num_elements, rank) + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sselect_elements_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top"> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>coord</code> parameter type changed to + <em>const hsize_t</em>.</td> + <td valign="top"> </td> + <td valign="top"> + <code>coord</code> parameter type changed to + <code>INTEGER(HSIZE_T)</code>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5S/H5Sselect_hyperslab.htm b/doc/html/H5S/H5Sselect_hyperslab.htm new file mode 100644 index 0000000..8f90d9b --- /dev/null +++ b/doc/html/H5S/H5Sselect_hyperslab.htm @@ -0,0 +1,196 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sselect_hyperslab" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperslab">H5Sselect_hyperslab</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Sselect_hyperslab</code>(<em>hid_t</em> <code>space_id</code>, + <em>H5S_seloper_t</em> <code>op</code>, + <em>const hsize_t *</em><code>start</code>, + <em>const hsize_t *</em><code>stride</code>, + <em>const hsize_t *</em><code>count</code>, + <em>const hsize_t *</em><code>block</code> + ) +<dt><strong>Purpose:</strong> + <dd>Selects a hyperslab region to add to the current selected region. +<dt><strong>Description:</strong> + <dd><code>H5Sselect_hyperslab</code> selects a hyperslab region + to add to the current selected region for the dataspace + specified by <code>space_id</code>. + <p> + The <code>start</code>, <code>stride</code>, <code>count</code>, + and <code>block</code> arrays must be the same size as the rank + of the dataspace. For example, if the dataspace is 4-dimensional, + each of these parameters must be a 1-dimensional array of size + <code>4</code>. + <p> + The selection operator <code>op</code> determines how the new + selection is to be combined with the already existing selection + for the dataspace. + The following operators are supported: + <center> + <table width=90% border=0> + <tr><td valign=top> + <code>H5S_SELECT_SET</code> + </td><td valign=top> + Replaces the existing selection with the parameters from this call. + Overlapping blocks are not supported with this operator. + </td></tr><tr><td valign=top> + <code>H5S_SELECT_OR</code> + </td><td valign=top> + Adds the new selection to the existing selection. + + (Binary OR) + </td></tr><tr><td valign=top> + <code>H5S_SELECT_AND</code> + </td><td valign=top> + Retains only the overlapping portions of the new selection and + the existing selection. + + (Binary AND) + </td></tr><tr><td valign=top> + <code>H5S_SELECT_XOR</code> + </td><td valign=top> + Retains only the elements that are members of the new selection or + the existing selection, excluding elements that are members of + both selections. + + (Binary exclusive-OR, XOR) + </td></tr><tr><td valign=top> + <code>H5S_SELECT_NOTB </code> + </td><td valign=top> + Retains only elements of the existing selection that are not in + the new selection. + </td></tr><tr><td valign=top> + <code>H5S_SELECT_NOTA</code> + </td><td valign=top> + Retains only elements of the new selection that are not in + the existing selection. + </td></tr> + </table> + </center> + + <p> + The <code>start</code> array specifies the offset of the + starting element of the specified hyperslab. + <p> + The <code>stride</code> array chooses array locations + from the dataspace with each value in the <code>stride</code> + array determining how many elements to move in each dimension. + Setting a value in the <code>stride</code> array to <code>1</code> + moves to + each element in that dimension of the dataspace; setting a value + of <code>2</code> in allocation in the <code>stride</code> array + moves to every other element in that dimension of the dataspace. + In other words, the <code>stride</code> determines the + number of elements to move from the <code>start</code> location + in each dimension. + Stride values of <code>0</code> are not allowed. + If the <code>stride</code> parameter is <code>NULL</code>, + a contiguous hyperslab is selected (as if each value in the + <code>stride</code> array were set to <code>1</code>). + <p> + The <code>count</code> array determines how many blocks to + select from the dataspace, in each dimension. + <p> + The <code>block</code> array determines + the size of the element block selected from the dataspace. + If the <code>block</code> parameter is set to <code>NULL</code>, + the block size defaults to a single element in each dimension + (as if each value in the <code>block</code> array were set to + <code>1</code>). + <p> + For example, consider a 2-dimensional dataspace with + hyperslab selection settings as follows: + the <code>start</code> offset is specified as [1,1], + <code>stride</code> is [4,4], + <code>count</code> is [3,7], and + <code>block</code> is [2,2]. + In C, these settings will specify a hyperslab consisting of + 21 2x2 blocks of array elements starting with location (1,1) + with the selected blocks at locations + (1,1), (5,1), (9,1), (1,5), (5,5), etc.; + in Fortran, they will specify a hyperslab consisting of + 21 2x2 blocks of array elements starting with location (2,2) + with the selected blocks at locations + (2,2), (6,2), (10,2), (2,6), (6,6), etc. + <p> + Regions selected with this function call default to C order + iteration when I/O is performed. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">IN: Identifier of dataspace selection to modify</td></tr> + <tr> + <td valign="top"><em>H5S_seloper_t</em> <code>op</code></td> + <td valign="top">IN: Operation to perform on current selection.</td></tr> + <tr> + <td valign="top"><em>const hsize_t *</em><code>start</code></td> + <td valign="top">IN: Offset of start of hyperslab</td></tr> + <tr> + <td valign="top"><em>const hsize_t *</em><code>count</code></td> + <td valign="top">IN: Number of blocks included in hyperslab.</td></tr> + <tr> + <td valign="top"><em>const hsize_t *</em><code>stride </code></td> + <td valign="top">IN: Hyperslab stride.</td></tr> + <tr> + <td valign="top"><em>const hsize_t *</em><code>block</code></td> + <td valign="top">IN: Size of block in hyperslab.</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> h5sselect_hyperslab_f + <dd> + <pre> +SUBROUTINE h5sselect_hyperslab_f(space_id, operator, start, count, + hdferr, stride, block) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(IN) :: op ! Flag, valid values are: + ! H5S_SELECT_SET_F + ! H5S_SELECT_OR_F + INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start + ! Starting coordinates of hyperslab + INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count + ! Number of blocks to select + ! from dataspace + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure + INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: stride + ! Array of how many elements to + ! move in each direction + INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: block + ! Size of the element block +END SUBROUTINE h5sselect_hyperslab_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top"> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>start[]</code> parameter type changed to + <em>const hsize_t</em>.</td> + <td valign="top"> </td> + <td valign="top"> + <code>start</code> parameter type changed to + <code>INTEGER(HSIZE_T)</code>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5S/H5Sselect_none.htm b/doc/html/H5S/H5Sselect_none.htm new file mode 100644 index 0000000..801331d --- /dev/null +++ b/doc/html/H5S/H5Sselect_none.htm @@ -0,0 +1,41 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sselect_none" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectNone">H5Sselect_none</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Sselect_none</code>(<em>hid_t</em> <code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Resets the selection region to include no elements. +<dt><strong>Description:</strong> + <dd><code>H5Sselect_none</code> resets the selection region + for the dataspace <code>space_id</code> to include no elements. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">IN: The identifier for the dataspace in which the + selection is being reset.</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> h5sselect_none_f + <dd> + <pre> +SUBROUTINE h5sselect_none_f(space_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sselect_none_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sselect_valid.htm b/doc/html/H5S/H5Sselect_valid.htm new file mode 100644 index 0000000..dccf879 --- /dev/null +++ b/doc/html/H5S/H5Sselect_valid.htm @@ -0,0 +1,47 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sselect_valid" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SelectValid">H5Sselect_valid</a> +<dt><strong>Signature:</strong> + <dd><em>htri_t</em> <code>H5Sselect_valid</code>(<em>hid_t</em> <code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Verifies that the selection is within the extent of the dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sselect_valid</code> verifies that the selection + for the dataspace <code>space_id</code> is within the extent + of the dataspace if the current offset for the dataspace is used. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">The identifier for the dataspace being queried.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a positive value, for <code>TRUE</code>, + if the selection is contained within the extent + or <code>0</code> (zero), for <code>FALSE</code>, if it is not. + Returns a negative value on error conditions + such as the selection or extent not being defined. +<dt><strong>Fortran90 Interface:</strong> h5sselect_valid_f + <dd> + <pre> +SUBROUTINE h5sselect_valid_f(space_id, flag, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + LOGICAL, INTENT(OUT) :: flag ! TRUE if the selection is + ! contained within the extent, + ! FALSE otherwise. + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sselect_valid_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sset_extent_none.htm b/doc/html/H5S/H5Sset_extent_none.htm new file mode 100644 index 0000000..548f885 --- /dev/null +++ b/doc/html/H5S/H5Sset_extent_none.htm @@ -0,0 +1,41 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sset_extent_none" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SetExtentNone">H5Sset_extent_none</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Sset_extent_none</code>(<em>hid_t</em> <code>space_id</code>) +<dt><strong>Purpose:</strong> + <dd>Removes the extent from a dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sset_extent_none</code> removes the extent from + a dataspace and sets the type to <tt>H5S_NO_CLASS</tt>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id </code></td> + <td valign="top">The identifier for the dataspace from which + the extent is to be removed.</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> h5sset_extent_none_f + <dd> + <pre> +SUBROUTINE h5sset_extent_none_f(space_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sset_extent_none_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5S/H5Sset_extent_simple.htm b/doc/html/H5S/H5Sset_extent_simple.htm new file mode 100644 index 0000000..43df8d7 --- /dev/null +++ b/doc/html/H5S/H5Sset_extent_simple.htm @@ -0,0 +1,74 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Sset_extent_simple" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Dataspace-SetExtentSimple">H5Sset_extent_simple</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Sset_extent_simple</code>(<em>hid_t</em> <code>space_id</code>, + <em>int</em> <code>rank</code>, + <em>const hsize_t *</em><code>current_size</code>, + <em>const hsize_t *</em><code>maximum_size</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets or resets the size of an existing dataspace. +<dt><strong>Description:</strong> + <dd><code>H5Sset_extent_simple</code> sets or resets the size of + an existing dataspace. + <p> + <code>rank</code> is the dimensionality, or number of + dimensions, of the dataspace. + <p> + <code>current_size</code> is an array of size <code>rank</code> + which contains the new size of each dimension in the dataspace. + <code>maximum_size</code> is an array of size <code>rank</code> + which contains the maximum size of each dimension in the + dataspace. + <p> + Any previous extent is removed from the dataspace, the dataspace + type is set to <code>H5S_SIMPLE</code>, and the extent is set as + specified. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>space_id</code></td> + <td valign="top">Dataspace identifier.</td> + <tr> + <td valign="top"><em>int</em> <code>rank</code></td> + <td valign="top">Rank, or dimensionality, of the dataspace.</td> + <tr> + <td valign="top"><em>const hsize_t *</em><code>current_size </code></td> + <td valign="top">Array containing current size of dataspace.</td> + <tr> + <td valign="top"><em>const hsize_t *</em><code>maximum_size</code></td> + <td valign="top">Array containing maximum size of dataspace.</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> h5sset_extent_simple_f + <dd> + <pre> +SUBROUTINE h5sset_extent_simple_f(space_id, rank, current_size, + maximum_size, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(IN) :: rank ! Dataspace rank + INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: current_size + ! Array with the new sizes + ! of dimensions + INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: + ! Array with the new maximum + ! sizes of dimensions + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5sset_extent_simple_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tarray_create.htm b/doc/html/H5T/H5Tarray_create.htm new file mode 100644 index 0000000..74f71ee --- /dev/null +++ b/doc/html/H5T/H5Tarray_create.htm @@ -0,0 +1,87 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tarray_create" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-ArrayCreate">H5Tarray_create</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Tarray_create</code>( + <em>hid_t</em> <code>base</code>, + <em>int</em> <code>rank</code>, + <em>const hsize_t</em> <code>dims[/*rank*/]</code>, + <em>const int</em> <code>perm[/*rank*/]</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates an array datatype object. +<dt><strong>Description:</strong> + <dd><code>H5Tarray_create</code> creates a new array datatype object. + <p> + <code>base</code> is the datatype of every element of the array, + i.e., of the number at each position in the array. + <p> + <code>rank</code> is the number of dimensions and the + size of each dimension is specified in the array <code>dims</code>. + The value of <code>rank</code> is currently limited to + <code>H5S_MAX_RANK</code> and must be greater than <code>0</code> + (zero). + All dimension sizes specified in <code>dims</code> must be greater + than <code>0</code> (zero). + <p> + The array <code>perm</code> is designed to contain the dimension + permutation, i.e. C versus FORTRAN array order. + + <b><i>(The parameter </i><code>perm</code><i> is currently unused and is not yet implemented.)</i></b> + +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>base</code></td> + <td valign="top">IN: Datatype identifier for the array base datatype.</td></tr> + <tr> + <td valign="top"><em>int</em> <code>rank</code></td> + <td valign="top">IN: Rank of the array.</td></tr> + <tr> + <td valign="top"><em>const hsize_t</em> <code>dims[/*rank*/] </code></td> + <td valign="top">IN: Size of each array dimension.</td></tr> + <tr> + <td valign="top"><em>const int</em> <code>perm[/*rank*/]</code></td> + <td valign="top">IN: Dimension permutation. + + <b><i>(Currently not implemented.)</i></b></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> h5tarray_create_f + <dd> + <pre> +SUBROUTINE h5tarray_create_f(base_id, rank, dims, type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: base_id ! Identifier of array base datatype + INTEGER, INTENT(IN) :: rank ! Rank of the array + INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims + ! Sizes of each array dimension + INTEGER(HID_T), INTENT(OUT) :: type_id ! Identifier of the array datatype + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tarray_create_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tclose.htm b/doc/html/H5T/H5Tclose.htm new file mode 100644 index 0000000..a90cfcf --- /dev/null +++ b/doc/html/H5T/H5Tclose.htm @@ -0,0 +1,42 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tclose" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Close">H5Tclose</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tclose</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Releases a datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tclose</code> releases a datatype. Further access + through the datatype identifier is illegal. Failure to release + a datatype with this call will result in resource leaks. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to release.</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> h5tclose_f + <dd> + <pre> +SUBROUTINE h5tclose_f(type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5tclose_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tcommit.htm b/doc/html/H5T/H5Tcommit.htm new file mode 100644 index 0000000..cb1f584 --- /dev/null +++ b/doc/html/H5T/H5Tcommit.htm @@ -0,0 +1,57 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tcommit" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Commit">H5Tcommit</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em><code>H5Tcommit</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em> <code>name</code>, + <em>hid_t</em> <code>type</code> + ) +<dt><strong>Purpose:</strong> + <dd>Commits a transient datatype to a file, creating a new named datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tcommit</code> commits a transient datatype + (not immutable) to a file, turned it into a named datatype. + The <code>loc_id</code> is either a file or group identifier + which, when combined with <code>name</code>, refers to a new + named datatype. + <p> + As is the case for any object in a group, + the length of the name of a named datatype is not limited. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: A file or group identifier.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>name </code></td> + <td valign="top">IN: A datatype name.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>type</code></td> + <td valign="top">IN: A datatype 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> h5tcommit_f + <dd> + <pre> +SUBROUTINE h5tcommit_f(loc_id, name, type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Datatype name within file or group + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5tcommit_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tcommitted.htm b/doc/html/H5T/H5Tcommitted.htm new file mode 100644 index 0000000..fda788a --- /dev/null +++ b/doc/html/H5T/H5Tcommitted.htm @@ -0,0 +1,46 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tcommitted" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Committed">H5Tcommitted</a> +<dt><strong>Signature:</strong> + <dd><em>htri_t</em><code>H5Tcommitted</code>(<em>hid_t</em> <code>type</code>) +<dt><strong>Purpose:</strong> + <dd>Determines whether a datatype is a named type or a transient type. +<dt><strong>Description:</strong> + <dd><code>H5Tcommitted</code> queries a type to determine whether + the type specified by the <code>type</code> identifier + is a named type or a transient type. If this function returns + a positive value, then the type is named (that is, it has been + committed, perhaps by some other application). Datasets which + return committed datatypes with <code>H5Dget_type()</code> are + able to share the datatype with other datasets in the same file. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type </code></td> + <td valign="top">IN: Datatype identifier.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>When successful, returns a positive value, for <code>TRUE</code>, + if the datatype has been committed, or <code>0</code> (zero), + for <code>FALSE</code>, if the datatype has not been committed. + Otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tcommitted_f + <dd> + <pre> +SUBROUTINE h5tcommitted_f(type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tcommitted_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tconvert.htm b/doc/html/H5T/H5Tconvert.htm new file mode 100644 index 0000000..b27dbca --- /dev/null +++ b/doc/html/H5T/H5Tconvert.htm @@ -0,0 +1,92 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tconvert" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Convert">H5Tconvert</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tconvert</code>(<em>hid_t</em> <code>src_id</code>, + <em>hid_t</em> <code>dst_id</code>, + <em>size_t</em> <code>nelmts</code>, + <em>void *</em><code>buf</code>, + <em>void *</em><code>background</code>, + <em>hid_t</em> <code>plist_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Converts data from between specified datatypes. +<dt><strong>Description:</strong> + <dd><code>H5Tconvert</code> converts <code>nelmts</code> elements + from the type specified by the <code>src_id</code> identifier + to type <code>dst_id</code>. + The source elements are packed in <code>buf</code> and on return + the destination will be packed in <code>buf</code>. + That is, the conversion is performed in place. + The optional background buffer is an array of <code>nelmts</code> + values of destination type which are merged with the converted + values to fill in cracks (for instance, <code>background</code> + might be an array of structs with the <code>a</code> and + <code>b</code> fields already initialized and the conversion + of <code>buf</code> supplies the <code>c</code> and <code>d</code> + field values). + <p> + The parameter <code>plist_id</code> contains the dataset transfer + property list identifier which is passed to the conversion functions. + As of Release 1.2, this parameter is only used to pass along the + variable-length datatype custom allocation information. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>src_id</code></td> + <td valign="top">Identifier for the source datatype.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>dst_id</code></td> + <td valign="top">Identifier for the destination datatype.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>nelmts</code></td> + <td valign="top">Size of array <code>buf</code>.</td></tr> + <tr> + <td valign="top"><em>void *</em><code>buf</code></td> + <td valign="top">Array containing pre- and post-conversion values.</td></tr> + <tr> + <td valign="top"><em>void *</em><code>background </code></td> + <td valign="top">Optional background buffer.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>plist_id</code></td> + <td valign="top">Dataset transfer 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> + <dd>None. +<!-- + <pre> +SUBROUTINE + </pre> +--> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.3</td> + <td valign="top"> + <code>nelmts</code> parameter type changed to + <em>size_t</em>.</td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + <code>nelmts</code> parameter type changed to + <em>hsize_t</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tcopy.htm b/doc/html/H5T/H5Tcopy.htm new file mode 100644 index 0000000..5faf6d6 --- /dev/null +++ b/doc/html/H5T/H5Tcopy.htm @@ -0,0 +1,107 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tcopy" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Copy">H5Tcopy</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Tcopy</code>(<em>hid_t </em><code>type_id</code>) +<dt><strong>Purpose:</strong> + <dd>Copies an existing datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tcopy</code> copies an existing datatype. + The returned type is always transient and unlocked. + <p> + The <code>type_id</code> argument can be either a datatype + identifier, a predefined datatype (defined in + <code>H5Tpublic.h</code>), or a dataset identifier. + If <code>type_id</code> is a dataset identifier instead of a + datatype identifier, then this function returns a transient, + modifiable datatype which is a copy of the dataset's datatype. + <p> + The datatype identifier returned should be released with + <code>H5Tclose</code> or resource leaks will occur. +<!-- + <p> + Native datatypes supported by the library are: + <ul> <dl> + <dt>H5T_NATIVE_CHAR + <dd> Native character type, declare dataset array as 'char' + <dt>H5T_NATIVE_UCHAR + <dd> Native unsigned character type, declare dataset array as 'unsigned char' + <dt>H5T_NATIVE_SHORT + <dd> Native short type, declare dataset array as 'short' + <dt>H5T_NATIVE_USHORT + <dd> Native unsigned short type, declare dataset array as 'unsigned short' + <dt>H5T_NATIVE_INT + <dd> Native int type, declare dataset array as 'int' + <dt>H5T_NATIVE_UINT + <dd> Native unsigned int type, declare dataset array as 'unsigned int' + <dt>H5T_NATIVE_LONG + <dd> Native long type, declare dataset array as 'unsigned long' + <dt>H5T_NATIVE_ULONG + <dd> Native unsigned long type, declare dataset array as 'unsigned long' + <dt>H5T_NATIVE_LLONG + <dd> Native long long type, declare dataset array as 'unsigned long long' + <dt>H5T_NATIVE_ULLONG + <dd> Native unsigned long long type, declare dataset array as 'unsigned long long' + <dt>H5T_NATIVE_INT8 + <dd> Native signed 8-bit type, declare dataset array as 'int8' + <dt>H5T_NATIVE_UINT8 + <dd> Native unsigned 8-bit type, declare dataset array as 'uint8' + <dt>H5T_NATIVE_INT16 + <dd> Native signed 16-bit type, declare dataset array as 'int16' + <dt>H5T_NATIVE_UINT16 + <dd> Native unsigned 16-bit type, declare dataset array as 'uint16' + <dt>H5T_NATIVE_INT32 + <dd> Native signed 32-bit type, declare dataset array as 'int32' + <dt>H5T_NATIVE_UINT32 + <dd> Native unsigned 32-bit type, declare dataset array as 'uint32' + <dt>H5T_NATIVE_INT64 + <dd> Native signed 64-bit type, declare dataset array as 'uint64' + <dt>H5T_NATIVE_UINT64 + <dd> Native unsigned 64-bit type, declare dataset array as 'uint64' + <dt>H5T_NATIVE_FLOAT + <dd> Native single-precision float type, declare dataset array as 'float' + <dt>H5T_NATIVE_DOUBLE + <dd> Native double-precision float type, declare dataset array as 'double' + <dt>H5T_NATIVE_HSIZE + <dd> Native size_t type, declare dataset array as 'hsize_t' + <dt>H5T_NATIVE_HSSIZE + <dd> Native signed size_t type, declare dataset array as 'hssize_t' + <dt>H5T_NATIVE_HERR + <dd> Native error type, declare dataset array as 'herr_t' + <dt>H5T_NATIVE_HBOOL + <dd> Native boolean type, declare dataset array as 'hbool_t' + </dl> </ul> +--> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to copy. Can be a datatype + identifier, a predefined datatype (defined in + <code>H5Tpublic.h</code>), or a dataset identifier.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a datatype identifier if successful; + otherwise returns a negative value +<dt><strong>Fortran90 Interface:</strong> h5tcopy_f + <dd> + <pre> +SUBROUTINE h5tcopy_f(type_id, new_type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER(HID_T), INTENT(OUT) :: new_type_id ! Identifier of datatype's copy + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5tcopy_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tcreate.htm b/doc/html/H5T/H5Tcreate.htm new file mode 100644 index 0000000..6b7eb91 --- /dev/null +++ b/doc/html/H5T/H5Tcreate.htm @@ -0,0 +1,61 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tcreate" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Create">H5Tcreate</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Tcreate</code>(<em>H5T_class_t </em><code>class</code>, + <em>size_t</em><code>size</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates a new datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tcreate</code> creates a new datatype of the specified + class with the specified number of bytes. + <p> + The following datatype classes are supported with this function: + <ul> + <li><code>H5T_COMPOUND</code> + <li><code>H5T_OPAQUE</code> + <li><code>H5T_ENUM</code> + </ul> + <p> + Use <code>H5Tcopy</code> to create integer or floating-point datatypes. + <p> + The datatype identifier returned from this function should be + released with <code>H5Tclose</code> or resource leaks will result. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5T_class_t</em> <code>class </code></td> + <td valign="top">Class of datatype to create.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>size</code></td> + <td valign="top">The number of bytes in the datatype to create.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns datatype identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tcreate_f + <dd> + <pre> +SUBROUTINE h5tcreate_f(class, size, type_id, hdferr) + IMPLICIT NONE + INTEGER, INTENT(IN) :: class ! Datatype class can be one of + ! H5T_COMPOUND_F (6) + ! H5T_ENUM_F (8) + ! H5T_OPAQUE_F (9) + INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the datatype + INTEGER(HID_T), INTENT(OUT) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tcreate_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tdetect_class.htm b/doc/html/H5T/H5Tdetect_class.htm new file mode 100644 index 0000000..56c4885 --- /dev/null +++ b/doc/html/H5T/H5Tdetect_class.htm @@ -0,0 +1,64 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tdetect_class" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-DetectClass">H5Tdetect_class</a> +<dt><strong>Signature:</strong> + <dd><em>htri_t </em><code>H5Tdetect_class</code>(<em>hid_t</em> <code>dtype_id</code>, + <em>H5T_class_t</em><code>dtype_class</code> + ) +<dt><strong>Purpose:</strong> + <dd>Determines whether a datatype contains any datatypes of the + given datatype class. +<dt><strong>Description:</strong> + <dd><code>H5Tdetect_class</code> determines whether the datatype + specified in <code>dtype_id</code> contains any datatypes of the + datatype class specified in <code>dtype_class</code>. + <p> + This function is useful primarily in recursively examining + all the fields and/or base types + of compound, array, and variable-length datatypes. + <p> + Valid class identifiers are as defined in + <a href="#Datatype-GetClass"><code>H5Tget_class</code></a>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dtype_id</code></td> + <td valign="top">Datatype identifier.</td></tr> + <tr> + <td valign="top"><em>H5T_class_t</em> <code>dtype_class </code></td> + <td valign="top">Datatype class.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns <code>TRUE</code> or <code>FALSE</code> 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tenum_create.htm b/doc/html/H5T/H5Tenum_create.htm new file mode 100644 index 0000000..618eaa8 --- /dev/null +++ b/doc/html/H5T/H5Tenum_create.htm @@ -0,0 +1,44 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tenum_create" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-EnumCreate">H5Tenum_create</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Tenum_create</code>(<em>hid_t</em> <code>parent_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates a new enumeration datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tenum_create</code> creates a new enumeration datatype + based on the specified base datatype, <code>parent_id</code>, + which must be an integer type. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>parent_id </code></td> + <td valign="top">IN: Datatype identifier for the base datatype.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the datatype identifier for the new enumeration datatype if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tenum_create_f + <dd> + <pre> +SUBROUTINE h5tenum_create_f(parent_id, new_type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: parent_id ! Datatype identifier for + ! the base datatype + INTEGER(HID_T), INTENT(OUT) :: new_type_id ! Datatype identifier for the + ! new enumeration datatype + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tenum_create_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tenum_insert.htm b/doc/html/H5T/H5Tenum_insert.htm new file mode 100644 index 0000000..08006d6 --- /dev/null +++ b/doc/html/H5T/H5Tenum_insert.htm @@ -0,0 +1,60 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tenum_insert" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-EnumInsert">H5Tenum_insert</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tenum_insert</code>(<em>hid_t</em> <code>type</code>, + <em>const char</em> *<code>name</code>, + <em>void</em> *<code>value</code> + ) +<dt><strong>Purpose:</strong> + <dd>Inserts a new enumeration datatype member. +<dt><strong>Description:</strong> + <dd><code>H5Tenum_insert</code> inserts a + new enumeration datatype member into an enumeration datatype. + <p> + <code>type</code> is the enumeration datatype, + <code>name</code> is the name of the new member, and + <code>value</code> points to the value of the new member. + <p> + <code>name</code> and <code>value</code> must both + be unique within <code>type</code>. + <p> + <code>value</code> points to data which is of the + datatype defined when the enumeration datatype was created. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type</code></td> + <td valign="top">IN: Datatype identifier for the enumeration datatype.</td></tr> + <tr> + <td valign="top"><em>const char</em> *<code>name </code></td> + <td valign="top">IN: Name of the new member.</td></tr> + <tr> + <td valign="top"><em>void</em> *<code>value</code></td> + <td valign="top">IN: Pointer to the value of the new 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> h5tenum_insert_f + <dd> + <pre> +SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the new member + INTEGER, INTENT(IN) :: value ! Value of the new member + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tenum_insert_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tenum_nameof.htm b/doc/html/H5T/H5Tenum_nameof.htm new file mode 100644 index 0000000..3494e8f --- /dev/null +++ b/doc/html/H5T/H5Tenum_nameof.htm @@ -0,0 +1,69 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tenum_nameof" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-EnumNameOf">H5Tenum_nameof</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tenum_nameof</code>( + <em>hid_t</em> <code>type</code>, + <em>void</em> *<code>value</code>, + <em>char</em> *<code>name</code>, + <em>size_t</em> <code>size</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the symbol name corresponding to a specified + member of an enumeration datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tenum_nameof</code> finds the symbol name that + corresponds to the specified <code>value</code> + of the enumeration datatype <code>type</code>. + <p> + At most <code>size</code> characters of the symbol + name are copied into the <code>name</code> buffer. + If the entire symbol name and null terminator + do not fit in the <code>name</code> buffer, then as + many characters as possible are copied + (not null terminated) and the function fails. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type</code></td> + <td valign="top">IN: Enumeration datatype identifier.</td></tr> + <tr> + <td valign="top"><em>void</em> *<code>value </code></td> + <td valign="top">IN: Value of the enumeration datatype.</td></tr> + <tr> + <td valign="top"><em>char</em> *<code>name</code></td> + <td valign="top">OUT: Buffer for output of the symbol name.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>size</code></td> + <td valign="top">IN: Anticipated size of the symbol name, + in bytes (characters).</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative value if successful. + Otherwise returns a negative value + and, if <code>size</code> allows it, + the first character of <code>name</code> is + set to <code>NULL</code>. +<dt><strong>Fortran90 Interface:</strong> h5tenum_nameof_f + <dd> + <pre> +SUBROUTINE h5tenum_nameof_f(type_id, value, namelen, name, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: value ! Value of the enumeration datatype + INTEGER(SIZE_T), INTENT(IN) :: namelen ! Length of the name + CHARACTER(LEN=*), INTENT(OUT) :: name ! Name of the enumeration datatype + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tenum_nameof_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tenum_valueof.htm b/doc/html/H5T/H5Tenum_valueof.htm new file mode 100644 index 0000000..68ea65c --- /dev/null +++ b/doc/html/H5T/H5Tenum_valueof.htm @@ -0,0 +1,58 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tenum_valueof" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-EnumValueOf">H5Tenum_valueof</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tenum_valueof</code>( + <em>hid_t</em> <code>type</code>, + <em>char</em> *<code>name</code>, + <em>void</em> *<code>value</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the value corresponding to a specified member of an enumeration datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tenum_valueof</code> finds the value that + corresponds to the specified <code>name</code> + of the enumeration datatype <code>type</code>. + <p> + The <code>value</code> argument should be at least + as large as the value of <code>H5Tget_size(type)</code> + in order to hold the result. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type</code></td> + <td valign="top">IN: Enumeration datatype identifier.</td></tr> + <tr> + <td valign="top"><em>const char</em> *<code>name </code></td> + <td valign="top">IN: Symbol name of the enumeration + datatype.</td></tr> + <tr> + <td valign="top"><em>void</em> *<code>value</code></td> + <td valign="top">OUT: Buffer for output of the value + of the enumeration datatype.</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> h5tenum_valueof_f + <dd> + <pre> +SUBROUTINE h5tenum_valueof_f(type_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the enumeration datatype + INTEGER, INTENT(OUT) :: value ! Value of the enumeration datatype + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tenum_valueof_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tequal.htm b/doc/html/H5T/H5Tequal.htm new file mode 100644 index 0000000..a976c35 --- /dev/null +++ b/doc/html/H5T/H5Tequal.htm @@ -0,0 +1,49 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tequal" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Equal">H5Tequal</a> +<dt><strong>Signature:</strong> + <dd><em>htri_t </em><code>H5Tequal</code>(<em>hid_t </em><code>type_id1</code>, + <em>hid_t</em><code>type_id2</code> + ) +<dt><strong>Purpose:</strong> + <dd>Determines whether two datatype identifiers refer to the same datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tequal</code> determines whether two datatype identifiers + refer to the same datatype. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id1 </code></td> + <td valign="top">Identifier of datatype to compare.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id2</code></td> + <td valign="top">Identifier of datatype to compare.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>When successful, returns a positive value, for <code>TRUE</code>, + if the datatype identifiers refer to the same datatype, + or <code>0</code> (zero), for <code>FALSE</code>. + Otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tequal_f + <dd> + <pre> +SUBROUTINE h5tequal_f(type1_id, type2_id, flag, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type1_id ! Datatype identifier + INTEGER(HID_T), INTENT(IN) :: type2_id ! Datatype identifier + LOGICAL, INTENT(OUT) :: flag ! TRUE/FALSE flag to indicate + ! if two datatypes are equal + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tequal_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tfind.htm b/doc/html/H5T/H5Tfind.htm new file mode 100644 index 0000000..6618f88 --- /dev/null +++ b/doc/html/H5T/H5Tfind.htm @@ -0,0 +1,51 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tfind" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Find">H5Tfind</a> +<dt><strong>Signature:</strong> + <dd><em>H5T_conv_t</em> <code>H5Tfind</code>(<em>hid_t</em> <code>src_id</code>, + <em>hid_t</em> <code>dst_id</code>, + <em>H5T_cdata_t **</em><code>pcdata</code> + ) +<dt><strong>Purpose:</strong> + <dd>Finds a conversion function. +<dt><strong>Description:</strong> + <dd><code>H5Tfind</code> finds a conversion function that can + handle a conversion from type <code>src_id</code> to type + <code>dst_id</code>. + The <code>pcdata</code> argument is a pointer to a pointer + to type conversion data which was created and initialized + by the soft type conversion function of this path when the + conversion function was installed on the path. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>src_id</code></td> + <td valign="top">IN: Identifier for the source datatype.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>dst_id</code></td> + <td valign="top">IN: Identifier for the destination datatype.</td></tr> + <tr> + <td valign="top"><em>H5T_cdata_t **</em><code>pcdata </code></td> + <td valign="top">OUT: Pointer to type conversion data.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a pointer to a suitable conversion function if successful. + Otherwise returns NULL. +<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> + diff --git a/doc/html/H5T/H5Tget_array_dims.htm b/doc/html/H5T/H5Tget_array_dims.htm new file mode 100644 index 0000000..24e5967 --- /dev/null +++ b/doc/html/H5T/H5Tget_array_dims.htm @@ -0,0 +1,67 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_array_dims" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetArrayDims">H5Tget_array_dims</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Tget_array_dims</code>( + <em>hid_t</em> <code>adtype_id</code>, + <em>hsize_t </em><code>dims[]</code>, + <em>int </em><code>perm[]</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves sizes of array dimensions and dimension permutations. +<dt><strong>Description:</strong> + <dd><code>H5Tget_array_dims</code> returns the sizes of the dimensions + and the dimension permutations of the specified array datatype object. + <p> + The sizes of the dimensions are returned in the array <code>dims</code>. + The dimension permutations, i.e., C versus FORTRAN array order, + are returned in the array <code>perm</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>adtype_id </code></td> + <td valign="top">IN: Datatype identifier of array object.</td></tr> + <tr> + <td valign="top"><em>hsize_t </em><code>dims[]</code></td> + <td valign="top">OUT: Sizes of array dimensions.</td></tr> + <tr> + <td valign="top"><em>int </em><code>perm[]</code></td> + <td valign="top">OUT: Dimension permutations.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the non-negative number of dimensions of the array type if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tget_array_dims_f + <dd> + <pre> +SUBROUTINE h5tget_array_dims_f(type_id, dims, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Identifier of the array datatype + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims + ! Buffer to store array datatype + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_array_dims_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tget_array_ndims.htm b/doc/html/H5T/H5Tget_array_ndims.htm new file mode 100644 index 0000000..765f627 --- /dev/null +++ b/doc/html/H5T/H5Tget_array_ndims.htm @@ -0,0 +1,54 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_array_ndims" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetArrayNdims">H5Tget_array_ndims</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Tget_array_ndims</code>( + <em>hid_t</em> <code>adtype_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the rank of an array datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_array_ndims</code> returns the rank, + the number of dimensions, of an array datatype object. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>adtype_id </code></td> + <td valign="top">IN: Datatype identifier of array object.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the rank of the array if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tget_array_ndims_f + <dd> + <pre> +SUBROUTINE h5tget_array_ndims_f(type_id, ndims, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Identifier of the array datatype + INTEGER, INTENT(OUT) :: ndims ! Number of array dimensions + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_array_ndims_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.4.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tget_class.htm b/doc/html/H5T/H5Tget_class.htm new file mode 100644 index 0000000..45b15de --- /dev/null +++ b/doc/html/H5T/H5Tget_class.htm @@ -0,0 +1,71 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_class" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetClass">H5Tget_class</a> +<dt><strong>Signature:</strong> + <dd><em>H5T_class_t </em><code>H5Tget_class</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the datatype class identifier. +<dt><strong>Description:</strong> + <dd><code>H5Tget_class</code> returns the datatype class identifier. + <p> + Valid class identifiers, as defined in <code>H5Tpublic.h</code>, are: + <ul><li><code>H5T_INTEGER</code> + <li><code>H5T_FLOAT</code> + <li><code>H5T_TIME</code> + <li><code>H5T_STRING</code> + <li><code>H5T_BITFIELD</code> + <li><code>H5T_OPAQUE</code> + <li><code>H5T_COMPOUND</code> + <li><code>H5T_REFERENCE</code> + <li><code>H5T_ENUM</code> + <li><code>H5T_VLEN</code> + <li><code>H5T_ARRAY</code> + </ul> + <p> + Note that the library returns <code>H5T_STRING</code> for + both fixed-length and variable-length strings. + <p> + Note that the time datatype class, <code>H5T_TIME</code>, + is not fully supported in the current version of the HDF5 Library. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns datatype class identifier if successful; + otherwise <code>H5T_NO_CLASS</code> (-1). +<dt><strong>Fortran90 Interface:</strong> h5tget_class_f + <dd> + <pre> +SUBROUTINE h5tget_class_f(type_id, class, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: class ! Datatype class, possible values are: + ! H5T_NO_CLASS_F + ! H5T_INTEGER_F + ! H5T_FLOAT_F + ! H5T_TIME_F + ! H5T_STRING_F + ! H5T_BITFIELD_F + ! H5T_OPAQUE_F + ! H5T_COMPOUND_F + ! H5T_REFERENCE_F + ! H5T_ENUM_F + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5tget_class_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_cset.htm b/doc/html/H5T/H5Tget_cset.htm new file mode 100644 index 0000000..24494f9 --- /dev/null +++ b/doc/html/H5T/H5Tget_cset.htm @@ -0,0 +1,52 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_cset" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetCset">H5Tget_cset</a> +<dt><strong>Signature:</strong> + <dd><em>H5T_cset_t </em><code>H5Tget_cset</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the character set type of a string datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_cset</code> retrieves the character set type + of a string datatype. Valid character set types are: + <table> + <tr><td> + </td><td><code>H5T_CSET_ASCII</code> + </td><td>(<code>0</code>) + </td><td> + </td><td>Character set is US ASCII. + </td></tr> + </table> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a valid character set type if successful; + otherwise <code>H5T_CSET_ERROR</code> (-1). +<dt><strong>Fortran90 Interface:</strong> h5tget_cset_f + <dd> + <pre> +SUBROUTINE h5tget_cset_f(type_id, cset, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: cset ! Character set type of a string + ! datatype + ! Possible values of padding type are: + ! H5T_CSET_ASCII_F = 0 + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_cset_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_ebias.htm b/doc/html/H5T/H5Tget_ebias.htm new file mode 100644 index 0000000..363df6c --- /dev/null +++ b/doc/html/H5T/H5Tget_ebias.htm @@ -0,0 +1,41 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_ebias" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetEbias">H5Tget_ebias</a> +<dt><strong>Signature:</strong> + <dd><em>size_t </em><code>H5Tget_ebias</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the exponent bias of a floating-point type. +<dt><strong>Description:</strong> + <dd><code>H5Tget_ebias</code> retrieves the exponent bias of a floating-point type. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the bias if successful; + otherwise 0. +<dt><strong>Fortran90 Interface:</strong> h5tget_ebias_f + <dd> + <pre> +SUBROUTINE h5tget_ebias_f(type_id, ebias, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: ebias ! Datatype exponent bias + ! of a floating-point type + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_ebias_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_fields.htm b/doc/html/H5T/H5Tget_fields.htm new file mode 100644 index 0000000..4a06c6b --- /dev/null +++ b/doc/html/H5T/H5Tget_fields.htm @@ -0,0 +1,67 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_fields" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetFields">H5Tget_fields</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tget_fields</code>(<em>hid_t </em><code>type_id</code>, + <em>size_t *</em><code>spos</code>, + <em>size_t *</em><code>epos</code>, + <em>size_t *</em><code>esize</code>, + <em>size_t *</em><code>mpos</code>, + <em>size_t *</em><code>msize</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves floating point datatype bit field information. +<dt><strong>Description:</strong> + <dd><code>H5Tget_fields</code> retrieves information about the locations of the various + bit fields of a floating point datatype. The field positions are bit + positions in the significant region of the datatype. Bits are + numbered with the least significant bit number zero. + Any (or even all) of the arguments can be null pointers. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">IN: Identifier of datatype to query.</td></tr> + <tr> + <td valign="top"><em>size_t *</em><code>spos</code></td> + <td valign="top">OUT: Pointer to location to return floating-point sign bit.</td></tr> + <tr> + <td valign="top"><em>size_t *</em><code>epos</code></td> + <td valign="top">OUT: Pointer to location to return exponent bit-position.</td></tr> + <tr> + <td valign="top"><em>size_t *</em><code>esize</code></td> + <td valign="top">OUT: Pointer to location to return size of exponent in bits.</td></tr> + <tr> + <td valign="top"><em>size_t *</em><code>mpos</code></td> + <td valign="top">OUT: Pointer to location to return mantissa bit-position.</td></tr> + <tr> + <td valign="top"><em>size_t *</em><code>msize</code></td> + <td valign="top">OUT: Pointer to location to return size of mantissa in bits.</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> h5tget_fields_f + <dd> + <pre> +SUBROUTINE h5tget_fields_f(type_id, epos, esize, mpos, msize, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: epos ! Exponent bit-position + INTEGER, INTENT(OUT) :: esize ! Size of exponent in bits + INTEGER, INTENT(OUT) :: mpos ! Mantissa bit-position + INTEGER, INTENT(OUT) :: msize ! Size of mantissa in bits + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_fields_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_inpad.htm b/doc/html/H5T/H5Tget_inpad.htm new file mode 100644 index 0000000..e63ce47 --- /dev/null +++ b/doc/html/H5T/H5Tget_inpad.htm @@ -0,0 +1,55 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_inpad" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetInpad">H5Tget_inpad</a> +<dt><strong>Signature:</strong> + <dd><em>H5T_pad_t </em><code>H5Tget_inpad</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the internal padding type for unused bits in floating-point datatypes. +<dt><strong>Description:</strong> + <dd><code>H5Tget_inpad</code> retrieves the internal padding type for + unused bits in floating-point datatypes. + Valid padding types are: + <ul> <dl> + <dt>H5T_PAD_ZERO (<code>0</code>) + <dd>Set background to zeros. + <dt>H5T_PAD_ONE (<code>1</code>) + <dd>Set background to ones. + <dt>H5T_PAD_BACKGROUND (<code>2</code>) + <dd>Leave background alone. + </dl> </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a valid padding type if successful; + otherwise <code>H5T_PAD_ERROR</code> (-1). +<dt><strong>Fortran90 Interface:</strong> h5tget_inpad_f + <dd> + <pre> +SUBROUTINE h5tget_inpad_f(type_id, padtype, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: padtype ! Padding type for unused bits + ! in floating-point datatypes + ! Possible values of padding type are: + ! H5T_PAD_ZERO_F = 0 + ! H5T_PAD_ONE_F = 1 + ! H5T_PAD_BACKGROUND_F = 2 + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_inpad_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_member_class.htm b/doc/html/H5T/H5Tget_member_class.htm new file mode 100644 index 0000000..f723c08 --- /dev/null +++ b/doc/html/H5T/H5Tget_member_class.htm @@ -0,0 +1,63 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_member_class" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetMemberClass">H5Tget_member_class</a> +<dt><strong>Signature:</strong> + <dd><em>H5T_class_t</em> <code>H5Tget_member_class</code>( + <em>hid_t</em> <code>cdtype_id</code>, + <em>unsigned </em><code>member_no</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns datatype class of compound datatype member. +<dt><strong>Description:</strong> + <dd>Given a compound datatype, <code>cdtype_id</code>, the function + <code>H5Tget_member_class</code> returns the datatype class of + the compound datatype member specified by <code>member_no</code>. + <p> + Valid class identifiers are as defined in + <a href="#Datatype-GetClass"><code>H5Tget_class</code></a>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>cdtype_id </code></td> + <td valign="top">IN: Datatype identifier of compound object.</td></tr> + <tr> + <td valign="top"><em>unsigned</em> <code>member_no</code></td> + <td valign="top">IN: Compound object member number.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the datatype class, a non-negative value, if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tget_member_class_f + <dd> + <pre> +SUBROUTINE h5tget_member_class_f(type_id, member_no, class, hdferr) + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: member_no ! Member number + INTEGER, INTENT(OUT) :: class ! Member class + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_member_class_f + </pre> + <!-- + <dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>membno</code> parameter type changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tget_member_index.htm b/doc/html/H5T/H5Tget_member_index.htm new file mode 100644 index 0000000..b4653d0 --- /dev/null +++ b/doc/html/H5T/H5Tget_member_index.htm @@ -0,0 +1,75 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_member_index" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetMemberIndex">H5Tget_member_index</a> +<dt><strong>Signature:</strong> + <dd><em>int</em> <code>H5Tget_member_index</code>(<em>hid_t </em><code>type_id</code>, + <em>const char *</em> <code>field_name</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the index of a compound or enumeration datatype member. +<dt><strong>Description:</strong> + <dd><code>H5Tget_member_index</code> retrieves the index of a field + of a compound datatype or an element of an enumeration datatype. + <p> + The name of the target field or element is specified in + <code>field_name</code>. + <p> + Fields are stored in no particular order + with index values of 0 through <em>N</em>-1, where <em>N</em> is + the value returned by <code>H5Tget_nmembers</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>field_name </code></td> + <td valign="top">Name of the field or member whose index is to be retrieved.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a valid field or member index if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tget_member_index_f + <dd> + <pre> +SUBROUTINE h5tget_member_index_f(type_id, name, index, hdferr) + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Member name + INTEGER, INTENT(OUT) :: index ! Member index + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_member_index_f + </pre> + <!-- + <dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> </td> + <td valign="top"> </td> + <td valign="top" align="left"> + Function introduced in this release.</td></tr> + <tr> + <td valign="top">1.4.4</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> </td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tget_member_name.htm b/doc/html/H5T/H5Tget_member_name.htm new file mode 100644 index 0000000..3b47423 --- /dev/null +++ b/doc/html/H5T/H5Tget_member_name.htm @@ -0,0 +1,75 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_member_name" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetMemberName">H5Tget_member_name</a> +<dt><strong>Signature:</strong> + <dd><em>char *</em> <code>H5Tget_member_name</code>(<em>hid_t </em><code>type_id</code>, + <em>unsigned</em> <code>field_idx</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the name of a compound or enumeration datatype member. +<dt><strong>Description:</strong> + <dd><code>H5Tget_member_name</code> retrieves the name of a field + of a compound datatype or an element of an enumeration datatype. + <p> + The index of the target field or element is specified in + <code>field_idx</code>. + Compound datatype fields and enumeration datatype elements + are stored in no particular order + with index values of 0 through <em>N</em>-1, where <em>N</em> + is the value returned by <code>H5Tget_nmembers</code>. + <p> + A buffer to receive the name of the field is + allocated with <code>malloc()</code> and the caller is responsible + for freeing the memory used. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + <tr> + <td valign="top"><em>unsigned</em> <code>field_idx</code></td> + <td valign="top">Zero-based index of the field or element whose name + is to be retrieved.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a valid pointer to a string allocated with + <code>malloc()</code> if successful; + otherwise returns NULL. +<dt><strong>Fortran90 Interface:</strong> h5tget_member_name_f + <dd> + <pre> +SUBROUTINE h5tget_member_name_f(type_id,index, member_name, namelen, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: index ! Field index (0-based) of + ! the field name to retrieve + CHARACTER(LEN=*), INTENT(OUT) :: member_name ! Name of a field of + ! a compound datatype + INTEGER, INTENT(OUT) :: namelen ! Length of the name + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_member_name_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>membno</code> parameter type changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tget_member_offset.htm b/doc/html/H5T/H5Tget_member_offset.htm new file mode 100644 index 0000000..d3df2d4 --- /dev/null +++ b/doc/html/H5T/H5Tget_member_offset.htm @@ -0,0 +1,66 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_member_offset" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetMemberOffset">H5Tget_member_offset</a> +<dt><strong>Signature:</strong> + <dd><em>size_t</em> <code>H5Tget_member_offset</code>(<em>hid_t </em><code>type_id</code>, + <em>unsigned</em> <code>memb_no</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the offset of a field of a compound datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_member_offset</code> retrieves the + byte offset of the beginning of a field within a + compound datatype with respect to the beginning + of the compound data type datum. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + <tr> + <td valign="top"><em>unsigned</em> <code>memb_no</code></td> + <td valign="top">Number of the field whose offset is requested.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the byte offset of the field if successful; + otherwise returns <code>0</code> (zero). + Note that zero is a valid offset and that this function + will fail only if a call to <code>H5Tget_member_class()</code> + fails with the same arguments. +<dt><strong>Fortran90 Interface:</strong> h5tget_member_offset_f + <dd> + <pre> +SUBROUTINE h5tget_member_offset_f(type_id, member_no, offset, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: member_no ! Number of the field + ! whose offset is requested + INTEGER(SIZE_T), INTENT(OUT) :: offset ! Byte offset of the the + ! beginning of the field + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_member_offset_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>membno</code> parameter type changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tget_member_type.htm b/doc/html/H5T/H5Tget_member_type.htm new file mode 100644 index 0000000..261ebad --- /dev/null +++ b/doc/html/H5T/H5Tget_member_type.htm @@ -0,0 +1,62 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_member_type" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetMemberType">H5Tget_member_type</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Tget_member_type</code>(<em>hid_t </em><code>type_id</code>, + <em>unsigned</em> <code>field_idx</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the datatype of the specified member. +<dt><strong>Description:</strong> + <dd><code>H5Tget_member_type</code> returns the datatype of the specified member. The caller + should invoke H5Tclose() to release resources associated with the type. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + <tr> + <td valign="top"><em>unsigned</em> <code>field_idx</code></td> + <td valign="top">Field index (0-based) of the field type to retrieve.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the identifier of a copy of the datatype of the field + if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tget_member_type_f + <dd> + <pre> +SUBROUTINE h5tget_member_type_f(type_id, field_idx, datatype, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: field_idx ! Field index (0-based) of the + ! field type to retrieve + INTEGER(HID_T), INTENT(OUT) :: datatype ! Identifier of a copy of + ! the datatype of the field + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_member_type_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>membno</code> parameter type changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tget_member_value.htm b/doc/html/H5T/H5Tget_member_value.htm new file mode 100644 index 0000000..c9bee00 --- /dev/null +++ b/doc/html/H5T/H5Tget_member_value.htm @@ -0,0 +1,68 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_member_value" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetMemberValue">H5Tget_member_value</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tget_member_value</code>(<em>hid_t</em> <code>type</code> + <em>unsigned</em> <code>memb_no</code>, + <em>void</em> *<code>value</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the value of an enumeration datatype member. +<dt><strong>Description:</strong> + <dd><code>H5Tget_member_value</code> returns the value of + the enumeration datatype member <code>memb_no</code>. + <p> + The member value is returned in a user-supplied buffer + pointed to by <code>value</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type</code></td> + <td valign="top">IN: Datatype identifier for the enumeration datatype.</td></tr> + <tr> + <td valign="top"><em>unsigned</em> <code>memb_no</code>,</td> + <td valign="top">IN: Number of the enumeration datatype member.</td></tr> + <tr> + <td valign="top"><em>void</em> *<code>value </code></td> + <td valign="top">OUT: Pointer to a buffer for output of the + value of the enumeration datatype 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> h5tget_member_value_f + <dd> + <pre> +SUBROUTINE h5tget_member_value_f(type_id, member_no, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: member_no ! Number of the enumeration + ! datatype member + INTEGER, INTENT(OUT) :: value ! Value of the enumeration datatype + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_member_value_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History</strong>:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.4</td> + <td valign="top"> + <code>membno</code> parameter type changed to + <em>unsigned</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tget_native_type.htm b/doc/html/H5T/H5Tget_native_type.htm new file mode 100644 index 0000000..19787a2 --- /dev/null +++ b/doc/html/H5T/H5Tget_native_type.htm @@ -0,0 +1,114 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_native_type" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetNativeType">H5Tget_native_type</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Tget_native_type</code>(<em>hid_t</em> <code>type_id</code>, + <em>H5T_direction_t</em> <code>direction</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the native datatype of a specified datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_native_type</code> returns the equivalent native datatype + for the datatype specified in <code>type_id</code>. + <p> + <code>H5Tget_native_type</code> is a high-level function designed + primarily to facilitate use of the <code>H5Dread</code> function, + for which users otherwise must undertake a multi-step process to + determine the native datatype of a dataset prior to reading it + into memory. + It can be used not only to determine + the native datatype for atomic datatypes, + but also to determine the native datatypes of the individual components + of a compound datatype, an enumerated datatype, an array datatype, or + a variable-length datatype. + For example, if <code>dtype_id</code> is a compound datatype, + the returned datatype identifier will be for + a similar compound datatype with + each element converted to the corresponding native datatype. + <p> + <code>H5Tget_native_type</code> selects the matching native datatype + from the following list: + <pre> H5T_NATIVE_CHAR + H5T_NATIVE_SHORT + H5T_NATIVE_INT + H5T_NATIVE_LONG + H5T_NATIVE_LLONG + + H5T_NATIVE_UCHAR + H5T_NATIVE_USHORT + H5T_NATIVE_UINT + H5T_NATIVE_ULONG + H5T_NATIVE_ULLONG + + H5T_NATIVE_FLOAT + H5T_NATIVE_DOUBLE + H5T_NATIVE_LDOUBLE</pre> + <p> + The <code>direction</code> parameter indicates the order + in which the library searches for a native datatype match. + Valid values for <code>direction</code> are as follows: + <table border=0> + <tr valign=top><td> </td><td> + <code>H5T_DIR_ASCEND</code></td><td> + Searches the above list in ascending size of the datatype,<br> + i.e., from top to bottom. (Default) + </td></tr> + <tr valign=top><td> </td><td> + <code>H5T_DIR_DESCEND</code> </td><td> + Searches the above list in descending size of the datatype,<br> + i.e., from bottom to top. + </td></tr> + </table> + <p> + <code>H5Tget_native_type</code> is designed primarily for + use with integer and floating point datatypes. + String, time, bitfield, opaque, and reference datatypes are returned + as a copy of <code>type_id</code>. + <p> + The identifier returned by <code>H5Tget_native_type</code> + should eventually be closed by calling <code>H5Tclose</code> + to release resources. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Datatype identifier for the dataset datatype.</td></tr> + <tr> + <td valign="top"><em>H5T_direction_t</em> <code>direction </code></td> + <td valign="top">Direction of search.</td></tr> + </table></ul> +<!-- NEW PAGE --> +<dt><strong>Returns:</strong> + <dd>Returns the native datatype identifier for the + specified dataset datatype 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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tget_nmembers.htm b/doc/html/H5T/H5Tget_nmembers.htm new file mode 100644 index 0000000..b7a7982 --- /dev/null +++ b/doc/html/H5T/H5Tget_nmembers.htm @@ -0,0 +1,43 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_nmembers" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetNmembers">H5Tget_nmembers</a> +<dt><strong>Signature:</strong> + <dd><em>int </em><code>H5Tget_nmembers</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the number of elements in a compound or enumeration datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_nmembers</code> retrieves + the number of fields in a compound datatype or + the number of members of an enumeration datatype. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of elements if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tget_nmembers_f + <dd> + <pre> +SUBROUTINE h5tget_nmembers_f(type_id, num_members, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: num_members ! Number of fields in a + ! compound datatype + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_nmembers_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_norm.htm b/doc/html/H5T/H5Tget_norm.htm new file mode 100644 index 0000000..2bdc80e --- /dev/null +++ b/doc/html/H5T/H5Tget_norm.htm @@ -0,0 +1,59 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_norm" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetNorm">H5Tget_norm</a> +<dt><strong>Signature:</strong> + <dd><em>H5T_norm_t </em><code>H5Tget_norm</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves mantissa normalization of a floating-point datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_norm</code> retrieves the mantissa normalization of + a floating-point datatype. Valid normalization types are: + <ul> <dl> + <dt>H5T_NORM_IMPLIED (<code>0</code>) + <dd>MSB of mantissa is not stored, always 1 + <dt>H5T_NORM_MSBSET (<code>1</code>) + <dd>MSB of mantissa is always 1 + <dt>H5T_NORM_NONE (<code>2</code>) + <dd>Mantissa is not normalized + </dl> </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a valid normalization type if successful; + otherwise <code>H5T_NORM_ERROR</code> (-1). +<dt><strong>Fortran90 Interface:</strong> h5tget_norm_f + <dd> + <pre> +SUBROUTINE h5tget_norm_f(type_id, norm, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + ! Datatype identifier + INTEGER, INTENT(OUT) :: norm ! Mantissa normalization of a + ! floating-point datatype + ! Valid normalization types are: + ! H5T_NORM_IMPLIED_F(0) + ! MSB of mantissa is not + ! stored, always 1 + ! H5T_NORM_MSBSET_F(1) + ! MSB of mantissa is always 1 + ! H5T_NORM_NONE_F(2) + ! Mantissa is not normalized + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_norm_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_offset.htm b/doc/html/H5T/H5Tget_offset.htm new file mode 100644 index 0000000..e570ea2 --- /dev/null +++ b/doc/html/H5T/H5Tget_offset.htm @@ -0,0 +1,87 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_offset" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetOffset">H5Tget_offset</a> +<dt><strong>Signature:</strong> + <dd><em>int </em><code>H5Tget_offset</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the bit offset of the first significant bit. +<dt><strong>Description:</strong> + <dd><code>H5Tget_offset</code> retrieves the bit offset of the first significant bit. + The significant bits of an atomic datum can be offset from the beginning + of the memory for that datum by an amount of padding. The `offset' + property specifies the number of bits of padding that appear to the + "right of" the value. That is, if we have a 32-bit datum with 16-bits + of precision having the value 0x1122 then it will be laid out in + memory as (from small byte address toward larger byte addresses): + <br> + <br> + + <table border align=center cellpadding=4 width="80%"> + <tr align=center> + <th width="20%">Byte Position</th> + <th width="20%">Big-Endian Offset=0</th> + <th width="20%">Big-Endian Offset=16</th> + <th width="20%">Little-Endian Offset=0</th> + <th width="20%">Little-Endian Offset=16</th> + </tr> + <tr align=center> + <td>0:</td> + <td>[ pad]</td> + <td>[0x11]</td> + <td>[0x22]</td> + <td>[ pad]</td> + </tr> + <tr align=center> + <td>1:</td> + <td>[ pad]</td> + <td>[0x22]</td> + <td>[0x11]</td> + <td>[ pad]</td> + </tr> + <tr align=center> + <td>2:</td> + <td>[0x11]</td> + <td>[ pad]</td> + <td>[ pad]</td> + <td>[0x22]</td> + </tr> + <tr align=center> + <td>3:</td> + <td>[0x22]</td> + <td>[ pad]</td> + <td>[ pad]</td> + <td>[0x11]</td> + </tr> + </table> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns an offset value if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tget_offset_f + <dd> + <pre> +SUBROUTINE h5tget_offset_f(type_id, offset, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: offset ! Datatype bit offset of the + ! first significant bit + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_offset_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_order.htm b/doc/html/H5T/H5Tget_order.htm new file mode 100644 index 0000000..294aaae --- /dev/null +++ b/doc/html/H5T/H5Tget_order.htm @@ -0,0 +1,56 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_order" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetOrder">H5Tget_order</a> +<dt><strong>Signature:</strong> + <dd><em>H5T_order_t </em><code>H5Tget_order</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the byte order of an atomic datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_order</code> returns the byte order of an + atomic datatype. + <p> + Possible return values are: + <ul><dl> + <dt><code>H5T_ORDER_LE</code> (<code>0</code>) + <dd>Little endian byte ordering (default). + <dt><code>H5T_ORDER_BE</code> (<code>1</code>) + <dd>Big endian byte ordering. + <dt><code>H5T_ORDER_VAX</code> (<code>2</code>) + <dd>VAX mixed byte ordering (not currently supported). + </dl></ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a byte order constant if successful; + otherwise <code>H5T_ORDER_ERROR</code> (-1). +<dt><strong>Fortran90 Interface:</strong> h5tget_order_f + <dd> + <pre> +SUBROUTINE h5tget_order_f(type_id, order, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: order ! Datatype byte order + ! Possible values are: + ! H5T_ORDER_LE_F + ! H5T_ORDER_BE_F + ! H5T_ORDER_VAX_F + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5tget_order_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_overflow.htm b/doc/html/H5T/H5Tget_overflow.htm new file mode 100644 index 0000000..8233e53 --- /dev/null +++ b/doc/html/H5T/H5Tget_overflow.htm @@ -0,0 +1,41 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_overflow" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetOverflow">H5Tget_overflow</a> +<dt><strong>Signature:</strong> + + +H5Tget_overflow () + <dd><em>H5T_overflow_t</em> <code>H5Tget_overflow</code>(<code>void</code>) +<dt><strong>Purpose:</strong> + <dd>Returns a pointer to the current global overflow function. +<dt><strong>Description:</strong> + <dd><code>H5Tset_overflow</code> returns a pointer + to the current global overflow function. + This is an application-defined function that is called whenever a + datatype conversion causes an overflow. +<dt><strong>Parameters:</strong> + <dl> + <dt>None. + </dl> +<dt><strong>Returns:</strong> + <dd>Returns a pointer to an application-defined function if successful. + Otherwise returns NULL; this can happen if no overflow handling + function is registered. +<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> + diff --git a/doc/html/H5T/H5Tget_pad.htm b/doc/html/H5T/H5Tget_pad.htm new file mode 100644 index 0000000..5d8b664 --- /dev/null +++ b/doc/html/H5T/H5Tget_pad.htm @@ -0,0 +1,69 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_pad" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetPad">H5Tget_pad</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tget_pad</code>(<em>hid_t </em><code>type_id</code>, + <em>H5T_pad_t *</em> <code>lsb</code>, + <em>H5T_pad_t *</em> <code>msb</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the padding type of the least and most-significant bit padding. +<dt><strong>Description:</strong> + <dd><code>H5Tget_pad</code> retrieves the padding type of the least and most-significant + bit padding. Valid types are: + <ul> <dl> + <dt>H5T_PAD_ZERO (<code>0</code>) + <dd>Set background to zeros. + <dt>H5T_PAD_ONE (<code>1</code>) + <dd>Set background to ones. + <dt>H5T_PAD_BACKGROUND (<code>2</code>) + <dd>Leave background alone. + </dl> </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">IN: Identifier of datatype to query.</td></tr> + <tr> + <td valign="top"><em>H5T_pad_t *</em> <code>lsb </code></td> + <td valign="top">OUT: Pointer to location to return least-significant + bit padding type.</td></tr> + <tr> + <td valign="top"><em>H5T_pad_t *</em> <code>msb</code></td> + <td valign="top">OUT: Pointer to location to return most-significant + bit padding type.</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> h5tget_pad_f + <dd> + <pre> +SUBROUTINE h5tget_pad_f(type_id, lsbpad, msbpad, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: lsbpad ! Padding type of the + ! least significant bit + INTEGER, INTENT(OUT) :: msbpad ! Padding type of the + ! most significant bit + ! Possible values of + ! padding type are: + ! H5T_PAD_ZERO_F = 0 + ! H5T_PAD_ONE_F = 1 + ! H5T_PAD_BACKGROUND_F = 2 + ! H5T_PAD_ERROR_F = -1 + ! H5T_PAD_NPAD_F = 3 + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_pad_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_precision.htm b/doc/html/H5T/H5Tget_precision.htm new file mode 100644 index 0000000..f3fe247 --- /dev/null +++ b/doc/html/H5T/H5Tget_precision.htm @@ -0,0 +1,43 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_precision" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetPrecision">H5Tget_precision</a> +<dt><strong>Signature:</strong> + <dd><em>size_t </em><code>H5Tget_precision</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the precision of an atomic datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_precision</code> returns the precision of an atomic + datatype. The precision is the number of significant bits which, + unless padding is present, is 8 times larger than the value returned + by <code>H5Tget_size</code>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the number of significant bits if successful; + otherwise 0. +<dt><strong>Fortran90 Interface:</strong> h5tget_precision_f + <dd> + <pre> +SUBROUTINE h5tget_precision_f(type_id, precision, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: precision ! Datatype precision + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_precision_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_sign.htm b/doc/html/H5T/H5Tget_sign.htm new file mode 100644 index 0000000..cd50f5e --- /dev/null +++ b/doc/html/H5T/H5Tget_sign.htm @@ -0,0 +1,55 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_sign" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetSign">H5Tget_sign</a> +<dt><strong>Signature:</strong> + <dd><em>H5T_sign_t </em><code>H5Tget_sign</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the sign type for an integer type. +<dt><strong>Description:</strong> + <dd><code>H5Tget_sign</code> retrieves the sign type for an integer type. + Valid types are: + <ul> <dl> + <dt>H5T_SGN_NONE (<code>0</code>) + <dd>Unsigned integer type. + <dt>H5T_SGN_2 (<code>1</code>) + <dd>Two's complement signed integer type. + </dl> </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a valid sign type if successful; + otherwise <code>H5T_SGN_ERROR</code> (-1). +<dt><strong>Fortran90 Interface:</strong> h5tget_sign_f + <dd> + <pre> +SUBROUTINE h5tget_sign_f(type_id, sign, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: sign ! Sign type for an integer type + ! Possible values are: + ! Unsigned integer type + ! H5T_SGN_NONE_F = 0 + ! Two's complement signed + ! integer type + ! H5T_SGN_2_F = 1 + ! or error value + ! H5T_SGN_ERROR_F = -1 + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_sign_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_size.htm b/doc/html/H5T/H5Tget_size.htm new file mode 100644 index 0000000..ff242ef --- /dev/null +++ b/doc/html/H5T/H5Tget_size.htm @@ -0,0 +1,41 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_size" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetSize">H5Tget_size</a> +<dt><strong>Signature:</strong> + <dd><em>size_t </em><code>H5Tget_size</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the size of a datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_size</code> returns the size of a datatype in bytes. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the size of the datatype in bytes if successful; + otherwise 0. +<dt><strong>Fortran90 Interface:</strong> h5tget_size_f + <dd> + <pre> +SUBROUTINE h5tget_size_f(type_id, size, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER(SIZE_T), INTENT(OUT) :: size ! Datatype size + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5tget_size_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_strpad.htm b/doc/html/H5T/H5Tget_strpad.htm new file mode 100644 index 0000000..aea6163 --- /dev/null +++ b/doc/html/H5T/H5Tget_strpad.htm @@ -0,0 +1,48 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_strpad" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetStrpad">H5Tget_strpad</a> +<dt><strong>Signature:</strong> + <dd><em>H5T_str_t </em><code>H5Tget_strpad</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves the storage mechanism for a string datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_strpad</code> retrieves the storage mechanism + for a string datatype, as defined in + <a href="#Datatype-SetStrpad"><code>H5Tset_strpad</code></a>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to query.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a valid string storage mechanism if successful; + otherwise <code>H5T_STR_ERROR</code> (-1). +<dt><strong>Fortran90 Interface:</strong> h5tget_strpad_f + <dd> + <pre> +SUBROUTINE h5tget_strpad_f(type_id, strpad, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + ! Datatype identifier + INTEGER, INTENT(OUT) :: strpad ! String padding method for a string datatype + ! Possible values of padding type are: + ! Pad with zeros (as C does): + ! H5T_STR_NULLPAD_F(0) + ! Pad with spaces (as FORTRAN does): + ! H5T_STR_SPACEPAD_F(1) + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_strpad_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_super.htm b/doc/html/H5T/H5Tget_super.htm new file mode 100644 index 0000000..1901476 --- /dev/null +++ b/doc/html/H5T/H5Tget_super.htm @@ -0,0 +1,43 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_super" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetSuper">H5Tget_super</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em> <code>H5Tget_super</code>(<em>hid_t</em> <code>type</code> + ) +<dt><strong>Purpose:</strong> + <dd>Returns the base datatype from which a datatype is derived. +<dt><strong>Description:</strong> + <dd><code>H5Tget_super</code> returns the base datatype from which the + datatype <code>type</code> is derived. + <P> + In the case of an enumeration type, the return value is an integer type. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type </code></td> + <td valign="top">Datatype identifier for the derived datatype.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns the datatype identifier for the base datatype if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tget_super_f + <dd> + <pre> +SUBROUTINE h5tget_super_f(type_id, base_type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER(HID_T), INTENT(OUT) :: type_id ! Base datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_super_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tget_tag.htm b/doc/html/H5T/H5Tget_tag.htm new file mode 100644 index 0000000..5e21539 --- /dev/null +++ b/doc/html/H5T/H5Tget_tag.htm @@ -0,0 +1,46 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tget_tag" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-GetTag">H5Tget_tag</a> +<dt><strong>Signature:</strong> + <dd><em>char</em> *<code>H5Tget_tag</code>(<em>hid_t</em> <code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Gets the tag associated with an opaque datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tget_tag</code> returns the tag associated with + the opaque datatype <code>type_id</code>. + <P> + The tag is returned via a pointer to an + allocated string, which the caller must free. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Datatype identifier for the opaque datatype.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a pointer to an allocated string if successful; + otherwise returns <code>NULL</code>. +<dt><strong>Fortran90 Interface:</strong> h5tget_tag_f + <dd> + <pre> +SUBROUTINE h5tget_tag_f(type_id, tag,taglen, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(OUT) :: tag ! Unique ASCII string with which the + ! opaque datatype is to be tagged + INTEGER, INTENT(OUT) :: taglen ! Length of tag + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tget_tag_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tinsert.htm b/doc/html/H5T/H5Tinsert.htm new file mode 100644 index 0000000..890b303 --- /dev/null +++ b/doc/html/H5T/H5Tinsert.htm @@ -0,0 +1,64 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tinsert" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Insert">H5Tinsert</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tinsert</code>(<em>hid_t </em><code>type_id</code>, + <em>const char *</em> <code>name</code>, + <em>size_t</em> <code>offset</code>, + <em>hid_t</em> <code>field_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Adds a new member to a compound datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tinsert</code> adds another member to the compound datatype + <code>type_id</code>. The new member has a <code>name</code> which + must be unique within the compound datatype. + The <code>offset</code> argument defines the start of the member + in an instance of the compound datatype, and <code>field_id</code> + is the datatype identifier of the new member. + <P> + Note: Members of a compound datatype do not have to be atomic datatypes; + a compound datatype can have a member which is a compound datatype. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of compound datatype to modify.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>name </code></td> + <td valign="top">Name of the field to insert.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>offset</code></td> + <td valign="top">Offset in memory structure of the field to insert.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>field_id</code></td> + <td valign="top">Datatype identifier of the field to insert.</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> h5tinsert_f + <dd> + <pre> +SUBROUTINE h5tinsert_f(type_id, name, offset, field_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the field to insert + INTEGER(SIZE_T), INTENT(IN) :: offset ! Offset in memory structure + ! of the field to insert + INTEGER(HID_T), INTENT(IN) :: field_id ! Datatype identifier of the + ! new member + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tinsert_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tis_variable_str.htm b/doc/html/H5T/H5Tis_variable_str.htm new file mode 100644 index 0000000..c7454b1 --- /dev/null +++ b/doc/html/H5T/H5Tis_variable_str.htm @@ -0,0 +1,59 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tis_variable_str" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-IsVariableString">H5Tis_variable_str</a> +<dt><strong>Signature:</strong> + <dd><em>htri_t </em><code>H5Tis_variable_str</code>(<em>hid_t </em><code>dtype_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Determines whether datatype is a variable-length string. +<dt><strong>Description:</strong> + <dd><code>H5Tis_variable_str</code> determines whether the datatype + identified in <code>dtype_id</code> is a variable-length string. + <p> + This function can be used to distinguish between + fixed and variable-length string datatypes. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>dtype_id </code></td> + <td valign="top">Datatype identifier.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns <code>TRUE</code> or <code>FALSE</code> if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tis_variable_str_f + <dd> + <pre> +SUBROUTINE h5tis_variable_str_f(type_id, status, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + LOGICAL, INTENT(OUT) :: status ! Logical flag: + ! .TRUE. if datatype is a + ! variable string + ! .FALSE. otherwise + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tis_variable_str_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tlock.htm b/doc/html/H5T/H5Tlock.htm new file mode 100644 index 0000000..1e0af8b --- /dev/null +++ b/doc/html/H5T/H5Tlock.htm @@ -0,0 +1,42 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tlock" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Lock">H5Tlock</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tlock</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Locks a datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tlock</code> locks the datatype specified by the + <code>type_id</code> identifier, making it read-only and + non-destructible. This is normally done by the library for + predefined datatypes so the application does not + inadvertently change or delete a predefined type. + Once a datatype is locked it can never be unlocked. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to lock.</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> + diff --git a/doc/html/H5T/H5Topen.htm b/doc/html/H5T/H5Topen.htm new file mode 100644 index 0000000..f1c5a7e --- /dev/null +++ b/doc/html/H5T/H5Topen.htm @@ -0,0 +1,52 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Topen" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Open">H5Topen</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t</em><code>H5Topen</code>(<em>hid_t</em> <code>loc_id</code>, + <em>const char *</em> <code>name</code> + ) +<dt><strong>Purpose:</strong> + <dd>Opens a named datatype. +<dt><strong>Description:</strong> + <dd><code>H5Topen</code> opens a named datatype at the location + specified by <code>loc_id</code> and returns an identifier + for the datatype. <code>loc_id</code> is either a file or + group identifier. The identifier should eventually be closed + by calling <code>H5Tclose</code> to release resources. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>loc_id</code></td> + <td valign="top">IN: A file or group identifier.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>name </code></td> + <td valign="top">IN: A datatype name, defined within the file + or group identified by <code>loc_id</code>.</td></tr> + </table></ul> +<dt><strong>Returns:</strong> + <dd>Returns a named datatype identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5topen_f + <dd> + <pre> +SUBROUTINE h5topen_f(loc_id, name, type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Datatype name within file or + ! group + INTEGER(HID_T), INTENT(out) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5topen_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tpack.htm b/doc/html/H5T/H5Tpack.htm new file mode 100644 index 0000000..3c8a4d2 --- /dev/null +++ b/doc/html/H5T/H5Tpack.htm @@ -0,0 +1,40 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tpack" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Pack">H5Tpack</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tpack</code>(<em>hid_t </em><code>type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Recursively removes padding from within a compound datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tpack</code> recursively removes padding from within a compound + datatype to make it more efficient (space-wise) to store that data. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to modify.</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> h5tpack_f + <dd> + <pre> +SUBROUTINE h5tpack_f(type_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tpack_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tregister.htm b/doc/html/H5T/H5Tregister.htm new file mode 100644 index 0000000..4066eb8 --- /dev/null +++ b/doc/html/H5T/H5Tregister.htm @@ -0,0 +1,125 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tregister" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Register">H5Tregister</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tregister</code>(<em>H5T_pers_t</em> <code>pers</code>, + <em>const char *</em> <code>name</code>, + <em>hid_t </em><code>src_id</code>, + <em>hid_t</em> <code>dst_id</code>, + <em>H5T_conv_t</em> <code>func</code> + ) +<dt><strong>Purpose:</strong> + <dd>Registers a conversion function. +<dt><strong>Description:</strong> + <dd><code>H5Tregister</code> registers a hard or soft conversion function + for a datatype conversion path. + <p> + The parameter <code>pers</code> indicates whether a conversion function + is <em>hard</em> (<code>H5T_PERS_HARD</code>) + or <em>soft</em> (<code>H5T_PERS_SOFT</code>). + <p> + A conversion path can have only one hard function. + When <code>pers</code> is <code>H5T_PERS_HARD</code>, + <code>func</code> replaces any previous hard function. + If <code>pers</code> is <code>H5T_PERS_HARD</code> and + <code>func</code> is the null pointer, then any hard function + registered for this path is removed. + <p> + When <code>pers</code> is <code>H5T_PERS_SOFT</code>, + <code>H5Tregister</code> + adds the function to the end of the master soft list and replaces + the soft function in all applicable existing conversion paths. + Soft functions are used when determining which conversion function + is appropriate for this path. + <p> + The <code>name</code> is used only for debugging and should be a + short identifier for the function. + <p> + The path is specified by the source and destination datatypes + <code>src_id</code> and <code>dst_id</code>. + For soft conversion functions, only the class of these types is important. + <p> + The type of the conversion function pointer is declared as: + <dir> +<pre><code>typedef</code> <em>herr_t </em>(<code>*H5T_conv_t</code>) (<em>hid_t </em><code>src_id</code>, + <em>hid_t </em><code>dst_id</code>, + <em>H5T_cdata_t *</em><code>cdata</code>, + <em>size_t </em><code>nelmts</code>, + <em>size_t </em><code>buf_stride</code>, + <em>size_t </em><code>bkg_stride</code>, + <em>void *</em><code>buf</code>, + <em>void *</em><code>bkg</code>, + <em>hid_t </em><code>dset_xfer_plist</code>)</pre> + </dir> + <p> + The <code>H5T_cdata_t</code> struct is declared as: + <dir> +<pre><code>typedef</code> <em>struct </em><code>*H5T_cdata_t</code> (<em>H5T_cmd_t </em><code>command</code>, + <em>H5T_bkg_t </em><code>need_bkg</code>, + <em>hbool_t *</em><code>recalc</code>, + <em>void *</em><code>priv</code>)</pre> + </dir> + <p> + The <code>H5T_conv_t</code> parameters and + the elements of the <code>H5T_cdata_t</code> struct + are described more fully in the + “<a href="Datatypes.html#Datatypes-DataConversion" + target="WinUG">Data Conversion</a>” + section of “The Datatype Interface (H5T)” + in the <cite>HDF5 User's Guide</cite>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5T_pers_t</em> <code>pers</code></td> + <td valign="top"><code>H5T_PERS_HARD</code> for hard conversion functions; + <code>H5T_PERS_SOFT</code> for soft conversion functions.</td></tr> + <tr> + <td valign="top"><em>const char *</em> <code>name</code></td> + <td valign="top">Name displayed in diagnostic output.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>src_id</code></td> + <td valign="top">Identifier of source datatype.</td></tr> + <tr> + <td valign="top"><em>hid_t</em> <code>dst_id</code></td> + <td valign="top">Identifier of destination datatype.</td></tr> + <tr> + <td valign="top"><em>H5T_conv_t</em> <code>func </code></td> + <td valign="top">Function to convert between source and destination datatypes.</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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.3</td> + <td valign="top"> + The following change occurred in the + <code>H5Tconv_t</code> function:<br> + + <code>nelmts</code> parameter type changed to + <em>size_t</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tset_cset.htm b/doc/html/H5T/H5Tset_cset.htm new file mode 100644 index 0000000..81a81c3 --- /dev/null +++ b/doc/html/H5T/H5Tset_cset.htm @@ -0,0 +1,59 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_cset" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetCset">H5Tset_cset</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_cset</code>(<em>hid_t </em><code>type_id</code>, + <em>H5T_cset_t</em> <code>cset</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets character set to be used. +<dt><strong>Description:</strong> + <dd><code>H5Tset_cset</code> sets the character set to be used. + <p> + HDF5 is able to distinguish between character sets of different + nationalities and to convert between them to the extent possible. + Valid character set types are: + <table> + <tr><td> + </td><td><code>H5T_CSET_ASCII</code> + </td><td>(<code>0</code>) + </td><td> + </td><td>Character set is US ASCII. + </td></tr> + </table> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of datatype to modify.</td></tr> + <tr> + <td valign="top"><em>H5T_cset_t</em> <code>cset </code></td> + <td valign="top">Character set type.</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> h5tset_cset_f + <dd> + <pre> +SUBROUTINE h5tset_cset_f(type_id, cset, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + ! Datatype identifier + INTEGER, INTENT(IN) :: cset ! Character set type of a string datatype + ! Possible values of padding type are: + ! H5T_CSET_ASCII_F = 0 + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_cset_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_ebias.htm b/doc/html/H5T/H5Tset_ebias.htm new file mode 100644 index 0000000..3325236 --- /dev/null +++ b/doc/html/H5T/H5Tset_ebias.htm @@ -0,0 +1,46 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_ebias" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetEbias">H5Tset_ebias</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_ebias</code>(<em>hid_t </em><code>type_id</code>, + <em>size_t</em> <code>ebias</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets the exponent bias of a floating-point type. +<dt><strong>Description:</strong> + <dd><code>H5Tset_ebias</code> sets the exponent bias of a floating-point type. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to set.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>ebias</code></td> + <td valign="top">Exponent bias 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> h5tset_ebias_f + <dd> + <pre> +SUBROUTINE h5tset_ebias_f(type_id, ebias, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: ebias ! Datatype exponent bias + ! of a floating-point type, + ! which cannot be 0 + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_ebias_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_fields.htm b/doc/html/H5T/H5Tset_fields.htm new file mode 100644 index 0000000..5d09a09 --- /dev/null +++ b/doc/html/H5T/H5Tset_fields.htm @@ -0,0 +1,70 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_fields" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetFields">H5Tset_fields</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_fields</code>(<em>hid_t </em><code>type_id</code>, + <em>size_t</em> <code>spos</code>, + <em>size_t</em> <code>epos</code>, + <em>size_t</em> <code>esize</code>, + <em>size_t</em> <code>mpos</code>, + <em>size_t</em> <code>msize</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets locations and sizes of floating point bit fields. +<dt><strong>Description:</strong> + <dd><code>H5Tset_fields</code> sets the locations and sizes of the various + floating-point bit fields. The field positions are bit positions in the + significant region of the datatype. Bits are numbered with the least + significant bit number zero. + + <P>Fields are not allowed to extend beyond the number of bits of + precision, nor are they allowed to overlap with one another. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to set.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>spos</code></td> + <td valign="top">Sign position, i.e., the bit offset of the floating-point + sign bit.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>epos</code></td> + <td valign="top">Exponent bit position.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>esize</code></td> + <td valign="top">Size of exponent in bits.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>mpos</code></td> + <td valign="top">Mantissa bit position.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>msize</code></td> + <td valign="top">Size of mantissa in bits.</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> h5tset_fields_f + <dd> + <pre> +SUBROUTINE h5tset_fields_f(type_id, epos, esize, mpos, msize, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: epos ! Exponent bit-position + INTEGER, INTENT(IN) :: esize ! Size of exponent in bits + INTEGER, INTENT(IN) :: mpos ! Mantissa bit-position + INTEGER, INTENT(IN) :: msize ! Size of mantissa in bits + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_fields_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_inpad.htm b/doc/html/H5T/H5Tset_inpad.htm new file mode 100644 index 0000000..ba6167f --- /dev/null +++ b/doc/html/H5T/H5Tset_inpad.htm @@ -0,0 +1,62 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_inpad" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetInpad">H5Tset_inpad</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_inpad</code>(<em>hid_t </em><code>type_id</code>, + <em>H5T_pad_t</em> <code>inpad</code> + ) +<dt><strong>Purpose:</strong> + <dd>Fills unused internal floating point bits. +<dt><strong>Description:</strong> + <dd>If any internal bits of a floating point type are unused + (that is, those significant bits which are not part of the + sign, exponent, or mantissa), then <code>H5Tset_inpad</code> will be filled + according to the value of the padding value property <code>inpad</code>. + Valid padding types are: + <ul> <dl> + <dt>H5T_PAD_ZERO (<code>0</code>) + <dd>Set background to zeros. + <dt>H5T_PAD_ONE (<code>1</code>) + <dd>Set background to ones. + <dt>H5T_PAD_BACKGROUND (<code>2</code>) + <dd>Leave background alone. + </dl> </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of datatype to modify.</td></tr> + <tr> + <td valign="top"><em>H5T_pad_t</em> <code>pad </code></td> + <td valign="top">Padding type.</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> h5tset_inpad_f + <dd> + <pre> +SUBROUTINE h5tset_inpad_f(type_id, padtype, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + ! Datatype identifier + INTEGER, INTENT(IN) :: padtype ! Padding type for unused bits + ! in floating-point datatypes. + ! Possible values of padding type are: + ! H5T_PAD_ZERO_F = 0 + ! H5T_PAD_ONE_F = 1 + ! H5T_PAD_BACKGROUND_F = 2 + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_inpad_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_norm.htm b/doc/html/H5T/H5Tset_norm.htm new file mode 100644 index 0000000..eebe24b --- /dev/null +++ b/doc/html/H5T/H5Tset_norm.htm @@ -0,0 +1,63 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_norm" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetNorm">H5Tset_norm</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_norm</code>(<em>hid_t </em><code>type_id</code>, + <em>H5T_norm_t</em> <code>norm</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets the mantissa normalization of a floating-point datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tset_norm</code> sets the mantissa normalization of + a floating-point datatype. Valid normalization types are: + <ul> <dl> + <dt>H5T_NORM_IMPLIED (<code>0</code>) + <dd>MSB of mantissa is not stored, always 1 + <dt>H5T_NORM_MSBSET (<code>1</code>) + <dd>MSB of mantissa is always 1 + <dt>H5T_NORM_NONE (<code>2</code>) + <dd>Mantissa is not normalized + </dl> </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of datatype to set.</td></tr> + <tr> + <td valign="top"><em>H5T_norm_t</em> <code>norm </code></td> + <td valign="top">Mantissa normalization type.</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> h5tset_norm_f + <dd> + <pre> +SUBROUTINE h5tset_norm_f(type_id, norm, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + ! Datatype identifier + INTEGER, INTENT(IN) :: norm ! Mantissa normalization of a + ! floating-point datatype + ! Valid normalization types are: + ! H5T_NORM_IMPLIED_F(0) + ! MSB of mantissa is not stored, + ! always 1 + ! H5T_NORM_MSBSET_F(1) + ! MSB of mantissa is always 1 + ! H5T_NORM_NONE_F(2) + ! Mantissa is not normalized + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_norm_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_offset.htm b/doc/html/H5T/H5Tset_offset.htm new file mode 100644 index 0000000..05f130f --- /dev/null +++ b/doc/html/H5T/H5Tset_offset.htm @@ -0,0 +1,98 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_offset" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetOffset">H5Tset_offset</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_offset</code>(<em>hid_t </em><code>type_id</code>, + <em>size_t</em> <code>offset</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets the bit offset of the first significant bit. +<dt><strong>Description:</strong> + <dd><code>H5Tset_offset</code> sets the bit offset of the first significant bit. The + significant bits of an atomic datum can be offset from the beginning of + the memory for that datum by an amount of padding. The `offset' + property specifies the number of bits of padding that appear to the + "right of" the value. That is, if we have a 32-bit datum with 16-bits + of precision having the value 0x1122 then it will be laid out in + memory as (from small byte address toward larger byte addresses): + <br> + <br> + + <table border align=center cellpadding=4 width="80%"> + <tr align=center> + <th width="20%">Byte Position</th> + <th width="20%">Big-Endian Offset=0</th> + <th width="20%">Big-Endian Offset=16</th> + <th width="20%">Little-Endian Offset=0</th> + <th width="20%">Little-Endian Offset=16</th> + </tr> + <tr align=center> + <td>0:</td> + <td>[ pad]</td> + <td>[0x11]</td> + <td>[0x22]</td> + <td>[ pad]</td> + </tr> + <tr align=center> + <td>1:</td> + <td>[ pad]</td> + <td>[0x22]</td> + <td>[0x11]</td> + <td>[ pad]</td> + </tr> + <tr align=center> + <td>2:</td> + <td>[0x11]</td> + <td>[ pad]</td> + <td>[ pad]</td> + <td>[0x22]</td> + </tr> + <tr align=center> + <td>3:</td> + <td>[0x22]</td> + <td>[ pad]</td> + <td>[ pad]</td> + <td>[0x11]</td> + </tr> + </table> + +<P>If the offset is incremented then the total size is +incremented also if necessary to prevent significant bits of +the value from hanging over the edge of the datatype. + +<P>The offset of an H5T_STRING cannot be set to anything but +zero. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to set.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>offset</code></td> + <td valign="top">Offset of first significant bit.</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> h5tset_offset_f + <dd> + <pre> +SUBROUTINE h5tset_offset_f(type_id, offset, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: offset ! Datatype bit offset of + ! the first significant bit + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_offset_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_order.htm b/doc/html/H5T/H5Tset_order.htm new file mode 100644 index 0000000..b070517 --- /dev/null +++ b/doc/html/H5T/H5Tset_order.htm @@ -0,0 +1,58 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_order" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetOrder">H5Tset_order</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_order</code>(<em>hid_t </em><code>type_id</code>, + <em>H5T_order_t</em><code>order</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets the byte ordering of an atomic datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tset_order</code> sets the byte ordering of an atomic datatype. + Byte orderings currently supported are: + <ul> <dl> + <dt>H5T_ORDER_LE (<code>0</code>) + <dd> Little-endian byte ordering (default). + <dt>H5T_ORDER_BE (<code>1</code>) + <dd> Big-endian byte ordering. + <dt>H5T_ORDER_VAX (<code>2</code>) + <dd>VAX mixed byte ordering (not currently supported). + </dl> </ul> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of datatype to set.</td></tr> + <tr> + <td valign="top"><em>H5T_order_t</em> <code>order </code></td> + <td valign="top">Byte ordering constant.</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> h5tset_order_f + <dd> + <pre> +SUBROUTINE h5tset_order_f(type_id, order, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: order ! Datatype byte order + ! Possible values are: + ! H5T_ORDER_LE_F + ! H5T_ORDER_BE_F + ! H5T_ORDER_VAX_F + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5tset_order_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_overflow.htm b/doc/html/H5T/H5Tset_overflow.htm new file mode 100644 index 0000000..fe04ff2 --- /dev/null +++ b/doc/html/H5T/H5Tset_overflow.htm @@ -0,0 +1,49 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_overflow" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetOverflow">H5Tset_overflow</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tset_overflow</code>(<em>H5T_overflow_t</em> <code>func</code>) +<dt><strong>Purpose:</strong> + <dd>Sets the overflow handler to a specified function. +<dt><strong>Description:</strong> + <dd><code>H5Tset_overflow</code> sets the overflow handler + to be the function specified by <code>func</code>. + <code>func</code> will be called for all datatype conversions that + result in an overflow. + <p> + See the definition of <code>H5T_overflow_t</code> in + <code>H5Tpublic.h</code> for documentation + of arguments and return values. + The prototype for <code>H5T_overflow_t</code> is as follows:<br> + <code>herr_t (*H5T_overflow_t)(hid_t src_id, hid_t dst_id, + void *src_buf, void *dst_buf); + </code> + <p> + The NULL pointer may be passed to remove the overflow handler. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5T_overflow_t</em> <code>func </code></td> + <td valign="top">Overflow 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> + diff --git a/doc/html/H5T/H5Tset_pad.htm b/doc/html/H5T/H5Tset_pad.htm new file mode 100644 index 0000000..3639afa --- /dev/null +++ b/doc/html/H5T/H5Tset_pad.htm @@ -0,0 +1,66 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_pad" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetPad">H5Tset_pad</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_pad</code>(<em>hid_t </em><code>type_id</code>, + <em>H5T_pad_t</em> <code>lsb</code>, + <em>H5T_pad_t</em> <code>msb</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets the least and most-significant bits padding types. +<dt><strong>Description:</strong> + <dd><code>H5Tset_pad</code> sets the least and most-significant bits padding types. + <dl> <ul> + <dt>H5T_PAD_ZERO (<code>0</code>) + <dd>Set background to zeros. + <dt>H5T_PAD_ONE (<code>1</code>) + <dd>Set background to ones. + <dt>H5T_PAD_BACKGROUND (<code>2</code>) + <dd>Leave background alone. + </ul> </dl> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of datatype to set.</td></tr> + <tr> + <td valign="top"><em>H5T_pad_t</em> <code>lsb </code></td> + <td valign="top">Padding type for least-significant bits.</td></tr> + <tr> + <td valign="top"><em>H5T_pad_t</em> <code>msb</code></td> + <td valign="top">Padding type for most-significant bits.</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> h5tset_pad_f + <dd> + <pre> +SUBROUTINE h5tset_pad_f(type_id, lsbpad, msbpad, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: lsbpad ! Padding type of the + ! least significant bit + INTEGER, INTENT(IN) :: msbpad ! Padding type of the + ! most significant bit + ! Possible values of padding + ! type are: + ! H5T_PAD_ZERO_F = 0 + ! H5T_PAD_ONE_F = 1 + ! H5T_PAD_BACKGROUND_F = 2 + ! H5T_PAD_ERROR_F = -1 + ! H5T_PAD_NPAD_F = 3 + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_pad_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_precision.htm b/doc/html/H5T/H5Tset_precision.htm new file mode 100644 index 0000000..33e0821 --- /dev/null +++ b/doc/html/H5T/H5Tset_precision.htm @@ -0,0 +1,55 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_precision" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetPrecision">H5Tset_precision</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_precision</code>(<em>hid_t </em><code>type_id</code>, + <em>size_t</em><code>precision</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets the precision of an atomic datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tset_precision</code> sets the precision of an atomic datatype. + The precision is the number of significant bits which, unless padding + is present, is 8 times larger than the value returned by + <code>H5Tget_size</code>. + <P>If the precision is increased then the offset is decreased and then + the size is increased to insure that significant bits do not "hang + over" the edge of the datatype. + <P>Changing the precision of an H5T_STRING automatically changes the + size as well. The precision must be a multiple of 8. + <P>When decreasing the precision of a floating point type, set the + locations and sizes of the sign, mantissa, and exponent fields + first. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of datatype to set.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>precision </code></td> + <td valign="top">Number of bits of precision for datatype.</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> h5tset_precision_f + <dd> + <pre> +SUBROUTINE h5tset_precision_f(type_id, precision, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER, INTENT(IN) :: precision ! Datatype precision + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_precision_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_sign.htm b/doc/html/H5T/H5Tset_sign.htm new file mode 100644 index 0000000..413d826 --- /dev/null +++ b/doc/html/H5T/H5Tset_sign.htm @@ -0,0 +1,58 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_sign" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetSign">H5Tset_sign</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_sign</code>(<em>hid_t </em><code>type_id</code>, + <em>H5T_sign_t</em> <code>sign</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets the sign property for an integer type. +<dt><strong>Description:</strong> + <dd><code>H5Tset_sign</code> sets the sign property for an integer type. + <dl> + <dt>H5T_SGN_NONE (<code>0</code>) + <dd>Unsigned integer type. + <dt>H5T_SGN_2 (<code>1</code>) + <dd>Two's complement signed integer type. + </dl> +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of datatype to set.</td></tr> + <tr> + <td valign="top"><em>H5T_sign_t</em> <code>sign </code></td> + <td valign="top">Sign type.</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> h5tset_sign_f + <dd> + <pre> +SUBROUTINE h5tset_sign_f(type_id, sign, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + ! Datatype identifier + INTEGER, INTENT(IN) :: sign ! Sign type for an integer type + ! Possible values are: + ! Unsigned integer type + ! H5T_SGN_NONE_F = 0 + ! Two's complement signed integer type + ! H5T_SGN_2_F = 1 + ! or error value + ! H5T_SGN_ERROR_F=-1 + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_sign_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_size.htm b/doc/html/H5T/H5Tset_size.htm new file mode 100644 index 0000000..35c3944 --- /dev/null +++ b/doc/html/H5T/H5Tset_size.htm @@ -0,0 +1,56 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_size" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetSize">H5Tset_size</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_size</code>(<em>hid_t </em><code>type_id</code>, + <em>size_t</em><code>size</code> + ) +<dt><strong>Purpose:</strong> + <dd>Sets the total size for an atomic datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tset_size</code> sets the total size in bytes, + <code>size</code>, for a datatype. If the datatype is atomic and size + is decreased so that the significant bits of the datatype extend beyond + the edge of the new size, then the `offset' property is decreased + toward zero. If the `offset' becomes zero and the significant + bits of the datatype still hang over the edge of the new size, then + the number of significant bits is decreased. + The size set for a string should include space for the null-terminator + character, otherwise it will not be stored on (or retrieved from) disk. + Adjusting the size of a string automatically sets the precision + to 8*<code>size</code>. A compound datatype may increase in size, + but may not shrink. All datatypes must have a positive size. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id </code></td> + <td valign="top">Identifier of datatype to change size.</td></tr> + <tr> + <td valign="top"><em>size_t</em> <code>size</code></td> + <td valign="top">Size in bytes to modify datatype.</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> h5tset_size_f + <dd> + <pre> +SUBROUTINE h5tset_size_f(type_id, size, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + INTEGER(SIZE_T), INTENT(IN) :: size ! Datatype size + INTEGER, INTENT(OUT) :: hdferr ! Error code + ! 0 on success and -1 on failure +END SUBROUTINE h5tset_size_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_strpad.htm b/doc/html/H5T/H5Tset_strpad.htm new file mode 100644 index 0000000..53fe64c --- /dev/null +++ b/doc/html/H5T/H5Tset_strpad.htm @@ -0,0 +1,79 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_strpad" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetStrpad">H5Tset_strpad</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t </em><code>H5Tset_strpad</code>(<em>hid_t </em><code>type_id</code>, + <em>H5T_str_t</em> <code>strpad</code> + ) +<dt><strong>Purpose:</strong> + <dd>Defines the storage mechanism for character strings. +<dt><strong>Description:</strong> + <dd><code>H5Tset_strpad</code> defines the storage mechanism for the string. + <p> + The method used to store character strings differs with the + programming language: + <ul> + <li>C usually null terminates strings while + <li>Fortran left-justifies and space-pads strings. + </ul> + Valid string padding values, as passed in the parameter + <code>strpad</code>, are as follows: + <ul> <dl> + <dt>H5T_STR_NULLTERM (<code>0</code>) + <dd>Null terminate (as C does) + <dt>H5T_STR_NULLPAD (<code>1</code>) + <dd>Pad with zeros + <dt>H5T_STR_SPACEPAD (<code>2</code>) + <dd>Pad with spaces (as FORTRAN does) + </dl> </ul> + <p> + When converting from a longer string to a shorter string, + the behavior is as follows. + If the short string is <code>H5T_STR_NULLPAD</code> or + <code>H5T_STR_SPACEPAD</code>, then the string is simply truncated. + If the short string is <code>H5T_STR_NULLTERM</code>, it is + truncated and a null terminator is appended. + <p> + When converting from a shorter string to a longer string, + the long string is padded on the end by appending nulls or spaces. + + +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">Identifier of datatype to modify.</td></tr> + <tr> + <td valign="top"><em>H5T_str_t</em> <code>strpad </code></td> + <td valign="top">String padding type.</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> h5tset_strpad_f + <dd> + <pre> +SUBROUTINE h5tset_strpad_f(type_id, strpad, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id + ! Datatype identifier + INTEGER, INTENT(IN) :: strpad ! String padding method for a string datatype + ! Possible values of padding type are: + ! Pad with zeros (as C does): + ! H5T_STR_NULLPAD_F(0) + ! Pad with spaces (as FORTRAN does): + ! H5T_STR_SPACEPAD_F(1) + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_strpad_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tset_tag.htm b/doc/html/H5T/H5Tset_tag.htm new file mode 100644 index 0000000..51c0fc2 --- /dev/null +++ b/doc/html/H5T/H5Tset_tag.htm @@ -0,0 +1,66 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tset_tag" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-SetTag">H5Tset_tag</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tset_tag</code>(<em>hid_t</em> <code>type_id</code> + <em>const char</em> *<code>tag</code> + ) +<dt><strong>Purpose:</strong> + <dd>Tags an opaque datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tset_tag</code> tags an opaque datatype <code>type_id</code> + with a descriptive ASCII identifier,<code> tag</code>. + <p> + <code>tag</code> is intended to provide a concise description; + the maximum size is hard-coded in the HDF5 Library as 256 bytes + (<code>H5T_OPAQUE_TAG_MAX</code>). +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>type_id</code></td> + <td valign="top">IN: Datatype identifier for the opaque datatype to be tagged.</td></tr> + <tr> + <td valign="top"><em>const char</em> *<code>tag </code></td> + <td valign="top">IN: Descriptive ASCII string with which the + opaque datatype is to be tagged.</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> h5tset_tag_f + <dd> + <pre> +SUBROUTINE h5tset_tag_f(type_id, tag, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier + CHARACTER(LEN=*), INTENT(IN) :: tag ! Unique ASCII string with which the + ! opaque datatype is to be tagged + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tset_tag_f + </pre> + +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.5</td> + <td valign="top"> + The <code>H5T_OPAQUE_TAG_MAX</code> macro constant, + specifying the maximum size of an opaque datatype tag, + was added in <code>H5Tpublic.h</code>.</td></tr> + </table></ul> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +</dl> + diff --git a/doc/html/H5T/H5Tunregister.htm b/doc/html/H5T/H5Tunregister.htm new file mode 100644 index 0000000..a5e16fc --- /dev/null +++ b/doc/html/H5T/H5Tunregister.htm @@ -0,0 +1,56 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tunregister" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-Unregister">H5Tunregister</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Tunregister</code>(<em>H5T_conv_t</em> <code>func</code> + ) +<dt><strong>Purpose:</strong> + <dd>Removes a conversion function from all conversion paths. +<dt><strong>Description:</strong> + <dd><code>H5Tunregister</code> removes a conversion function from all conversion paths. + <P> + The conversion function pointer type declaration is described in + <a href="#Datatype-Register">H5Tregister</a>. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5T_conv_t</em> <code>func </code></td> + <td valign="top">Function to remove from conversion paths.</td> + </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"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.3</td> + <td valign="top"> + The following change occurred in the + <code>H5Tconv_t</code> function:<br> + + <code>nelmts</code> parameter type changed to + <em>size_t</em>.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5T/H5Tvlen_create.htm b/doc/html/H5T/H5Tvlen_create.htm new file mode 100644 index 0000000..967d9b0 --- /dev/null +++ b/doc/html/H5T/H5Tvlen_create.htm @@ -0,0 +1,67 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Tvlen_create" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Datatype-VLCreate">H5Tvlen_create</a> +<dt><strong>Signature:</strong> + <dd><em>hid_t </em><code>H5Tvlen_create</code>(<em>hid_t </em><code>base_type_id</code> + ) +<dt><strong>Purpose:</strong> + <dd>Creates a new variable-length datatype. +<dt><strong>Description:</strong> + <dd><code>H5Tvlen_create</code> creates a new variable-length (VL) datatype. + <p> + The base datatype will be the datatype that the sequence is composed of, + characters for character strings, vertex coordinates for polygon lists, etc. + The base type specified for the VL datatype can be of any HDF5 datatype, + including another VL datatype, a compound datatype or an atomic datatype. + <p> + When necessary, use <code>H5Tget_super</code> to determine the base type + of the VL datatype. + <p> + The datatype identifier returned from this function should be + released with <code>H5Tclose</code> or resource leaks will result. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>hid_t</em> <code>base_type_id </code></td> + <td valign="top">Base type of datatype to create.</td></tr> + </table></ul> +<dt><strong>See Also:</strong> + <dd><a href="RM_H5D.html#Dataset-GetVLBuf">H5Dget_vlen_buf_size</a> + <dd><a href="RM_H5D.html#Dataset-VLReclaim">H5Dvlen_reclaim</a> +<dt><strong>Returns:</strong> + <dd>Returns datatype identifier if successful; + otherwise returns a negative value. +<dt><strong>Fortran90 Interface:</strong> h5tvlen_create_f + <dd> + <pre> +SUBROUTINE h5tvlen_create_f(type_id, vltype_id, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of base type + ! Base type can only be atomic + INTEGER(HID_T), INTENT(OUT) :: vltype_id ! VL datatype identifier + INTEGER, INTENT(OUT) :: hdferr ! Error code +END SUBROUTINE h5tvlen_create_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.4.5</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5Z/H5Zfilter_avail.htm b/doc/html/H5Z/H5Zfilter_avail.htm new file mode 100644 index 0000000..cb53f3e --- /dev/null +++ b/doc/html/H5Z/H5Zfilter_avail.htm @@ -0,0 +1,63 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Zfilter_avail" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Compression-FilterAvail">H5Zfilter_avail</a> + <dt><strong>Signature:</strong> + <dd><em>htri_t</em> <code>H5Zfilter_avail</code>(<em>H5Z_filter_t</em> <code>filter</code>) + <dt><strong>Purpose:</strong> + <dd>Determines whether a filter is available. + <dt><strong>Description:</strong> + <dd><code>H5Zfilter_avail</code> determines whether the filter + specified in <code>filter</code> is available to the application. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5Z_filter_t</em> <code>filter </code></td> + <td valign="top">IN: Filter identifier. + See the introduction to this section of the reference manual + for a list of valid filter identifiers.</td></tr> + </table></ul> + <dt><strong>Returns:</strong> + <dd>Returns a Boolean value (<code>TRUE</code>/<code>FALSE</code>) + if successful; + otherwise returns a negative value. + <dt><strong>Fortran90 Interface:</strong> h5zfilter_avail_f + <dd> + <pre> +SUBROUTINE h5zfilter_avail_f(filter, status, hdferr) + IMPLICIT NONE + INTEGER, INTENT(IN) :: filter ! Filter + ! Valid values are: + ! H5Z_FILTER_DEFLATE_F + ! H5Z_FILTER_SHUFFLE_F + ! H5Z_FILTER_FLETCHER32_F + ! H5Z_FILTER_SZIP_F + LOGICAL, INTENT(OUT) :: status ! Flag indicating whether + ! filter is available: + ! .TRUE. + ! .FALSE. +END SUBROUTINE h5zfilter_avail_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5Z/H5Zget_filter_info.htm b/doc/html/H5Z/H5Zget_filter_info.htm new file mode 100644 index 0000000..9bf4e65 --- /dev/null +++ b/doc/html/H5Z/H5Zget_filter_info.htm @@ -0,0 +1,142 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Zget_filter_info" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Compression-GetFilterInfo">H5Zget_filter_info</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> + <code>H5Zget_filter_info</code>( + <em>H5Z_filter_t</em> <code>filter</code>, + <em>unsigned int *</em><code>filter_config_flags</code> + ) +<dt><strong>Purpose:</strong> + <dd>Retrieves information about a filter. +<dt><strong>Description:</strong> + <dd> + <code>H5Zget_filter_info</code> retrieves information about a filter. + At present, this means that the function retrieves a + filter's configuration flags, indicating whether the filter is + configured to decode data, to encode data, neither, or both. + <p> + If <code>filter_config_flags</code> is not set to <small>NULL</small> + prior to the function call, the returned parameter contains a + bit field specifying the available filter configuration. + The configuration flag values can then be determined through + a series of bitwise <small>AND</small> operations, as described below. + <p> + Valid filter configuration flags include the following: + <table> + <tr valign="top"><td><code> </code></td> + <td><code>H5Z_FILTER_CONFIG_ENCODE_ENABLED</code> </td> + <td>Encoding is enabled for this filter. + <br> + In Fortran, <code>H5Z_FILTER_ENCODE_ENABLED_F</code>. + </td></tr> + <tr valign="top"><td> </td> + <td><code>H5Z_FILTER_CONFIG_DECODE_ENABLED</code> </td> + <td>Decoding is enabled for this filter. + <br> + In Fortran, <code>H5Z_FILTER_DECODE_ENABLED_F</code>. + </td></tr> + <tr><td> </td> + <td colspan="2" align="right"><small>(These flags + are defined for C in the HDF5 Library source code file + <code>H5Zpublic.h</code>.)</small> + </td></tr> + </table> + A bitwise <small>AND</small> of the returned + <code>filter_config_flags</code> and a valid + filter configuration flag will reveal whether + the related configuration option is available. + For example, if the value of + <br> + <code> + H5Z_FILTER_CONFIG_ENCODE_ENABLED + & + filter_config_flags</code> + <br> + is true, i.e., greater than <code>0</code> (zero), + the queried filter is configured to encode data; + if the value is <code>FALSE</code>, + i.e., equal to <code>0</code> (zero), + the filter is not so configured. + <p> + If a filter is not encode-enabled, the corresponding + <code>H5Pset_*</code> function will return an error if the + filter is added to a dataset creation property list (which is + required if the filter is to be used to encode that dataset). + For example, if the <code>H5Z_FILTER_CONFIG_ENCODE_ENABLED</code> + flag is not returned for the SZIP filter, + <code>H5Z_FILTER_SZIP</code>, a call to <code>H5Pset_szip</code> + will fail. + <p> + If a filter is not decode-enabled, the application will not be + able to read an existing file encoded with that filter. + <p> + This function should be called, and the returned + <code>filter_config_flags</code> analyzed, before calling + any other function, such as <code>H5Pset_szip</code>, + that might require a particular filter configuration. + +<dt><strong>Parameters:</strong> + <dl> + <dt><em>H5Z_filter_t</em> <code>filter</code> + <dd>IN: Identifier of the filter to query. + See the introduction to this section of the reference manual + for a list of valid filter identifiers. + <dt><em>unsigned int *</em><code>filter_config_flags</code> + <dd>OUT: A bit field encoding the returned filter information + </dl> +<dt><strong>Returns:</strong> + <dd>Returns a non-negative value on success, + a negative value on failure. + +<!-- NEW PAGE --> +<dt><strong>Fortran90 Interface:</strong> + <dd> + <pre> +SUBROUTINE h5zget_filter_info_f(filter, config_flags, hdferr) + + IMPLICIT NONE + INTEGER, INTENT(IN) :: filter ! Filter, may be one of the + ! following: + ! H5Z_FILTER_DEFLATE_F + ! H5Z_FILTER_SHUFFLE_F + ! H5Z_FILTER_FLETCHER32_F + ! H5Z_FILTER_SZIP_F + INTEGER, INTENT(OUT) :: config_flags ! Bit field indicating whether + ! a filter's encoder and/or + ! decoder are available + INTEGER, INTENT(OUT) :: hdferr ! Error code + +END SUBROUTINE h5zfilter_avail_f + </pre> + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td> + <td valign="top" align="left"> + </td> + <td valign="top" align="left"> + <strong>Fortran90</strong></td></tr> + <tr> + <td valign="top">1.6.3</td> + <td valign="top"> + Function introduced in this release.</td> + <td valign="top"> </td> + <td valign="top"> + Fortran subroutine introduced in this + release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/H5Z/H5Zregister.htm b/doc/html/H5Z/H5Zregister.htm new file mode 100644 index 0000000..0941dd7 --- /dev/null +++ b/doc/html/H5Z/H5Zregister.htm @@ -0,0 +1,229 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Zregister" --> +<hr> +<dl> +<dt><strong>Name:</strong> <a name="Compression-Register">H5Zregister</a> +<dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Zregister</code>(<em>const H5Z_class_t *</em><code>filter_class</code>) + ) +<dt><strong>Purpose:</strong> + <dd>Registers new filter. +<dt><strong>Description:</strong> + <dd><code>H5Zregister</code> registers a new filter with the + HDF5 library. + <p> + Making a new filter available to an application is a two-step + process. The first step is to write + the three filter callback functions described below: + <code>can_apply</code>, <code>set_local</code>, and <code>filter</code>. + This call to <code>H5Zregister</code>, + <span class="termEmphasis">registering</span> the filter with the + library, is the second step. + The <code>can_apply</code> and <code>set_local</code> + fields can be set to <code>NULL</code> + if they are not required for the filter being registered. + <p> + <code>H5Zregister</code> accepts a single parameter, a pointer to + a buffer for the <code>filter_class</code> data structure. + That data structure is defined as follows: + <pre> + typedef struct H5Z_class_t { + H5Z_filter_t id; + const char *name; + H5Z_can_apply_func_t can_apply; + H5Z_set_local_func_t set_local; + H5Z_func_t filter; + } H5Z_class_t; + </pre> + + <p> + <code>id</code> is the identifier for the new filter. + This is a user-defined value between + <code>H5Z_FILTER_RESERVED</code> and <code>H5Z_FILTER_MAX</code>, + both of which are defined in the HDF5 source file + <code>H5Zpublic.h</code>. + <p> + <code>name</code> is used for debugging, + may contain a descriptive name for the filter, + and may be the null pointer. + <p> + <code>can_apply</code>, described in detail below, + is a user-defined callback function which determines whether + the combination of the dataset creation property list values, + the datatype, and the dataspace represent a valid combination + to apply this filter to. + <p> + <code>set_local</code>, described in detail below, + is a user-defined callback function which sets any parameters that + are specific to this dataset, based on the combination of the + dataset creation property list values, the datatype, and the + dataspace. + <p> + <code>filter</code>, described in detail below, + is a user-defined callback function which performs the action + of the filter. + <p> + The statistics associated with a filter are not reset + by this function; they accumulate over the life of the library. + + <p> + <strong>The callback functions</strong> + <br> + Before <code>H5Zregister</code> can link a filter into an + application, three callback functions must be defined + as described in the HDF5 Library header file <code>H5Zpublic.h</code>. + + <p> + <u>The <i>can apply</i> callback function</u> is defined as follows:<br> + <dir> + <em>typedef herr_t</em> (*<code>H5Z_can_apply_func_t</code>) + (<em>hid_t</em> <code>dcpl_id</code>, + <em>hid_t</em> <code>type_id</code>, + <em>hid_t</em> <code>space_id</code>) + </dir> + <p> + Before a dataset is created, the <i>can apply</i> callbacks for + any filters used in the dataset creation property list are called + with the dataset's dataset creation property list, <code>dcpl_id</code>, + the dataset's datatype, <code>type_id</code>, and + a dataspace describing a chunk, <code>space_id</code>, + (for chunked dataset storage). + <p> + This callback must determine whether the combination of the + dataset creation property list settings, the datatype, and the + dataspace represent a valid combination to which to apply this filter. + For example, an invalid combination may involve + the filter not operating correctly on certain datatypes, + on certain datatype sizes, or on certain sizes of the chunk dataspace. + <p> + This callback can be the <code>NULL</code> pointer, in which case + the library will assume that the filter can be applied to a dataset with + any combination of dataset creation property list values, datatypes, + and dataspaces. + <p> + The <i>can apply</i> callback function must return + a positive value for a valid combination, + zero for an invalid combination, and + a negative value for an error. + + <p> + <u>The <i>set local</i> callback function</u> is defined as follows:<br> + <dir> + <em>typedef herr_t</em> (*<code>H5Z_set_local_func_t</code>) + (<em>hid_t</em> <code>dcpl_id</code>, + <em>hid_t</em> <code>type_id</code>, + <em>hid_t</em> <code>space_id</code>) + </dir> + <p> + After the <i>can apply</i> callbacks are checked for a new dataset, + the <i>set local</i> callback functions for any filters used in the + dataset creation property list are called. + These callbacks receive + <code>dcpl_id</code>, the dataset's private copy of the dataset + creation property list passed in to <code>H5Dcreate</code> + (i.e. not the actual property list passed in to <code>H5Dcreate</code>); + <code>type_id</code>, the datatype identifier passed in to + <code>H5Dcreate</code>, + which is not copied and should not be modified; and + <code>space_id</code>, a dataspace describing the chunk + (for chunked dataset storage), which should also not be modified. + <p> + The <i>set local</i> callback must set any filter parameters that are + specific to this dataset, based on the combination of the + dataset creation property list values, the datatype, and the dataspace. + For example, some filters perform different actions based on + different datatypes, datatype sizes, numbers of dimensions, + or dataspace sizes. + <p> + The <i>set local</i> callback may be the <code>NULL</code> pointer, + in which case, the library will assume that there are + no dataset-specific settings for this filter. + <p> + The <i>set local</i> callback function must return + a non-negative value on success and + a negative value for an error. + + <p> + <u>The <i>filter operation</i> callback function</u>, + defining the filter's operation on the data, is defined as follows: + <dir> + <em>typedef size_t</em> (*<code>H5Z_func_t</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>, + <em>size_t</em> <code>nbytes</code>, + <em>size_t *</em><code>buf_size</code>, + <em>void **</em><code>buf</code>) + </dir> + + <p> + The parameters <code>flags</code>, <code>cd_nelmts</code>, + and <code>cd_values</code> are the same as for the function + <a href="RM_H5P.html#Property-SetFilter"><code>H5Pset_filter</code></a>. + The one exception is that an additional flag, + <code>H5Z_FLAG_REVERSE</code>, is set when + the filter is called as part of the input pipeline. + <p> + The parameter <code>*buf</code> points to the input buffer + which has a size of <code>*buf_size</code> bytes, + <code>nbytes</code> of which are valid data. + <p> + The filter should perform the transformation in place if + possible. If the transformation cannot be done in place, + then the filter should allocate a new buffer with + <code>malloc()</code> and assign it to <code>*buf</code>, + assigning the allocated size of that buffer to + <code>*buf_size</code>. + The old buffer should be freed by calling <code>free()</code>. + <p> + If successful, the <i>filter operation</i> callback function + returns the number of valid bytes of data contained in <code>*buf</code>. + In the case of failure, the return value is <code>0</code> (zero) + and all pointer arguments are left unchanged. +<dt><strong>Note:</strong> + <dd>The <code>H5Zregister</code> interface is substantially revised + from the HDF5 Release 1.4.x series. + The <code>H5Z_class_t</code> struct and + the <i>set local</i> and <i>can apply</i> callback functions + first appeared in HDF5 Release 1.6. +<dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>const H5Z_class_t *</em><code>filter_class </code></td> + <td valign="top">IN: A pointer to a buffer for the struct + containing filter-definition information.</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> + + </pre> +--> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + This function is substantially revised in + Release 1.6.0 with a new <code>H5Z_class_t</code> + struct and new <em>set local</em> and <em>can apply</em> + callback functions.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/H5Z/H5Zunregister.htm b/doc/html/H5Z/H5Zunregister.htm new file mode 100644 index 0000000..0eb8860 --- /dev/null +++ b/doc/html/H5Z/H5Zunregister.htm @@ -0,0 +1,63 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "H5Zunregister" --> +<hr> +<dl> + <dt><strong>Name:</strong> <a name="Compression-Unregister">H5Zunregister</a> + <dt><strong>Signature:</strong> + <dd><em>herr_t</em> <code>H5Zunregister</code>(<em>H5Z_filter_t</em> <code>filter</code>) + <dt><strong>Purpose:</strong> + <dd>Unregisters a filter. + <dt><strong>Description:</strong> + <dd><code>H5Zunregister</code> unregisters the filter + specified in <code>filter</code>. + <p> + After a call to <code>H5Zunregister</code>, the filter + specified in <code>filter</code> will no longer be + available to the application. + <dt><strong>Parameters:</strong> + <ul><table> + <tr> + <td valign="top"><em>H5Z_filter_t</em> <code>filter </code></td> + <td valign="top">IN: Identifier of the filter to be unregistered. + See the introduction to this section of the reference manual + for a list of identifiers for standard filters + distributed with the HDF5 Library.</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> h5zunregister_f + <dd> + <pre> +SUBROUTINE h5zunregister_f(filter, hdferr) + IMPLICIT NONE + INTEGER, INTENT(IN) :: filter ! Filter; one of the possible values: + ! 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, and -1 on failure +END SUBROUTINE h5zunregister_f + </pre> + + <!--<dt><strong>Non-C API(s):</strong> + <dd> + + <img src="Graphics/Java.gif"> + <img src="Graphics/C++.gif"> + --> + <dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>C</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Function introduced in this release.</td></tr> + </table></ul> +</dl> + diff --git a/doc/html/RM_H5.html b/doc/html/RM_H5.html index f34d70d..a475545 100644 --- a/doc/html/RM_H5.html +++ b/doc/html/RM_H5.html @@ -161,508 +161,13 @@ as the corresponding C function. <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5check_version" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-VersCheck">H5check_version</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5check_version</code>(<em>unsigned</em> <code>majnum</code>, - <em>unsigned</em> <code>minnum</code>, - <em>unsigned</em> <code>relnum</code> - ) -<dt><strong>Purpose:</strong> - <dd>Verifies that library versions are consistent. -<dt><strong>Description:</strong> - <dd><code>H5check_version</code> verifies that the arguments provided - with the function call match the version numbers compiled into - the library. - <p> - <code>H5check_version</code> serves two slightly differing purposes. - <p> - First, the function is intended to be called by the user to verify - that the version of the header files compiled into an application - matches the version of the HDF5 library being used. - One may look at the <code>H5check</code> definition in the file - <code>H5public.h</code> as an example. - <p> - Due to the risks of data corruption or segmentation faults, - <code>H5check_version</code> causes the application to abort if the - version numbers do not match. - The abort is achieved by means of a call to the - standard C function <code>abort()</code>. - <p> - Note that <code>H5check_version</code> verifies only the - major and minor version numbers and the release number; - it does not verify the sub-release value as that should be - an empty string for any official release. - This means that any two incompatible library versions must - have different {major,minor,release} numbers. (Notice the - reverse is not necessarily true.) - <p> - Secondarily, <code>H5check_version</code> verifies that the - library version identifiers <code>H5_VERS_MAJOR</code>, - <code>H5_VERS_MINOR</code>, <code>H5_VERS_RELEASE</code>, - <code>H5_VERS_SUBRELEASE</code>, and <code>H5_VERS_INFO</code> - are consistent. - This is designed to catch source code inconsistencies, - but does not generate the fatal error as in the first stage - because this inconsistency does not cause errors in the data files. - If this check reveals inconsistencies, the library issues a warning - but the function does not fail. -<!-- - <p> -<strong><em>Alternate to preceding paragraph / More to the point?</em></strong> -<br> - If the function passes the above test and does not generate - an <code>abort()</code> call, the function's second purpose - comes into play. - <code>H5check_version</code> then procedes to verify - that the additional library version identifiers - <code>H5_VERS_SUBRELEASE</code>, and <code>H5_VERS_INFO</code> - are consistent. - This is designed to catch source code inconsistencies, - but does not generate the fatal error - that is generated under the first function. - <p> - The version and release numbers passed as - <code>H5check_version</code> parameters have the - following relationsips to each other: - <dir> - An official HDF5 release is labelled as - <br> - HDF5 Release <<code>majnum</code>><strong>.</strong><<code>minnum</code>><strong>.</strong><<code>relnum</code>> - </dir> - For example, in the version of the library known as HDF5 Release 1.4.2, - the 1 is the major version number, <code>majnum</code>; - the 1 is the minor version number, <code>minnum</code>; and - the 1 is the release number, <code>relnum</code>. ---> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>unsigned </em><code>majnum</code></td> - <td valign="top">IN: The major version of the library.</td></tr> - <tr> - <td valign="top"><em>unsigned </em><code>minnum </code></td> - <td valign="top">IN: The minor version of the library.</td></tr> - <tr> - <td valign="top"><em>unsigned </em><code>relnum</code></td> - <td valign="top">IN: The release number of the library.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Upon failure, this function causes the application to abort. -<dt><strong>Fortran90 Interface:</strong> h5check_version_f - <dd> - <pre> -SUBROUTINE h5check_version_f(hdferr) - IMPLICIT NONE - INTEGER, INTENT(IN) :: majnum ! The major version of the library - INTEGER, INTENT(IN) :: minnum ! The minor version of the library - INTEGER, INTENT(IN) :: relnum ! The release number - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5check_version_f - </pre> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5close" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-Close">H5close</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5close</code>(<em>void</em>) -<dt><strong>Purpose:</strong> - <dd>Flushes all data to disk, closes file identifiers, and cleans up memory. -<dt><strong>Description:</strong> - <dd><code>H5close</code> flushes all data to disk, - closes all file identifiers, and cleans up all memory used by - the library. This function is generally called when the - application calls <code>exit()</code>, but may be called earlier - in event of an emergency shutdown or out of desire to free all - resources used by the HDF5 library. - <p> - <code>h5close_f</code> and <code>h5open_f</code> are - required calls in Fortran90 applications. -<dt><strong>Parameters:</strong> - <dl> - <dt>None. - </dl> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5close_f - <dd> - <pre> -SUBROUTINE h5close_f(hdferr) - IMPLICIT NONE - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5close_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 "H5H5dont_atexit" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-DontAtExit">H5dont_atexit</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5dont_atexit</code>(<em>void</em>) -<dt><strong>Purpose:</strong> - <dd>Instructs library not to install <code>atexit</code> cleanup routine. -<dt><strong>Description:</strong> - <dd><code>H5dont_atexit</code> indicates to the library that an - <code>atexit()</code> cleanup routine should not be installed. - The major purpose for this is in situations where the - library is dynamically linked into an application and is - un-linked from the application before <code>exit()</code> gets - called. In those situations, a routine installed with - <code>atexit()</code> would jump to a routine which was - no longer in memory, causing errors. - <p> - In order to be effective, this routine <em>must</em> be called - before any other HDF function calls, and must be called each - time the library is loaded/linked into the application - (the first time and after it's been un-loaded). -<dt><strong>Parameters:</strong> - <dl> - <dt>None. - </dl> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5dont_atexit_f - <dd> - <pre> -SUBROUTINE h5dont_atexit_f(hdferr) - IMPLICIT NONE - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5dont_atexit_f - </pre> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5garbage_collect" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-GarbageCollect">H5garbage_collect</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5garbage_collect</code>(<em>void</em>) -<dt><strong>Purpose:</strong> - <dd>Garbage collects on all free-lists of all types. -<dt><strong>Description:</strong> - <dd><code>H5garbage_collect</code> walks through all the garbage - collection routines of the library, freeing any unused memory. - <p> - It is not required that <code>H5garbage_collect</code> be called - at any particular time; it is only necessary in certain situations - where the application has performed actions that cause the library - to allocate many objects. The application should call - <code>H5garbage_collect</code> if it eventually releases those - objects and wants to reduce the memory used by the library from - the peak usage required. - <p> - The library automatically garbage collects all the free lists - when the application ends. -<dt><strong>Parameters:</strong> - <dl> - <dt>None. - </dl> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5garbage_collect_f - <dd> - <pre> -SUBROUTINE h5garbage_collect_f(hdferr) - IMPLICIT NONE - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5garbage_collect_f - </pre> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5get_libversion" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-Version">H5get_libversion</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5get_libversion</code>(<em>unsigned *</em><code>majnum</code>, - <em>unsigned *</em><code>minnum</code>, - <em>unsigned *</em><code>relnum</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the HDF library release number. -<dt><strong>Description:</strong> - <dd><code>H5get_libversion</code> retrieves the major, minor, and release - numbers of the version of the HDF library which is linked to - the application. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>unsigned *</em><code>majnum</code></td> - <td valign="top">OUT: The major version of the library.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em><code>minnum </code></td> - <td valign="top">OUT: The minor version of the library.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em><code>relnum</code></td> - <td valign="top">OUT: The release number of the library.</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> h5get_libversion_f - <dd> - <pre> -SUBROUTINE h5get_libversion_f(hdferr) - IMPLICIT NONE - INTEGER, INTENT(OUT) :: majnum ! The major version of the library - INTEGER, INTENT(OUT) :: minnum ! The minor version of the library - INTEGER, INTENT(OUT) :: relnum ! The release number - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5get_libversion_f - </pre> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5open" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-Open">H5open</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5open</code>(<em>void</em>) -<dt><strong>Purpose:</strong> - <dd>Initializes the HDF5 library. -<dt><strong>Description:</strong> - <dd><code>H5open</code> initialize the library. - <p> - When the HDF5 Library is employed in a C application, - this function is normally called automatically, but if you - find that an HDF5 library function is failing inexplicably, - try calling this function first. - If you wish to elimnate this possibility, it is safe to - routinely call <code>H5open</code> before an application - starts working with the library as there are no damaging - side-effects in calling it more than once. - <p> - When the HDF5 Library is employed in a Fortran90 application, - <code>h5open_f</code> initializes global variables - (e.g. predefined types) and performs other tasks required to - initialize the library. - <code>h5open_f</code> and <code>h5close_f</code> are therefore - required calls in Fortran90 applications. -<dt><strong>Parameters:</strong> - <dl> - <dt>None. - </dl> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5open_f - <dd> - <pre> -SUBROUTINE h5open_f(hdferr) - IMPLICIT NONE - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5open_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 "H5set_free_list_limits" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-SetFreeListLimits">H5set_free_list_limits</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5set_free_list_limits</code>(<em>int</em> <code>reg_global_lim</code>, - <em>int</em> <code>reg_list_lim</code>, - <em>int</em> <code>arr_global_lim</code>, - <em>int</em> <code>arr_list_lim</code>, - <em>int</em> <code>blk_global_lim</code>, - <em>int</em> <code>blk_list_lim</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets free-list size limits. -<dt><strong>Description:</strong> - <dd><code>H5set_free_list_limits</code> sets size limits - on all types of free lists. - The HDF5 library uses free lists internally to manage memory. - There are three types of free lists: - <ul><li><span class=termDef>Regular</span> - free lists manage a single data structure. - <li><span class=termDef>Array</span> - free lists manage arrays of a data structure. - <li><span class=termDef>Block</span> - free lists manage blocks of bytes. - </ul> - <em>Alternate phrasing?</em>: - <ul><li><span class=termDef>Regular</span> - free lists manage data structures containing atomic data. - <li><span class=termDef>Array</span> - free lists manage data structures containing array data. - <li><span class=termDef>Block</span> - free lists manage blocks of bytes. - </ul> - <p> - These are global limits, but each limit applies only to - free lists of the specified type. - Therefore, if an application sets a 1Mb limit on each of - the global lists, up to 3Mb of total storage might be - allocated, 1Mb for each of the regular, array, and - block type lists. - <p> - Using a value of <code>-1</code> for a limit means that - no limit is set for the specified type of free list. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>int</em> <code>reg_global_lim </code></td> - <td valign="top">IN: The limit on all regular free list memory used</td></tr> - <tr> - <td valign="top"><em>int</em> <code>reg_list_lim</code></td> - <td valign="top">IN: The limit on memory used in each regular free list</td></tr> - <tr> - <td valign="top"><em>int</em> <code>arr_global_lim</code></td> - <td valign="top">IN: The limit on all array free list memory used</td></tr> - <tr> - <td valign="top"><em>int</em> <code>arr_list_lim</code></td> - <td valign="top">IN: The limit on memory used in each array free list</td></tr> - <tr> - <td valign="top"><em>int</em> <code>blk_global_lim</code></td> - <td valign="top">IN: The limit on all block free list memory used</td></tr> - <tr> - <td valign="top"><em>int</em> <code>blk_list_lim</code></td> - <td valign="top">IN: The limit on memory used in each block free 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>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - +<?php include("H5/H5check_version.htm"); ?> +<?php include("H5/H5close.htm"); ?> +<?php include("H5/H5dont_atexit.htm"); ?> +<?php include("H5/H5garbage_collect.htm"); ?> +<?php include("H5/H5get_libversion.htm"); ?> +<?php include("H5/H5open.htm"); ?> +<?php include("H5/H5set_free_list_limits.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -716,9 +221,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 16 October 2003"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5A.html b/doc/html/RM_H5A.html index bad0dca..4cf4aac 100644 --- a/doc/html/RM_H5A.html +++ b/doc/html/RM_H5A.html @@ -197,742 +197,18 @@ See <a href="Attributes.html"><cite>Attributes</cite></a> in the <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Aclose" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-Close">H5Aclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Aclose</code>(<em>hid_t</em> <code>attr_id</code>) -<dt><strong>Purpose:</strong> - <dd>Closes the specified attribute. -<dt><strong>Description:</strong> - <dd><code>H5Aclose</code> terminates access to the attribute - specified by <code>attr_id</code> by releasing the identifier. - <p> - Further use of a released attribute identifier is illegal; - a function using such an identifier will fail. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>attr_id</code></td> - <td>IN: Attribute to release 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> h5aclose_f - <dd> - <pre> -SUBROUTINE h5aclose_f(attr_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure -END SUBROUTINE h5aclose_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 "H5Acreate" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-Create">H5Acreate</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Acreate</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code>, - <em>hid_t</em> <code>type_id</code>, - <em>hid_t</em> <code>space_id</code>, - <em>hid_t</em> <code>create_plist</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates a dataset as an attribute of another group, dataset, - or named datatype. -<dt><strong>Description:</strong> - <dd><code>H5Acreate</code> creates the attribute <code>name</code> - attached to the object specified with <code>loc_id</code>. - <code>loc_id</code> can be a group, dataset, or named datatype - identifier. - <p> - The attribute name specified in <code>name</code> must be unique. - Attempting to create an attribute with the same name as an already - existing attribute will fail, leaving the pre-existing attribute - in place. To overwrite an existing attribute with a new attribute - of the same name, first call <code>H5Adelete</code> then recreate - the attribute with <code>H5Acreate</code>. - <p> - The datatype and dataspace identifiers of the attribute, - <code>type_id</code> and <code>space_id</code>, respectively, - are created with the H5T and H5S interfaces, respectively. - <p> - Currently only simple dataspaces are allowed for attribute dataspaces. - <p> - The attribute creation property list, <code>create_plist</code>, - is currently unused; - it may be used in the future for optional attribute properties. - At this time, <code>H5P_DEFAULT</code> is the only accepted value. - </p> - The attribute identifier returned from this function must be released - with <code>H5Aclose</code> or resource leaks will develop. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Object (dataset, group, or named datatype) to be attached to.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>name</code></td> - <td valign="top">IN: Name of attribute to create.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">IN: Identifier of datatype for attribute.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">IN: Identifier of dataspace for attribute.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>create_plist </code></td> - <td valign="top">IN: Identifier of creation property list. (Currently unused; - the only accepted value is <code>H5P_DEFAULT</code>.)</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns an attribute identifier if successful; - otherwise returns a negative value. - - <!--<dt><strong>Non-C API(s):</strong> - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - -<dt><strong>Fortran90 Interface:</strong> h5acreate_f - <dd> - <pre> -SUBROUTINE h5acreate_f(obj_id, name, type_id, space_id, attr_id, & - hdferr, creation_prp) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name - INTEGER(HID_T), INTENT(IN) :: type_id ! Attribute datatype identifier - INTEGER(HID_T), INTENT(IN) :: space_id ! Attribute dataspace identifier - INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure - - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp - ! Attribute creation property - ! list identifier -END SUBROUTINE h5acreate_f - </pre> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Adelete" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-Delete">H5Adelete</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Adelete</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code> - ) -<dt><strong>Purpose:</strong> - <dd>Deletes an attribute from a location. -<dt><strong>Description:</strong> - <dd><code>H5Adelete</code> removes the attribute specified by its - name, <code>name</code>, from a dataset, group, or named datatype. - This function should not be used when attribute identifiers are - open on <code>loc_id</code> as it may cause the internal indexes - of the attributes to change and future writes to the open - attributes to produce incorrect results. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of the dataset, group, or named datatype - to have the attribute deleted from.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>name </code></td> - <td valign="top">IN: Name of the attribute to delete.</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> h5adelete_f - <dd> - <pre> -SUBROUTINE h5adelete_f(obj_id, name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure -END SUBROUTINE h5adelete_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 "H5Aget_name" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-GetName">H5Aget_name</a> -<dt><strong>Signature:</strong> - <dd><em>ssize_t</em> <code>H5Aget_name</code>(<em>hid_t</em> <code>attr_id</code>, - <em>size_t</em> <code>buf_size</code>, - <em>char *</em><code>buf</code> - ) -<dt><strong>Purpose:</strong> - <dd>Gets an attribute name. -<dt><strong>Description:</strong> - <dd><code>H5Aget_name</code> retrieves the name of an attribute - specified by the identifier, <code>attr_id</code>. - Up to <code>buf_size</code> characters are stored in - <code>buf</code> followed by a <code>\0</code> string - terminator. If the name of the attribute is longer than - <code>(buf_size -1)</code>, the string terminator is stored in the - last position of the buffer to properly terminate the string. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>attr_id</code></td> - <td valign="top">IN: Identifier of the attribute.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>buf_size </code></td> - <td valign="top">IN: The size of the buffer to store the name in.</td></tr> - <tr> - <td valign="top"><em>char *</em><code>buf</code></td> - <td valign="top">OUT: Buffer to store name in.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the length of the attribute's name, which may be - longer than <code>buf_size</code>, if successful. - Otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5aget_name_f - <dd> - <pre> -SUBROUTINE h5aget_name_f(attr_id, size, buf, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER, INTENT(IN) :: size ! Buffer size - CHARACTER(LEN=*), INTENT(OUT) :: buf ! Buffer to hold attribute name - INTEGER, INTENT(OUT) :: hdferr ! Error code: name length - ! on success and -1 on failure -END SUBROUTINE h5aget_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 "H5Aget_num_attrs" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-NumAttrs">H5Aget_num_attrs</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Aget_num_attrs</code>(<em>hid_t</em> <code>loc_id</code>) -<dt><strong>Purpose:</strong> - <dd>Determines the number of attributes attached to an object. -<dt><strong>Description:</strong> - <dd><code>H5Aget_num_attrs</code> returns the number of attributes - attached to the object specified by its identifier, - <code>loc_id</code>. - The object can be a group, dataset, or named datatype. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id </code></td> - <td valign="top">IN: Identifier of a group, dataset, or named datatype.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of attributes if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5aget_num_attrs_f - <dd> - <pre> -SUBROUTINE h5aget_num_attrs_f(obj_id, attr_num, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier - INTEGER, INTENT(OUT) :: attr_num ! Number of attributes of the object - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure -END SUBROUTINE h5aget_num_attrs_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 "H5Aget_space" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-GetSpace">H5Aget_space</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Aget_space</code>(<em>hid_t</em> <code>attr_id</code>) -<dt><strong>Purpose:</strong> - <dd>Gets a copy of the dataspace for an attribute. -<dt><strong>Description:</strong> - <dd><code>H5Aget_space</code> retrieves a copy of the dataspace - for an attribute. - <p> - The dataspace identifier returned from - this function must be released with <code>H5Sclose</code> - or resource leaks will develop. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>attr_id </code></td> - <td valign="top">IN: Identifier of an attribute.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns attribute dataspace identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5aget_space_f - <dd> - <pre> -SUBROUTINE h5aget_space_f(attr_id, space_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(OUT) :: space_id ! Attribute dataspace identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure -END SUBROUTINE h5aget_space_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 "H5Aget_type" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-GetType">H5Aget_type</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Aget_type</code>(<em>hid_t</em> <code>attr_id</code>) -<dt><strong>Purpose:</strong> - <dd>Gets an attribute datatype. -<dt><strong>Description:</strong> - <dd><code>H5Aget_type</code> retrieves a copy of the datatype - for an attribute. - <p> - The datatype is reopened if it is a named type before returning - it to the application. The datatypes returned by this function - are always read-only. If an error occurs when atomizing the - return datatype, then the datatype is closed. - <p> - The datatype identifier returned from this function must be - released with <code>H5Tclose</code> or resource leaks will develop. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>attr_id </code></td> - <td valign="top">IN: Identifier of an attribute.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a datatype identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5aget_type_f - <dd> - <pre> -SUBROUTINE h5aget_type_f(attr_id, type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(OUT) :: type_id ! Attribute datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure -END SUBROUTINE h5aget_type_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 "H5Aiterate" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-Iterate">H5Aiterate</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Aiterate</code>(<em>hid_t</em> <code>loc_id</code>, - <em>unsigned *</em> <code>idx</code>, - <em>H5A_operator_t</em> <code>op</code>, - <em>void *</em><code>op_data</code> - ) -<dt><strong>Purpose:</strong> - <dd>Calls a user's function for each attribute on an object. -<dt><strong>Description:</strong> - <dd><code>H5Aiterate</code> iterates over the attributes of - the object specified by its identifier, <code>loc_id</code>. - The object can be a group, dataset, or named datatype. - For each attribute of the object, the <code>op_data</code> - and some additional information specified below are passed - to the operator function <code>op</code>. - The iteration begins with the attribute specified by its - index, <code>idx</code>; the index for the next attribute - to be processed by the operator, <code>op</code>, is - returned in <code>idx</code>. - If <code>idx</code> is the null pointer, then all attributes - are processed. - <p> - The prototype for <code>H5A_operator_t</code> is: <br> - <code>typedef herr_t (*H5A_operator_t)(hid_t <em>loc_id</em>, - const char *<em>attr_name</em>, - void *<em>operator_data</em>); - </code> - <p> - The operation receives the identifier for the group, dataset - or named datatype being iterated over, <code>loc_id</code>, the - name of the current attribute about the object, <code>attr_name</code>, - and the pointer to the operator data passed in to <code>H5Aiterate</code>, - <code>op_data</code>. The return values from an operator are: - <ul> - <li>Zero causes the iterator to continue, returning zero when all - attributes have been processed. - <li>Positive causes the iterator to immediately return that positive - value, indicating short-circuit success. The iterator can be - restarted at the next attribute. - <li>Negative causes the iterator to immediately return that value, - indicating failure. The iterator can be restarted at the next - attribute. - </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of a group, dataset or named datatype.</td></tr> - <tr> - <td valign="top"><em>unsigned *</em> <code>idx</code></td> - <td valign="top">IN/OUT: Starting (IN) and ending (OUT) attribute index.</td></tr> - <tr> - <td valign="top"><em>H5A_operator_t</em> <code>op </code></td> - <td valign="top">IN: User's function to pass each attribute to</td></tr> - <tr> - <td valign="top"><em>void *</em><code>op_data</code></td> - <td valign="top">IN/OUT: User's data to pass through to iterator operator function</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>If successful, returns the return value of the last operator - if it was non-zero, or zero if all attributes were processed. - 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 "H5Aopen_idx" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-OpenIdx">H5Aopen_idx</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Aopen_idx</code>(<em>hid_t</em> <code>loc_id</code>, - <em>unsigned int</em> <code>idx</code> - ) -<dt><strong>Purpose:</strong> - <dd>Opens the attribute specified by its index. -<dt><strong>Description:</strong> - <dd><code>H5Aopen_idx</code> opens an attribute which is attached - to the object specified with <code>loc_id</code>. - The location object may be either a group, dataset, or - named datatype, all of which may have any sort of attribute. - <p> - The attribute specified by the index, <code>idx</code>, - indicates the attribute to access. - The value of <code>idx</code> is a 0-based, non-negative integer. - <p> - The attribute identifier returned from this function must be - released with <code>H5Aclose</code> or resource leaks will develop. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of the group, dataset, or named datatype - attribute to be attached to.</td></tr> - <tr> - <td valign="top"><em>unsigned int</em> <code>idx </code></td> - <td valign="top">IN: Index of the attribute to open.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns attribute identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5aopen_idx_f - <dd> - <pre> -SUBROUTINE h5aopen_idx_f(obj_id, index, attr_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier - INTEGER, INTENT(IN) :: index ! Attribute index - INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure -END SUBROUTINE h5aopen_idx_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 "H5Aopen_name" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-OpenName">H5Aopen_name</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Aopen_name</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code> - ) -<dt><strong>Purpose:</strong> - <dd> Opens an attribute specified by name. -<dt><strong>Description:</strong> - <dd><code>H5Aopen_name</code> opens an attribute specified by - its name, <code>name</code>, which is attached to the - object specified with <code>loc_id</code>. - The location object may be either a group, dataset, or - named datatype, which may have any sort of attribute. - <p> - The attribute identifier returned from this function must - be released with <code>H5Aclose</code> or resource leaks - will develop. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of a group, dataset, or named datatype - atttribute to be attached to.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>name </code></td> - <td valign="top">IN: Attribute name.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns attribute identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5aopen_name_f - <dd> - <pre> -SUBROUTINE h5aopen_name_f(obj_id, name, attr_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name - INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure -END SUBROUTINE h5aopen_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 "H5Aread" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-Read">H5Aread</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Aread</code>(<em>hid_t</em> <code>attr_id</code>, - <em>hid_t</em> <code>mem_type_id</code>, - <em>void *</em><code>buf</code> - ) -<dt><strong>Purpose:</strong> - <dd>Reads an attribute. -<dt><strong>Description:</strong> - <dd><code>H5Aread</code> reads an attribute, specified with - <code>attr_id</code>. The attribute's memory datatype - is specified with <code>mem_type_id</code>. The entire - attribute is read into <code>buf</code> from the file. - <p> - Datatype conversion takes place at the time of a read or write - and is automatic. See the - <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a> - section of <cite>The Data Type Interface (H5T)</cite> in the - <cite>HDF5 User's Guide</cite> for a discussion of - data conversion, including the range of conversions currently - supported by the HDF5 libraries. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>attr_id</code></td> - <td valign="top">IN: Identifier of an attribute to read.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>mem_type_id </code></td> - <td valign="top">IN: Identifier of the attribute datatype (in memory).</td></tr> - <tr> - <td valign="top"><em>void *</em><code>buf</code></td> - <td valign="top">OUT: Buffer for data to be read.</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> h5aread_f - <dd> - <pre> -SUBROUTINE h5aread_f(attr_id, memtype_id, buf, dims, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - TYPE, INTENT(INOUT) :: buf ! Data buffer; may be a scalar or - ! an array - DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims - ! Array to hold corresponding - ! dimension sizes of data buffer buf; - ! dim(k) has value of the - ! k-th dimension of buffer buf; - ! values are ignored if buf is a - ! scalar - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure -END SUBROUTINE h5aread_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.2</td> - <td valign="top"> - The <code>dims</code> parameter was added in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Awrite" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Annot-Write">H5Awrite</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Awrite</code>(<em>hid_t</em> <code>attr_id</code>, - <em>hid_t</em> <code>mem_type_id</code>, - <em>const void *</em><code>buf</code> - ) -<dt><strong>Purpose:</strong> - <dd>Writes data to an attribute. -<dt><strong>Description:</strong> - <dd><code>H5Awrite</code> writes an attribute, specified with - <code>attr_id</code>. The attribute's memory datatype - is specified with <code>mem_type_id</code>. The entire - attribute is written from <code>buf</code> to the file. - <p> - Datatype conversion takes place at the time of a read or write - and is automatic. See the - <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a> - section of <cite>The Data Type Interface (H5T)</cite> in the - <cite>HDF5 User's Guide</cite> for a discussion of - data conversion, including the range of conversions currently - supported by the HDF5 libraries. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>attr_id</code></td> - <td valign="top">IN: Identifier of an attribute to write.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>mem_type_id </code></td> - <td valign="top">IN: Identifier of the attribute datatype (in memory).</td></tr> - <tr> - <td valign="top"><em>const void *</em><code>buf</code></td> - <td valign="top">IN: Data to be written.</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> h5awrite_f - <dd> - <pre> -SUBROUTINE h5awrite_f(attr_id, memtype_id, buf, dims, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - TYPE, INTENT(IN) :: buf ! Data buffer; may be a scalar or - ! an array - DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims - ! Array to hold corresponding - ! dimension sizes of data buffer buf; - ! dim(k) has value of the k-th - ! dimension of buffer buf; - ! values are ignored if buf is - ! a scalar - INTEGER, INTENT(OUT) :: hdferr ! Error code: - ! 0 on success and -1 on failure -END SUBROUTINE h5awrite_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.2</td> - <td valign="top"> - The <code>dims</code> parameter was added in this release.</td></tr> - </table></ul> -</dl> +<?php include("H5A/H5Aclose.htm"); ?> +<?php include("H5A/H5Acreate.htm"); ?> +<?php include("H5A/H5Adelete.htm"); ?> +<?php include("H5A/H5Aget_name.htm"); ?> +<?php include("H5A/H5Aget_num_attrs.htm"); ?> +<?php include("H5A/H5Aget_space.htm"); ?> +<?php include("H5A/H5Aget_type.htm"); ?> +<?php include("H5A/H5Aiterate.htm"); ?> +<?php include("H5A/H5Aopen_idx.htm"); ?> +<?php include("H5A/H5Aopen_name.htm"); ?> +<?php include("H5A/H5Aread.htm"); ?> +<?php include("H5A/H5Awrite.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -986,9 +262,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 20 September 2007"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5D.html b/doc/html/RM_H5D.html index baa8a40..2c16e5e 100644 --- a/doc/html/RM_H5D.html +++ b/doc/html/RM_H5D.html @@ -201,1673 +201,22 @@ as the corresponding C function. <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Dclose" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Close">H5Dclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dclose</code>(<em>hid_t </em><code>dataset_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Closes the specified dataset. -<dt><strong>Description:</strong> - <dd><code>H5Dclose</code> ends access to a dataset specified by - <code>dataset_id</code> and releases resources used by it. - Further use of the dataset identifier is illegal in calls to - the dataset API. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> - <td valign="top">IN: Identifier of the dataset to close 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> h5dclose_f - <dd> - <pre> -SUBROUTINE h5dclose_f(dset_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dclose_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 "H5Dcreate" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Create">H5Dcreate</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dcreate</code>(<em>hid_t </em><code>loc_id</code>, - <em>const char *</em><code>name</code>, - <em>hid_t</em> <code>type_id</code>, - <em>hid_t</em> <code>space_id</code>, - <em>hid_t</em> <code>create_plist_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates a dataset at the specified location. -<dt><strong>Description:</strong> - <dd><code>H5Dcreate</code> creates a data set with a name, - <code>name</code>, in the file or in the group specified by - the identifier <code>loc_id</code>. - The dataset has the datatype and dataspace identified by - <code>type_id</code> and <code>space_id</code>, respectively. - The specified datatype and dataspace are the datatype and - dataspace of the dataset as it will exist in the file, - which may be different than in application memory. - Dataset creation properties are specified by the argument - <code>create_plist_id</code>. - <p> - Dataset names within a group are unique: - <code>H5Dcreate</code> will return an error if a dataset with - the name specified in <code>name</code> already exists at the - location specified in <code>loc_id</code>. - <p> - As is the case for any object in a group, - the length of a dataset name is not limited. - <p> - <code>create_plist_id</code> is a <code>H5P_DATASET_CREATE</code> - property list created with <code>H5Pcreate</code> and - initialized with the various functions described above. - <p> - <code>H5Dcreate</code> returns an error if the dataset's datatype - includes a variable-length (VL) datatype and the fill value - is undefined, i.e., set to <code>NULL</code> in the - dataset creation property list. - Such a VL datatype may be directly included, - indirectly included as part of a compound or array datatype, or - indirectly included as part of a nested compound or array datatype. - <p> - <code>H5Dcreate</code> returns a dataset identifier for success - or a negative value for failure. - The dataset identifier should eventually be closed by - calling <code>H5Dclose</code> to release resources it uses. - <p> - <strong>Fill values and space allocation:</strong><br> - The HDF5 library provides flexible means - of specifying a fill value, - of specifying when space will be allocated for a dataset, and - of specifying when fill values will be written to a dataset. - For further information on these topics, see the document - <a href="http://hdfgroup.org/HDF5/doc_resource/H5Fill_Values.html"> - <cite>Fill Value and Dataset Storage Allocation Issues in HDF5</cite></a> - and the descriptions of the following HDF5 functions in this - <cite>HDF5 Reference Manual</cite>: - <table width=80% border="0"> - <tr valign="top" align="left"><td width=10%> - </td><td width=45%> - <a href="#Dataset-Fill"><code>H5Dfill</code></a><br> - <a href="RM_H5P.html#Property-SetFillValue"><code>H5Pset_fill_value</code></a><br> - <a href="RM_H5P.html#Property-GetFillValue"><code>H5Pget_fill_value</code></a><br> - <a href="RM_H5P.html#Property-FillValueDefined"><code>H5Pfill_value_defined</code></a> - </td><td width=45%> - <a href="RM_H5P.html#Property-SetFillTime"><code>H5Pset_fill_time</code></a><br> - <a href="RM_H5P.html#Property-GetFillTime"><code>H5Pget_fill_time</code></a><br> - <a href="RM_H5P.html#Property-SetAllocTime"><code>H5Pset_alloc_time</code></a><br> - <a href="RM_H5P.html#Property-GetAllocTime"><code>H5Pget_alloc_time</code></a> - </td></tr> - </table> - This information is also included in the - “HDF5 Datasets” chapter of - the new <cite>HDF5 User's Guide</cite>, - which is being prepared for release. -<dt><strong>Note:</strong> - <dd><code>H5Dcreate</code> can fail if there has been an error - in setting up an element of the dataset creation property list. - In such cases, each item in the property list must be examined - to ensure that the setup satisfies to all required conditions. - This problem is most likely to occur with the use of filters. - <p> -<!-- NEW PAGE --> - For example, <code>H5Dcreate</code> will fail without a meaningful - explanation if - <ul> - <li>SZIP compression is being used on the dataset and - <li>the SZIP parameter <code>pixels_per_block</code> - is set to an inappropriate value. - </ul> - <p> - In such a case, one would refer to the description of - <a href="RM_H5P.html#Property-SetSzip"><code>H5Pset_szip</code></a>, - looking for any conditions or requirements that might affect the - local computing environment. - <!-- - <p> - Other known similar problems can occur with . . . - --> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of the file or group - within which to create the dataset.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>name</code></td> - <td valign="top">IN: The name of the dataset to create.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">IN: Identifier of the datatype to use - when creating the dataset.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">IN: Identifier of the dataspace to use - when creating the dataset.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>create_plist_id </code></td> - <td valign="top">IN: Identifier of the set creation property list.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a dataset identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5dcreate_f - <dd> - <pre> -SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, & - hdferr, creation_prp) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp - ! Dataset creation propertly - ! list identifier , default - ! value is H5P_DEFAULT_F (6) -END SUBROUTINE h5dcreate_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 "H5Dextend" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Extend">H5Dextend</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dextend</code>(<em>hid_t </em><code>dataset_id</code>, - <em>const hsize_t *</em> <code>size</code> - ) -<dt><strong>Purpose:</strong> - <dd>Extends a dataset. -<dt><strong>Description:</strong> - <dd><code>H5Dextend</code> verifies that the dataset is at least of size - <code>size</code>, extending it if necessary. - The dimensionality of <code>size</code> is the same as that of - the dataspace of the dataset being changed. - <p> - This function can be applied to the following datasets: - <ul> - <li>Any dataset with unlimited dimensions - <li>A dataset with fixed dimensions if the current dimension sizes - are less than the maximum sizes set with <code>maxdims</code> (see - <a href="RM_H5S.html#Dataspace-CreateSimple"> - <code>H5Screate_simple</code></a>) - </ul> - <p> - Space on disk is immediately allocated for the new dataset extent - if the dataset’s space allocation time is set to - <code>H5D_ALLOC_TIME_EARLY</code>. - Fill values will be written to the dataset if the dataset’s - fill time is set to <code>H5D_FILL_TIME_IFSET</code> or - <code>H5D_FILL_TIME_ALLOC</code>. - (See <a href="RM_H5P.html#Property-SetFillTime"> - <code>H5Pset_fill_time</code></a> - and <a href="RM_H5P.html#Property-SetAllocTime"> - <code>H5Pset_alloc_time</code></a>.) - -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset_id</code></td> - <td valign="top">IN: Identifier of the dataset.</td></tr> - <tr> - <td valign="top"><em>const hsize_t *</em> <code>size </code></td> - <td valign="top">IN: Array containing the new magnitude of each dimension.</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> h5dextend_f - <dd> - <pre> -SUBROUTINE h5dextend_f(dataset_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier - INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size - ! Array containing - ! dimensions' sizes - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dextend_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 "H5Dfill" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Fill">H5Dfill</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dfill</code>( - <em>const void *</em><code>fill</code>, - <em>hid_t </em><code>fill_type_id</code>, - <em>void *</em><code>buf</code>, - <em>hid_t </em><code>buf_type_id</code>, - <em>hid_t </em><code>space_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Fills dataspace elements with a fill value in a memory buffer. -<dt><strong>Description:</strong> - <dd><code>H5Dfill</code> explicitly fills - the dataspace selection in memory, <code>space_id</code>, - with the fill value specified in <code>fill</code>. - If <code>fill</code> is <code>NULL</code>, - a fill value of <code>0</code> (zero) is used. - <p> - <code>fill_type_id</code> specifies the datatype - of the fill value.<br> - <code>buf</code> specifies the buffer in which - the dataspace elements will be written.<br> - <code>buf_type_id</code> specifies the datatype of - those data elements. - <p> - Note that if the fill value datatype differs - from the memory buffer datatype, the fill value - will be converted to the memory buffer datatype - before filling the selection. -<dt><strong>Note:</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>. - See <a href="RM_H5P.html#Property-SetFillValue">H5Pset_fill_value</a> - for further discussion. - Other related functions include - <a href="RM_H5P.html#Property-GetFillValue">H5Pget_fill_value</a>, - <a href="RM_H5P.html#Property-FillValueDefined">H5Pfill_value_defined</a>, - <a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a>, - <a href="RM_H5P.html#Property-GetFillTime">H5Pget_fill_time</a>, - and - <a href="#Dataset-Create">H5Dcreate</a>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>const void *</em><code>fill</code></td> - <td valign="top">IN: Pointer to the fill value to be used.</td></tr> - <tr> - <td valign="top"><em>hid_t </em><code>fill_type_id </code></td> - <td valign="top">IN: Fill value datatype identifier.</td></tr> - <tr> - <td valign="top"><em>void *</em><code>buf</code></td> - <td valign="top">IN/OUT: Pointer to the memory buffer containing the - selection to be filled.</td></tr> - <tr> - <td valign="top"><em>hid_t </em><code>buf_type_id</code></td> - <td valign="top">IN: Datatype of dataspace elements to be filled.</td></tr> - <tr> - <td valign="top"><em>hid_t </em><code>space_id</code></td> - <td valign="top">IN: Dataspace describing memory buffer and - containing the selection to be filled.</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> h5dfill_f - <dd> - <pre> -SUBROUTINE h5dfill_f(fill_value, space_id, buf, hdferr) - IMPLICIT NONE - TYPE, INTENET(IN) :: fill_value ! Fill value; may be have one of the - ! following types: - ! INTEGER, REAL, DOUBLE PRECISION, - ! CHARACTER - INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier - TYPE, DIMENSION(*) :: buf ! Memory buffer to fill in; must have - ! the same datatype as fill value - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dfill_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 "H5Dget_create_plist" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-GetCreatePlist">H5Dget_create_plist</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dget_create_plist</code>(<em>hid_t </em><code>dataset_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns an identifier for a copy of the - dataset creation property list for a dataset. -<dt><strong>Description:</strong> - <dd><code>H5Dget_create_plist</code> returns an identifier for a - copy of the dataset creation property list for a dataset. - <p> - The creation property list identifier should be released with - the <code>H5Pclose</code> function. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> - <td valign="top">IN: Identifier of the dataset to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a dataset creation property list identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5dget_create_plist_f - <dd> - <pre> -SUBROUTINE h5dget_create_plist_f(dataset_id, creation_prp, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier - INTEGER(HID_T), INTENT(OUT) :: creation_id ! Dataset creation - ! property list identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dget_create_plist_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 "H5Dget_offset" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-GetOffset">H5Dget_offset</a> -<dt><strong>Signature:</strong> - <dd><em>haddr_t </em><code>H5Dget_offset</code>(<em>hid_t </em><code>dset_id</code>) -<dt><strong>Purpose:</strong> - <dd>Returns dataset address in file. -<dt><strong>Description:</strong> - <dd><code>H5Dget_offset</code> returns the address in the file - of the dataset <code>dset_id</code>. - That address is expressed as the offset in bytes from - the beginning of the file. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t </em><code>dset_id </code></td> - <td valign="top">Dataset identifier.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the offset in bytes; - otherwise returns <code>HADDR_UNDEF</code>, 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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Dget_space" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-GetSpace">H5Dget_space</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dget_space</code>(<em>hid_t </em><code>dataset_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns an identifier for a copy of the dataspace for a dataset. -<dt><strong>Description:</strong> - <dd><code>H5Dget_space</code> returns an identifier for a copy of the - dataspace for a dataset. - <p> - The dataspace identifier should be released with the - <code>H5Sclose</code> function. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> - <td valign="top">IN: Identifier of the dataset to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a dataspace identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5dget_space_f - <dd> - <pre> -SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier - INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dget_space_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 "H5Dget_space_status" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-GetSpaceStatus">H5Dget_space_status</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Dget_space_status</code>(<em>hid_t </em><code>dset_id</code>, - <em>H5D_space_status_t *</em><code>status</code>) -<dt><strong>Purpose:</strong> - <dd>Determines whether space has been allocated for a dataset. -<dt><strong>Description:</strong> - <dd><code>H5Dget_space_status</code> determines whether space has been - allocated for the dataset <code>dset_id</code>. - <p> - Space allocation status is returned in <code>status</code>, - which will have one of the following values: - <center> - <table border="0"> - <tr valign="top"><td rowspan="3"> </td><td> - <code>H5D_SPACE_STATUS_NOT_ALLOCATED</code> - </td><td> - Space has not been allocated for this dataset. - </td></tr><tr valign="top"><td> - <code>H5D_SPACE_STATUS_ALLOCATED</code> - </td><td> - Space has been allocated for this dataset. - </td></tr><tr valign="top"><td> - <code>H5D_SPACE_STATUS_PART_ALLOCATED</code> - </td><td> - Space has been partially allocated for this dataset. - (Used only for datasets with chunked storage.) - </td></tr> - </table> - </center> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dset_id</code></td> - <td valign="top">IN: Identifier of the dataset to query.</td></tr> - <tr> - <td valign="top"><em>H5D_space_status_t *</em><code>status </code></td> - <td valign="top">OUT: Space allocation status.</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> h5dget_space_status_f - <dd> - <pre> -SUBROUTINE h5dget_space_status_f(dset_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER, INTENET(OUT) :: flag ! Status flag ; possible values: - ! H5D_SPACE_STS_ERROR_F - ! H5D_SPACE_STS_NOT_ALLOCATED_F - ! H5D_SPACE_STS_PART_ALLOCATED_F - ! H5D_SPACE_STS_ALLOCATED_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dget_space_status_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Dget_storage_size" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-GetStorageSize">H5Dget_storage_size</a> -<dt><strong>Signature:</strong> - <dd><em>hsize_t </em><code>H5Dget_storage_size</code>(<em>hid_t </em><code>dataset_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the amount of storage required for a dataset. -<dt><strong>Description:</strong> - <dd><code>H5Dget_storage_size</code> returns the amount of storage - that is required for the specified dataset, <code>dataset_id</code>. - For chunked datasets, this is the number of allocated chunks times - the chunk size. - The return value may be zero if no data has been stored. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> - <td valign="top">IN: Identifier of the dataset to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the amount of storage space allocated for the dataset, - not counting meta data; - otherwise returns 0 (zero). -<dt><strong>Fortran90 Interface:</strong> h5dget_storage_size_f - <dd> - <pre> -SUBROUTINE h5dget_storage_size_f(dset_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HSIZE_T), INTENT(OUT) :: size ! Amount of storage required - ! for dataset - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dget_storage_size_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Dget_type" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-GetType">H5Dget_type</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dget_type</code>(<em>hid_t </em><code>dataset_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns an identifier for a copy of the datatype for a dataset. -<dt><strong>Description:</strong> - <dd><code>H5Dget_type</code> returns an identifier for a copy of the - datatype for a dataset. - <p> - The datatype should be released with the <code>H5Tclose</code> function. - <p> - If a dataset has a named datatype, then an identifier to the - opened datatype is returned. - Otherwise, the returned datatype is read-only. - If atomization of the datatype fails, then the datatype is closed. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> - <td valign="top">IN: Identifier of the dataset to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a datatype identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5dget_type_f - <dd> - <pre> -SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier - INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dget_type_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 "H5Diterate" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Iterate">H5Diterate</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Diterate</code>( - <em>void *</em><code>buf</code>, - <em>hid_t </em><code>type_id</code>, - <em>hid_t </em><code>space_id</code>, - <em>H5D_operator_t </em><code>operator</code>, - <em>void *</em><code>operator_data</code> - ) -<p> -<dt><strong>Purpose:</strong> - <dd>Iterates over all selected elements in a dataspace. -<p> -<dt><strong>Description:</strong> - <dd><code>H5Diterate</code> iterates over all the data elements in the - memory buffer <code>buf</code>, executing the callback function - <code>operator</code> once for each such data element. - <p> - - <!-- ABILITY TO MODIFY THE DATASPACE, AS REQUIRED BY - THE FOLLOWING PARAGRAPH, HAS NOT BEEN IMPLEMENTED. - The selection in the dataspace is modified so that any elements - already iterated over are removed from the selection if the - iteration is interrupted (by the <code>H5D_operator_t</code> - function returning non-zero) before the iteration is complete; - the iteration may then be re-started by the user where it left off. - <p> - --> - - The protoype of the callback function <code>operator</code> - is as follows - (as defined in the source code file <code>H5Lpublic.h</code>): - <dir> - <code> - <em>herr_t</em> (*H5D_operator_t)(<em>void</em> elem, - <em>hid_t</em> type_id, - <em>unsigned</em> ndim, - <br> - - - <em>const hsize_t *</em>point, - <em>void *</em>operator_data) - </code> - </dir> - <p> - The parameters of this callback function have the following - values or meanings: - <table> - <tr valign=top><td><code> </code></td> - <td><code><em>void *</em>elem</code></td> - <td> </td> - <td>IN/OUT: Pointer to the memory buffer containing - the current data element</td> - </tr> - <tr valign=top><td> </td> - <td><code><em>hid_t</em> type_id</code></td> - <td> </td> - <td>IN: Datatype identifier for the elements stored in - <code>elem</code></td> - </tr> - <tr valign=top><td> </td> - <td><code><em>unsigned</em> ndim</code></td> - <td> </td> - <td>IN: Number of dimensions for the <code>point</code> - array</td> - </tr> - <tr valign=top><td> </td> - <td><code><em>const hsize_t *</em>point</code></td> - <td> </td> - <td>IN: Array containing the location of the element - within the original dataspace</td> - </tr> - <tr valign=top><td> </td> - <td><code><em>void *</em>operator_data</code></td> - <td> </td> - <td>IN/OUT: Pointer to any user-defined data associated with - the operation</td> - </tr> - </table> - - <p> - The possible return values from the callback function, - and the effect of each, are as follows: - <ul> - <li>Zero causes the iterator to continue, - returning zero when all data elements have been processed. - <li>A positive value causes the iterator to immediately - return that positive value, indicating short-circuit success. - <!-- - The iterator can be restarted at the next data element. - --> - <li>A negative value causes the iterator to immediately - return that value, indicating failure. - <!-- - The iterator can be restarted at the next data element. - --> - </ul> - - <p> - The <code>H5Diterate</code> <code>operator_data</code> parameter - is a user-defined pointer to the data required to process - dataset elements in the course of the iteration. - If <code>operator</code> needs to pass data back to the application, - such data can be returned in this same buffer. - This pointer is passed back to each step of the iteration in the - <code>operator</code> callback function’s - <code>operator_data</code> parameter. - - <p> - Unlike other HDF5 iterators, this iteration operation cannot - be restarted at the point of exit; - a second <code>H5Diterate</code> call will always restart - at the beginning. - -<p> -<!-- NEW PAGE --> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>void *</em><code>buf</code></td> - <td valign="top">IN/OUT: Pointer to the buffer in memory containing - the elements to iterate over</td></tr> - <tr> - <td valign="top"><em>hid_t </em><code>type_id</code></td> - <td valign="top">IN: Datatype identifier for the elements stored - in <code>buf</code></td></tr> - <tr> - <td valign="top"><em>hid_t </em><code>space_id</code></td> - <td valign="top">IN: Dataspace identifier for <code>buf</code> - </td></tr> - <tr> - <td valign="top"><em>H5D_operator_t </em><code>operator </code></td> - <td valign="top">IN: Function pointer to the routine to be called - for each element in <code>buf</code> iterated over</td></tr> - <tr> - <td valign="top"><em>void *</em><code>operator_data</code></td> - <td valign="top">IN/OUT: Pointer to any user-defined data associated - with the operation</td></tr> - </table></ul> -<p> -<dt><strong>Returns:</strong> - <dd>Returns the return value of the last operator if it was non-zero, - or zero if all elements have been processed. - Otherwise returns a negative value. -<p> -<dt><strong>Fortran90 Interface:</strong> - <dd>None. -<!--__ *** FORTRAN90 INTERFACE ********************************** --> -<!--__ When the Fortran90 interface is complete, replace this --> -<!--__ section with the Fortran90 subroutine description. --> -<!--__ --> -<!--__ See the file h5fortran_f_template.html for a template and --> -<!--__ instructions. --> -<!--__ *********************************************************** --> -<p> -<dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - The following changes occured in the - <code>H5D_operator_t</code> function in this release:<br> - - <code>ndim</code> parameter type was changed to - <em>unsigned</em><br> - - <code>point</code> parameter type was changed to - <em>const hsize_t</em></td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Dopen" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Open">H5Dopen</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dopen</code>(<em>hid_t </em><code>loc_id</code>, - <em>const char *</em><code>name</code> - ) -<dt><strong>Purpose:</strong> - <dd>Opens an existing dataset. -<dt><strong>Description:</strong> - <dd><code>H5Dopen</code> opens an existing dataset for access in the file - or group specified in <code>loc_id</code>. <code>name</code> is - a dataset name and is used to identify the dataset in the file. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of the file or group - within which the dataset to be accessed will be found.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>name </code></td> - <td valign="top">IN: The name of the dataset to access.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a dataset identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5dopen_f - <dd> - <pre> -SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset - INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dopen_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 "H5Dread" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Read">H5Dread</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dread</code>(<em>hid_t </em><code>dataset_id</code>, - <em>hid_t</em> <code>mem_type_id</code>, - <em>hid_t</em> <code>mem_space_id</code>, - <em>hid_t</em> <code>file_space_id</code>, - <em>hid_t</em> <code>xfer_plist_id</code>, - <em>void *</em> <code>buf</code> - ) -<dt><strong>Purpose:</strong> - <dd>Reads raw data from a dataset into a buffer. -<dt><strong>Description:</strong> - <dd><code>H5Dread</code> reads a (partial) dataset, specified by its - identifier <code>dataset_id</code>, from the - file into an application memory buffer <code>buf</code>. - Data transfer properties are defined by the argument - <code>xfer_plist_id</code>. - The memory datatype of the (partial) dataset is identified by - the identifier <code>mem_type_id</code>. - The part of the dataset to read is defined by - <code>mem_space_id</code> and <code>file_space_id</code>. - <p> - <code>file_space_id</code> is used to specify only the selection within - the file dataset's dataspace. Any dataspace specified in <code>file_space_id</code> - is ignored by the library and the dataset's dataspace is always used. - <code>file_space_id</code> can be the constant <code>H5S_ALL</code>. - which indicates that the entire file dataspace, as defined by the - current dimensions of the dataset, is to be selected. - <p> - <code>mem_space_id</code> is used to specify both the memory dataspace - and the selection within that dataspace. - <code>mem_space_id</code> can be the constant <code>H5S_ALL</code>, - in which case the file dataspace is used for the memory dataspace and - the selection defined with <code>file_space_id</code> is used for the - selection within that dataspace. - <p> - If raw data storage space has not been allocated for the dataset - and a fill value has been defined, the returned buffer <code>buf</code> - is filled with the fill value. - <p> - The behavior of the library for the various combinations of valid - dataspace identifiers and H5S_ALL for the <code>mem_space_id</code> and the - <code>file_space_id</code> parameters is described below: - - <br><br> - <table border=0> - <tr> - <th> - <code>mem_space_id </code> - </th> - <th> - <code>file_space_id </code> - </th> - <th> - Behavior - </th> - </tr> - - <tr valign="top"> - <td> - valid dataspace identifier - </td> - <td> - valid dataspace identifier - </td> - <td> - <code>mem_space_id</code> specifies the memory dataspace and the - selection within it. - <code>file_space_id</code> specifies the selection within the file - dataset's dataspace. - </td> - </tr> - - <tr valign="top"> - <td> - <code>H5S_ALL</code> - </td> - <td> - valid dataspace identifier - </td> - <td> - The file dataset's dataspace is used for the memory dataspace and the - selection specified with <code>file_space_id</code> specifies the - selection within it. - The combination of the file dataset's dataspace and the selection from - <code>file_space_id</code> is used for memory also. - </td> - </tr> - - <tr valign="top"> - <td> - valid dataspace identifier - </td> - <td> - <code>H5S_ALL</code> - </td> - <td> - <code>mem_space_id</code> specifies the memory dataspace and the - selection within it. - The selection within the file dataset's dataspace is set to the "all" - selection. - </td> - </tr> - - <tr valign="top"> - <td> - <code>H5S_ALL</code> - </td> - <td> - <code>H5S_ALL</code> - </td> - <td> - The file dataset's dataspace is used for the memory dataspace and the - selection within the memory dataspace is set to the "all" selection. - The selection within the file dataset's dataspace is set to the "all" - selection. - </td> - </tr> - - </table> - - <p> - Setting an <code>H5S_ALL</code> selection indicates that the entire dataspace, as - defined by the current dimensions of a dataspace, will be selected. - The number of elements selected in the memory dataspace must match the - number of elements selected in the file dataspace. - <p> - <code>xfer_plist_id</code> can be the constant <code>H5P_DEFAULT</code>. - in which case the default data transfer properties are used. - <p> - Data is automatically converted from the file datatype - and dataspace to the memory datatype and dataspace - at the time of the read. See the - <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a> - section of <cite>The Data Type Interface (H5T)</cite> in the - <cite>HDF5 User's Guide</cite> for a discussion of - data conversion, including the range of conversions currently - supported by the HDF5 libraries. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset_id</code></td> - <td valign="top">IN: Identifier of the dataset read from.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>mem_type_id</code></td> - <td valign="top">IN: Identifier of the memory datatype.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>mem_space_id</code></td> - <td valign="top">IN: Identifier of the memory dataspace.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>file_space_id </code></td> - <td valign="top">IN: Identifier of the dataset's dataspace in the file.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>xfer_plist_id </code></td> - <td valign="top">IN: Identifier of a transfer property list - for this I/O operation.</td></tr> - <tr> - <td valign="top"><em>void *</em> <code>buf</code></td> - <td valign="top">OUT: Buffer to receive data read from 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> h5dread_f, h5dread_vl_f - <dd>There is no direct FORTRAN couterpart for the C function - <code>H5Dread</code>. - Instead, that functionality is provided by two FORTRAN functions: - - <center> - <table width=80%> - <tr valign=top align=left> - <td> - <code>h5dread_f</code> - </td> - <td> </td><td> - <strong>Purpose:</strong> - Reads data other than variable-length data. - </td> - </tr> - <tr valign=top align=left> - <td> - <code>h5dread_vl_f</code> - </td><td> </td><td> - <strong>Purpose:</strong> - Reads variable-length data. - </td> - </tr> - </table> - </center> - - <pre> -SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - TYPE, INTENT(INOUT) :: buf ! Data buffer; may be a scalar - ! or an array - DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims - ! Array to hold corresponding - ! dimension sizes of data - ! buffer buf - ! dim(k) has value of the k-th - ! dimension of buffer buf - ! Values are ignored if buf is - ! a scalar - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - ! Default value is H5S_ALL_F - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - ! Default value is H5S_ALL_F - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - ! Default value is H5P_DEFAULT_F -END SUBROUTINE h5dread_f - </pre> - - <pre> - -SUBROUTINE h5dread_vl_f(dset_id, mem_type_id, buf, dims, len, hdferr, & - mem_space_id, file_space_id, xfer_prp) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - TYPE, INTENT(INOUT), & DIMENSION(dims(1),dims(2)) :: buf - ! Data buffer; may be a scalar - ! or an array - ! TYPE must be one of the following - ! INTEGER - ! REAL - ! CHARACTER - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims - ! Array to hold corresponding - ! dimension sizes of data - ! buffer buf - ! dim(k) has value of the k-th - ! dimension of buffer buf - ! Values are ignored if buf is - ! a scalar - INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len - ! Array to store length of - ! each element - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - ! Default value is H5S_ALL_F - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - ! Default value is H5S_ALL_F - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - ! Default value is H5P_DEFAULT_F -END SUBROUTINE h5dread_vl_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.2</td> - <td valign="top"> - The <code>dims</code> parameter was added in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Dvlen_get_buf_size" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-VLGetBuf">H5Dvlen_get_buf_size</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dvlen_get_buf_size</code>(<em>hid_t </em><code>dataset_id</code>, - <em>hid_t</em> <code>type_id</code>, - <em>hid_t</em> <code>space_id</code>, - <em>hsize_t</em> *<code>size</code> - ) -<dt><strong>Purpose:</strong> - <dd>Determines the number of bytes required to store VL data. -<dt><strong>Description:</strong> - <dd><code>H5Dvlen_get_buf_size</code> determines the number of bytes - required to store the VL data from the dataset, using the - <code>space_id</code> for the selection in the dataset on - disk and the <code>type_id</code> for the memory representation - of the VL data in memory. - <p> - <code>*size</code> is returned with the number of bytes - required to store the VL data in memory. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset_id </code></td> - <td valign="top">IN: Identifier of the dataset to query.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">IN: Datatype identifier.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">IN: Dataspace identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> *<code>size</code></td> - <td valign="top">OUT: The size in bytes of the memory - buffer required to store the VL data.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns non-negative value if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5dvlen_get_max_len_f - <dd>There is no direct FORTRAN couterpart for the C function - <code>H5Dvlen_get_buf_size</code>; - corresponding functionality is provided by the FORTRAN function - <code>h5dvlen_get_max_len_f</code></a>. - <br> - <pre> -SUBROUTINE h5dvlen_get_max_len_f(dset_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - - INTEGER(SIZE_T), INTENT(OUT) :: elem_len ! Maximum length of the element - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5dvlen_get_max_len_f - </pre> - - <!-- - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> </td> - <td valign="top"> </td> - <td valign="top">Function introduced - in this release.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> </td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Dvlen_reclaim" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-VLReclaim">H5Dvlen_reclaim</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dvlen_reclaim</code>(<em>hid_t </em><code>type_id</code>, - <em>hid_t</em> <code>space_id</code>, - <em>hid_t</em> <code>plist_id</code>, - <em>void</em> *<code>buf</code> - ) -<dt><strong>Purpose:</strong> - <dd>Reclaims VL datatype memory buffers. -<dt><strong>Description:</strong> - <dd><code>H5Dvlen_reclaim</code> reclaims memory buffers created to - store VL datatypes. - <p> - The <code>type_id</code> must be the datatype stored in the buffer. - The <code>space_id</code> describes the selection for the memory buffer - to free the VL datatypes within. - The <code>plist_id</code> is the dataset transfer property list which - was used for the I/O transfer to create the buffer. - And <code>buf</code> is the pointer to the buffer to be reclaimed. - <p> - The VL structures (<code>hvl_t</code>) in the user's buffer are - modified to zero out the VL information after the memory has been reclaimed. - <p> - If nested VL datatypes were used to create the buffer, - this routine frees them <em>from the bottom up</em>, releasing all - the memory without creating memory leaks. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">IN: Identifier of the datatype.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">IN: Identifier of the dataspace.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Identifier of the property list used to create the buffer.</td></tr> - <tr> - <td valign="top"><em>void</em> *<code>buf</code></td> - <td valign="top">IN: Pointer to the buffer to be reclaimed.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns 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 "H5Dwrite" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Write">H5Dwrite</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dwrite</code>(<em>hid_t </em><code>dataset_id</code>, - <em>hid_t</em> <code>mem_type_id</code>, - <em>hid_t</em> <code>mem_space_id</code>, - <em>hid_t</em> <code>file_space_id</code>, - <em>hid_t</em> <code>xfer_plist_id</code>, - <em>const void *</em> <code>buf</code> - ) -<dt><strong>Purpose:</strong> - <dd>Writes raw data from a buffer to a dataset. -<dt><strong>Description:</strong> - <dd><code>H5Dwrite</code> writes a (partial) dataset, specified by its - identifier <code>dataset_id</code>, from the - application memory buffer <code>buf</code> into the file. - Data transfer properties are defined by the argument - <code>xfer_plist_id</code>. - The memory datatype of the (partial) dataset is identified by - the identifier <code>mem_type_id</code>. - The part of the dataset to write is defined by - <code>mem_space_id</code> and <code>file_space_id</code>. - <p> - <code>file_space_id</code> is used to specify only the selection within - the file dataset's dataspace. Any dataspace specified in <code>file_space_id</code> - is ignored by the library and the dataset's dataspace is always used. - <code>file_space_id</code> can be the constant <code>H5S_ALL</code>. - which indicates that the entire file dataspace, as defined by the - current dimensions of the dataset, is to be selected. - <p> - <code>mem_space_id</code> is used to specify both the memory dataspace - and the selection within that dataspace. - <code>mem_space_id</code> can be the constant <code>H5S_ALL</code>, - in which case the file dataspace is used for the memory dataspace and - the selection defined with <code>file_space_id</code> is used for the - selection within that dataspace. - <p> - The behavior of the library for the various combinations of valid - dataspace IDs and H5S_ALL for the <code>mem_space_id</code> and the - <code>file_space_id</code> parameters is described below: - - <br><br> - <table border=0> - <tr> - <th> - <code>mem_space_id </code> - </th> - <th> - <code>file_space_id </code> - </th> - <th> - Behavior - </th> - </tr> - - <tr valign="top"> - <td> - valid dataspace identifier - </td> - <td> - valid dataspace identifier - </td> - <td> - <code>mem_space_id</code> specifies the memory dataspace and the - selection within it. - <code>file_space_id</code> specifies the selection within the file - dataset's dataspace. - </td> - </tr> - - <tr valign="top"> - <td> - H5S_ALL - </td> - <td> - valid dataspace identifier - </td> - <td> - The file dataset's dataspace is used for the memory dataspace and the - selection specified with <code>file_space_id</code> specifies the - selection within it. - The combination of the file dataset's dataspace and the selection from - <code>file_space_id</code> is used for memory also. - </td> - </tr> - - <tr valign="top"> - <td> - valid dataspace identifier - </td> - <td> - H5S_ALL - </td> - <td> - <code>mem_space_id</code> specifies the memory dataspace and the - selection within it. - The selection within the file dataset's dataspace is set to the "all" - selection. - </td> - </tr> - - <tr valign="top"> - <td> - H5S_ALL - </td> - <td> - H5S_ALL - </td> - <td> - The file dataset's dataspace is used for the memory dataspace and the - selection within the memory dataspace is set to the "all" selection. - The selection within the file dataset's dataspace is set to the "all" - selection. - </td> - </tr> - </table> - - <p> - Setting an "all" selection indicates that the entire dataspace, as - defined by the current dimensions of a dataspace, will be selected. - The number of elements selected in the memory dataspace must match the - number of elements selected in the file dataspace. - <p> - <code>xfer_plist_id</code> can be the constant <code>H5P_DEFAULT</code>. - in which case the default data transfer properties are used. - <p> - Writing to an dataset will fail if the HDF5 file was - not opened with write access permissions. - <p> - Data is automatically converted from the memory datatype - and dataspace to the file datatype and dataspace - at the time of the write. See the - <a href="Datatypes.html#Datatypes-DataConversion">Data Conversion</a> - section of <cite>The Data Type Interface (H5T)</cite> in the - <cite>HDF5 User's Guide</cite> for a discussion of - data conversion, including the range of conversions currently - supported by the HDF5 libraries. - <p> - If the dataset's space allocation time is set to - <code>H5D_ALLOC_TIME_LATE</code> or <code>H5D_ALLOC_TIME_INCR</code> - and the space for the dataset has not yet been allocated, - that space is allocated when the first raw data is written to the - dataset. - Unused space in the dataset will be written with fill values at the - same time if the dataset's fill time is set to - <code>H5D_FILL_TIME_IFSET</code> or <code>H5D_FILL_TIME_ALLOC</code>. - (Also see - <a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a> - and - <a href="RM_H5P.html#Property-SetAllocTime">H5Pset_alloc_time</a>.) - <p> - If a dataset's storage layout is 'compact', care must be taken when - writing data to the dataset in parallel. A compact dataset's raw data - is cached in memory and may be flushed to the file from any of the - parallel processes, so parallel applications should always attempt to - write identical data to the dataset from all processes. - -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset_id</code></td> - <td valign="top">IN: Identifier of the dataset to write to.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>mem_type_id</code></td> - <td valign="top">IN: Identifier of the memory datatype.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>mem_space_id</code></td> - <td valign="top">IN: Identifier of the memory dataspace.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>file_space_id </code></td> - <td valign="top">IN: Identifier of the dataset's dataspace in the file.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>xfer_plist_id</code></td> - <td valign="top">IN: Identifier of a transfer property list - for this I/O operation.</td></tr> - <tr> - <td valign="top"><em>const void *</em> <code>buf</code></td> - <td valign="top">IN: Buffer with data to be written to the 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> h5dwrite_f, h5dwrite_vl_f - <dd>There is no direct FORTRAN couterpart for the C function - <code>H5Dwrite</code>. - Instead, that functionality is provided by two FORTRAN functions: - - <center> - <table width=80%> - <tr valign=top align=left> - <td> - <code>h5dwrite_f</code> - </td> - <td> </td><td> - <strong>Purpose:</strong> - Writes data other than variable-length data. - </td> - </tr> - <tr valign=top align=left> - <td> - <code>h5dwrite_vl_f</code> - </td><td> </td><td> - <strong>Purpose:</strong> - Writes variable-length data. - </td> - </tr> - </table> - </center> - - <pre> -SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - TYPE, INTENT(IN) :: buf ! Data buffer; may be a scalar - ! or an array - - DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims - ! Array to hold corresponding - ! dimension sizes of data - ! buffer buf; dim(k) has value - ! of the k-th dimension of - ! buffer buf; values are - ! ignored if buf is a scalar - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - ! Default value is H5S_ALL_F - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - ! Default value is H5S_ALL_F - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list - ! identifier; default value - ! is H5P_DEFAULT_F -END SUBROUTINE h5dwrite_f - </pre> - - <pre> - -SUBROUTINE h5dwrite_vl_f(dset_id, mem_type_id, buf, dims, len, hdferr, & - mem_space_id, file_space_id, xfer_prp) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - TYPE, INTENT(IN), & DIMENSION(dims(1),dims(2)) :: buf - ! Data buffer; may be a scalar - ! or an array - ! TYPE must be one of the following - ! INTEGER - ! REAL - ! CHARACTER - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims - ! Array to hold corresponding - ! dimension sizes of data - ! buffer buf - ! dim(k) has value of the k-th - ! dimension of buffer buf - ! Values are ignored if buf is - ! a scalar - INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len - ! Array to store length of - ! each element - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - ! Default value is H5S_ALL_F - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - ! Default value is H5S_ALL_F - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - ! Default value is H5P_DEFAULT_F -END SUBROUTINE h5dwrite_vl_f - </pre> - - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.2</td> - <td valign="top"> - A <code>dims</code> parameter has been added.</td></tr> - </table></ul> -</dl> - +<?php include("H5D/H5Dclose.htm"); ?> +<?php include("H5D/H5Dcreate.htm"); ?> +<?php include("H5D/H5Dextend.htm"); ?> +<?php include("H5D/H5Dfill.htm"); ?> +<?php include("H5D/H5Dget_create_plist.htm"); ?> +<?php include("H5D/H5Dget_offset.htm"); ?> +<?php include("H5D/H5Dget_space.htm"); ?> +<?php include("H5D/H5Dget_space_status.htm"); ?> +<?php include("H5D/H5Dget_storage_size.htm"); ?> +<?php include("H5D/H5Dget_type.htm"); ?> +<?php include("H5D/H5Diterate.htm"); ?> +<?php include("H5D/H5Dopen.htm"); ?> +<?php include("H5D/H5Dread.htm"); ?> +<?php include("H5D/H5Dvlen_get_buf_size.htm"); ?> +<?php include("H5D/H5Dvlen_reclaim.htm"); ?> +<?php include("H5D/H5Dwrite.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -1921,9 +270,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 12 November 2008"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5E.html b/doc/html/RM_H5E.html index 035299d..5c32ea3 100644 --- a/doc/html/RM_H5E.html +++ b/doc/html/RM_H5E.html @@ -193,515 +193,15 @@ errors within the H5E package. <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Eclear" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-Clear">H5Eclear</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Eclear</code>(<code>void</code>) -<dt><strong>Purpose:</strong> - <dd>Clears the error stack for the current thread. -<dt><strong>Description:</strong> - <dd><code>H5Eclear</code> clears the error stack for the current thread. - <p> - The stack is also cleared whenever an API function is called, - with certain exceptions (for instance, <code>H5Eprint</code>). - <p> -<dt><strong>Parameters:</strong> - <ul><table> - <tr><td valign="top">None</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> h5eclear_f - <dd> - <pre> -SUBROUTINE h5eclear_f(hdferr) - IMPLICIT NONE - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5eclear_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 "H5Eget_auto" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-GetAuto">H5Eget_auto</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Eget_auto</code>(<em>H5E_auto_t *</em> <code>func</code>, - <em>void **</em><code>client_data</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the current settings for the automatic error stack - traversal function and its data. -<dt><strong>Description:</strong> - <dd><code>H5Eget_auto</code> returns the current settings for the - automatic error stack traversal function, <code>func</code>, - and its data, <code>client_data</code>. Either (or both) - arguments may be null in which case the value is not returned. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5E_auto_t *</em> <code>func</code></td> - <td valign="top">OUT: Current setting for the function to be called upon an - error condition.</td></tr> - <tr> - <td valign="top"><em>void **</em><code>client_data </code></td> - <td valign="top">OUT: Current setting for the data passed to the error 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 "H5Eget_major" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-GetMajor">H5Eget_major</a> -<dt><strong>Signature:</strong> - <dd><em>const char *</em> <code>H5Eget_major</code>(<em>H5E_major_t</em> <code>n</code>) -<dt><strong>Purpose:</strong> - <dd>Returns a character string describing an error specified by a - major error number. -<dt><strong>Description:</strong> - <dd>Given a major error number, <code>H5Eget_major</code> returns a - constant character string that describes the error. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5E_major_t</em> <code>n </code></td> - <td valign="top">IN: Major error number.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd> Returns a character string describing the error if successful. - Otherwise returns "Invalid major error number." -<dt><strong>Fortran90 Interface:</strong> h5eget_major_f - <dd> - <pre> -SUBROUTINE h5eget_major_f(error_no, name, hdferr) - INTEGER, INTENT(IN) :: error_no !Major error number - CHARACTER(LEN=*), INTENT(OUT) :: name ! File name - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5eget_major_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 "H5Eget_minor" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-GetMinor">H5Eget_minor</a> -<dt><strong>Signature:</strong> - <dd><em>const char *</em> <code>H5Eget_minor</code>(<em>H5E_minor_t</em> <code>n</code>) -<dt><strong>Purpose:</strong> - <dd>Returns a character string describing an error specified by a - minor error number. -<dt><strong>Description:</strong> - <dd>Given a minor error number, <code>H5Eget_minor</code> returns a - constant character string that describes the error. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5E_minor_t</em> <code>n </code></td> - <td valign="top">IN: Minor error number.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd> Returns a character string describing the error if successful. - Otherwise returns "Invalid minor error number." -<dt><strong>Fortran90 Interface:</strong> h5eget_minor_f - <dd> - <pre> -SUBROUTINE h5eget_minor_f(error_no, name, hdferr) - INTEGER, INTENT(IN) :: error_no !Major error number - CHARACTER(LEN=*), INTENT(OUT) :: name ! File name - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5eget_minor_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 "H5Eprint" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-Print">H5Eprint</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Eprint</code>(<em>FILE *</em> <code>stream</code>) -<dt><strong>Purpose:</strong> - <dd>Prints the error stack in a default manner. -<dt><strong>Description:</strong> - <dd><code>H5Eprint</code> prints the error stack on the specified - stream, <code>stream</code>. - Even if the error stack is empty, a one-line message will be printed: - <br> - <code>HDF5-DIAG: Error detected in thread 0.</code> - <p> - <code>H5Eprint</code> is a convenience function for - <code>H5Ewalk</code> with a function that prints error messages. - Users are encouraged to write their own more specific error handlers. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>FILE *</em> <code>stream </code></td> - <td valign="top">IN: File pointer, or stderr if NULL.</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> h5eprint_f - <dd> - <pre> -SUBROUTINE h5eprint_f(hdferr, name) - CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: name ! File name - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5eprint_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 "H5Epush" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-Push">H5Epush</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Epush</code>( - <em>const char *</em><code>file</code>, - <em>const char *</em><code>func</code>, - <em>unsigned</em> <code>line</code>, - <em>H5E_major_t</em> <code>maj_num</code>, - <em>H5E_minor_t</em> <code>min_num</code>, - <em>const char *</em><code>str</code> - ) -<dt><strong>Purpose:</strong> - <dd>Pushes new error record onto error stack. -<dt><strong>Description:</strong> - <dd><code>H5Epush</code> pushes a new error record onto the - error stack for the current thread. - <p> - The error has major and minor numbers <code>maj_num</code> and - <code>min_num</code>, - the function <code>func</code> where the error was detected, - the name of the file <code>file</code> where the error was detected, - the line <code>line</code> within that file, - and an error description string <code>str</code>. - <p> - The function name, file name, and error description strings - must be statically allocated. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>const char *</em><code>file</code>,</td> - <td valign="top">IN: Name of the file in which the error was detected.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>func</code>,</td> - <td valign="top">IN: Name of the function in which the error was detected.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>line</code>,</td> - <td valign="top">IN: Line within the file at which the error was detected.</td></tr> - <tr> - <td valign="top"><em>H5E_major_t</em> <code>maj_num, </code></td> - <td valign="top">IN: Major error number.</td></tr> - <tr> - <td valign="top"><em>H5E_minor_t</em> <code>min_num</code>,</td> - <td valign="top">IN: Minor error number.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>str</code></td> - <td valign="top">IN: Error description string.</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Eset_auto" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-SetAuto">H5Eset_auto</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Eset_auto</code>(<em>H5E_auto_t</em> <code>func</code>, - <em>void *</em><code>client_data</code> - ) -<dt><strong>Purpose:</strong> - <dd>Turns automatic error printing on or off. -<dt><strong>Description:</strong> - <dd><code>H5Eset_auto</code> turns on or off automatic printing of - errors. When turned on (non-null <code>func</code> pointer), - any API function which returns an error indication will - first call <code>func</code>, passing it <code>client_data</code> - as an argument. - <p> - When the library is first initialized the auto printing function - is set to <code>H5Eprint</code> (cast appropriately) and - <code>client_data</code> is the standard error stream pointer, - <code>stderr</code>. - <p> - Automatic stack traversal is always in the - <code>H5E_WALK_DOWNWARD</code> direction. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5E_auto_t</em> <code>func</code></td> - <td valign="top">IN: Function to be called upon an error condition.</td></tr> - <tr> - <td valign="top"><em>void *</em><code>client_data </code></td> - <td valign="top">IN: Data passed to the error 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> h5eset_auto_f - <dd> - <pre> -SUBROUTINE h5eset_auto_f(printflag, hdferr) - INTEGER, INTENT(IN) :: printflag !flag to turn automatic error - !printing on or off - !possible values are: - !printon (1) - !printoff(0) - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5eset_auto_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 "H5Ewalk" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-Walk">H5Ewalk</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Ewalk</code>(<em>H5E_direction_t</em> <code>direction</code>, - <em>H5E_walk_t</em> <code>func</code>, - <em>void *</em> <code>client_data</code> - ) -<dt><strong>Purpose:</strong> - <dd>Walks the error stack for the current thread, calling a specified - function. -<dt><strong>Description:</strong> - <dd><code>H5Ewalk</code> walks the error stack for the current thread - and calls the specified function for each error along the way. - <p> - <code>direction</code> determines whether the stack is walked - from the inside out or the outside in. - A value of <code>H5E_WALK_UPWARD</code> means begin with the - most specific error and end at the API; - a value of <code>H5E_WALK_DOWNWARD</code> means to start at the - API and end at the inner-most function where the error was first - detected. - <p> - <code>func</code> will be called for each error in the error stack. - Its arguments will include an index number (beginning at zero - regardless of stack traversal direction), an error stack entry, - and the <code>client_data</code> pointer passed to - <code>H5E_print</code>. - The <code>H5E_walk_t</code> prototype is as follows: - <dir> - <p> - <code>typedef</code> <em>herr_t</em> <code>(*H5E_walk_t)(</code><em>int</em> <code>n,</code> - <em>H5E_error_t *</em><code>err_desc,</code> - <em>void *</em><code>client_data)</code> - <p> - where the parameters have the following meanings: - <dl> - <dt><em>int</em> <code>n</code> - <dd>Indexed position of the error in the stack. - <dt><em>H5E_error_t *</em><code>err_desc</code> - <dd>Pointer to a data structure describing the error. - <em>(This structure is currently described only in the - source code file </em><code>hdf5/src/H5Epublic.h</code><em>. - That file also contains the definitive list of major - and minor error codes. That information will - eventually be presented as an appendix to this - <cite>Reference Manual</cite>.)</em> - <dt><em>void *</em><code>client_data</code> - <dd>Pointer to client data in the format expected by - the user-defined function. - </dl> - </dir> - <p> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5E_direction_t</em> <code>direction </code></td> - <td valign="top">IN: Direction in which the error stack is to be walked.</td></tr> - <tr> - <td valign="top"><em>H5E_walk_t</em> <code>func</code></td> - <td valign="top">IN: Function to be called for each error encountered.</td></tr> - <tr> - <td valign="top"><em>void *</em> <code>client_data</code></td> - <td valign="top">IN: Data to be passed with <code>func</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 "H5Ewalk_cb" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-WalkCB">H5Ewalk_cb</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Ewalk_cb</code>(<em>int</em> <code>n</code>, - <em>H5E_error_t *</em><code>err_desc</code>, - <em>void</em> <code>*client_data</code> - ) -<dt><strong>Purpose:</strong> - <dd>Default error stack traversal callback function - that prints error messages to the specified output stream. -<dt><strong>Description:</strong> - <dd><code>H5Ewalk_cb</code> is a default error stack traversal callback - function that prints error messages to the specified output stream. - It is not meant to be called directly but rather as an - argument to the <code>H5Ewalk</code> function. - This function is called also by <code>H5Eprint</code>. - Application writers are encouraged to use this function as a - model for their own error stack walking functions. - <p> - <code>n</code> is a counter for how many times this function - has been called for this particular traversal of the stack. - It always begins at zero for the first error on the stack - (either the top or bottom error, or even both, depending on - the traversal direction and the size of the stack). - <p> - <code>err_desc</code> is an error description. It contains all the - information about a particular error. - <p> - <code>client_data</code> is the same pointer that was passed as the - <code>client_data</code> argument of <code>H5Ewalk</code>. - It is expected to be a file pointer (or stderr if NULL). -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>int</em> <code>n</code></td> - <td valign="top">IN/OUT: Number of times this function has been called - for this traversal of the stack.</td></tr> - <tr> - <td valign="top"><em>H5E_error_t *</em><code>err_desc </code></td> - <td valign="top">OUT: Error description.</td></tr> - <tr> - <td valign="top"><em>void</em> <code>*client_data</code></td> - <td valign="top">IN: A file pointer, or stderr if NULL.</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> +<?php include("H5E/H5Eclear.htm"); ?> +<?php include("H5E/H5Eget_auto.htm"); ?> +<?php include("H5E/H5Eget_major.htm"); ?> +<?php include("H5E/H5Eget_minor.htm"); ?> +<?php include("H5E/H5Eprint.htm"); ?> +<?php include("H5E/H5Epush.htm"); ?> +<?php include("H5E/H5Eset_auto.htm"); ?> +<?php include("H5E/H5Ewalk.htm"); ?> +<?php include("H5E/H5Ewalk_cb.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -755,9 +255,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 16 October 2003"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5F.html b/doc/html/RM_H5F.html index 4f686f7..8b32e00 100644 --- a/doc/html/RM_H5F.html +++ b/doc/html/RM_H5F.html @@ -191,1284 +191,22 @@ as the corresponding C function. <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Fclose" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Close">H5Fclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Fclose</code>(<em>hid_t</em> <code>file_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Terminates access to an HDF5 file. -<dt><strong>Description:</strong> - <dd><code>H5Fclose</code> terminates access to an HDF5 file - by flushing all data to storage and terminating access - to the file through <code>file_id</code>. - <p> - If this is the last file identifier open for the file - and no other access identifier is open (e.g., a dataset - identifier, group identifier, or shared datatype identifier), - the file will be fully closed and access will end. - <p> - <strong>Delayed close:</strong> - <br> - Note the following deviation from the above-described behavior. - If <code>H5Fclose</code> is called for a file but one or more - objects within the file remain open, those objects will remain - accessible until they are individually closed. - Thus, if the dataset <code>data_sample</code> is open when - <code>H5Fclose</code> is called for the file containing it, - <code>data_sample</code> will remain open and accessible - (including writable) until it is explicitely closed. - The file will be automatically closed once all objects in the - file have been closed. - <p> - Be warned, hoever, that there are circumstances where it is - not possible to delay closing a file. - For example, an MPI-IO file close is a collective call; all of - the processes that opened the file must close it collectively. - The file cannot be closed at some time in the future by each - process in an independent fashion. - Another example is that an application using an AFS token-based - file access privilage may destroy its AFS token after - <code>H5Fclose</code> has returned successfully. - This would make any future access to the file, or any object - within it, illegal. - <p> - In such situations, applications must close all open objects - in a file before calling <code>H5Fclose</code>. - It is generally recommended to do so in all cases. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>file_id </code></td> - <td valign="top">IN: Identifier of a file 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> h5fclose_f - <dd> - <pre> -SUBROUTINE h5fclose_f(file_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5fclose_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 "H5Fcreate" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Create">H5Fcreate</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Fcreate</code>(<em>const char *</em><code>name</code>, - <em>unsigned</em> <code>flags</code>, - <em>hid_t</em> <code>create_id</code>, - <em>hid_t</em> <code>access_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates HDF5 files. -<dt><strong>Description:</strong> - <dd><code>H5Fcreate</code> is the primary function for creating - HDF5 files . - <p> - The <code>flags</code> parameter determines whether an - existing file will be overwritten. All newly created files - are opened for both reading and writing. All flags may be - combined with the bit-wise OR operator (`|') to change - the behavior of the <code>H5Fcreate</code> call. - <p> - The more complex behaviors of file creation and access - are controlled through the file-creation and file-access - property lists. The value of <code>H5P_DEFAULT</code> for - a property list value indicates that the library should use - the default values for the appropriate property list. - <p> - The return value is a file identifier for the newly-created file; - this file identifier should be closed by calling - <code>H5Fclose</code> when it is no longer needed. - <p> - - <b>Special case -- File creation in the case of an - already-open file:</b> - <br> - If a file being created is already opened, by either a - previous <code>H5Fopen</code> or <code>H5Fcreate</code> call, - the HDF5 library may or may not detect that the open file and - the new file are the same physical file. - (See <a href="#File-Open"><code>H5Fopen</code></a> regarding - the limitations in detecting the re-opening of an already-open - file.) - <p> - If the library detects that the file is already opened, - <code>H5Fcreate</code> will return a failure, regardless - of the use of <code>H5F_ACC_TRUNC</code>. - <p> - If the library does not detect that the file is already opened - and <code>H5F_ACC_TRUNC</code> is not used, - <code>H5Fcreate</code> will return a failure because the file - already exists. Note that this is correct behavior. - <p> - But if the library does not detect that the file is already - opened and <code>H5F_ACC_TRUNC</code> is used, - <code>H5Fcreate</code> will truncate the existing file - and return a valid file identifier. - Such a truncation of a currently-opened file will almost - certainly result in errors. - While unlikely, the HDF5 library may not be able to detect, - and thus report, such errors. - <p> - Applications should avoid calling <code>H5Fcreate</code> - with an already opened file. - -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>const char *</em><code>name </code></td> - <td valign="top">IN: Name of the file to access.</td></tr> - <tr> - <td valign="top"><em>uintn</em> <code>flags</code></td> - <td valign="top">IN: File access flags. Allowable values are: - <ul><dl> - <dt><code>H5F_ACC_TRUNC</code> - <dd>Truncate file, if it already exists, - erasing all data previously stored in the file. - <dt><code>H5F_ACC_EXCL</code> - <dd>Fail if file already exists. - </dl></ul> - <li><code>H5F_ACC_TRUNC</code> and <code>H5F_ACC_EXCL</code> - are mutually exclusive; use exactly one. - <li>An additional flag, <code>H5F_ACC_DEBUG</code>, prints - debug information. This flag is used only by HDF5 library - developers; <i>it is neither tested nor supported</i> - for use in applications.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>create_id </code></td> - <td valign="top">IN: File creation property list identifier, used when modifying - default file meta-data. - Use <code>H5P_DEFAULT</code> for default file creation properties.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>access_id</code></td> - <td valign="top">IN: File access property list identifier. - If parallel file access is desired, this is a collective - call according to the communicator stored in the - <code>access_id</code>. - Use <code>H5P_DEFAULT</code> for default file access properties.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a file identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fcreate_f - <dd> - <pre> -SUBROUTINE h5fcreate_f(name, access_flags, file_id, hdferr, & - creation_prp, access_prp) - IMPLICIT NONE - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file - INTEGER, INTENT(IN) :: access_flag ! File access flags - ! Possible values are: - ! H5F_ACC_RDWR_F - ! H5F_ACC_RDONLY_F - ! H5F_ACC_TRUNC_F - ! H5F_ACC_EXCL_F - ! H5F_ACC_DEBUG_F - INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp - ! File creation propertly - ! list identifier, if not - ! specified its value is - ! H5P_DEFAULT_F - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp - ! File access property list - ! identifier, if not - ! specified its value is - ! H5P_DEFAULT_F -END SUBROUTINE h5fcreate_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 "H5Fflush" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Flush">H5Fflush</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Fflush</code>(<em>hid_t </em><code>object_id</code>, - <em>H5F_scope_t</em> <code>scope</code> - ) -<dt><strong>Purpose:</strong> - <dd>Flushes all buffers associated with a file to disk. -<dt><strong>Description:</strong> - <dd><code>H5Fflush</code> causes all buffers associated with a - file to be immediately flushed to disk without removing the - data from the cache. - <p> - <code>object_id</code> can be any object associated with the file, - including the file itself, a dataset, a group, an attribute, or - a named data type. - <p> - <code>scope</code> specifies whether the scope of the flushing - action is global or local. Valid values are - <center> - <table border=0> - <tr><td align=left valign=top><code>H5F_SCOPE_GLOBAL</code></td> - <td> </td> - <td align=left valign=top>Flushes the entire virtual file.</td></tr> - <tr><td align=left valign=top><code>H5F_SCOPE_LOCAL</code></td> - <td></td> - <td align=left valign=top>Flushes only the specified file.</td></tr> - </table> - </center> -<dt><strong>Note:</strong> - <dd>HDF5 does not possess full control over buffering. - <code>H5Fflush</code> flushes the internal HDF5 buffers then - asks the operating system (the OS) to flush the system buffers for the - open files. After that, the OS is responsible for ensuring that - the data is actually flushed to disk. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t </em><code>object_id</code></td> - <td valign="top">IN: Identifier of object used to identify the file.</td></tr> - <tr> - <td valign="top"><em>H5F_scope_t</em> <code>scope </code></td> - <td valign="top">IN: Specifies the scope of the flushing action.</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> h5fflush_f - <dd> - <pre> -SUBROUTINE h5fflush_f(obj_id, scope, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier - INTEGER, INTENT(IN) :: scope ! Flag with two possible values: - ! H5F_SCOPE_GLOBAL_F - ! H5F_SCOPE_LOCAL_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5fflush_f - </pre> - -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Fget_access_plist" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-GetAccessPlist">H5Fget_access_plist</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Fget_access_plist</code>(<em>hid_t</em> <code>file_id</code>) -<dt><strong>Purpose:</strong> - <dd>Returns a file access property list identifier. -<dt><strong>Description:</strong> - <dd><code>H5Fget_access_plist</code> returns the - file access property list identifier of the specified file. - <p> - See "File Access Properties" in - <a href="RM_H5P.html">H5P: Property List Interface</a> - in this reference manual and - "File Access Property Lists" - in <a href="Files.html"><cite>Files</cite></a> in the - <cite>HDF5 User's Guide</cite> for - additional information and related functions. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>file_id </code></td> - <td valign="top">IN: Identifier of file to get access property list of</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a file access property list identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fget_access_plist_f - <dd> - <pre> -SUBROUTINE h5fget_access_plist_f(file_id, fcpl_id, hdferr) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER(HID_T), INTENT(OUT) :: fapl_id ! File access property list identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5fget_access_plist_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 "H5Fget_create_plist" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-GetCreatePlist">H5Fget_create_plist</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Fget_create_plist</code>(<em>hid_t</em> <code>file_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns a file creation property list identifier. -<dt><strong>Description:</strong> - <dd><code>H5Fget_create_plist</code> returns a file creation - property list identifier identifying the creation properties - used to create this file. This function is useful for - duplicating properties when creating another file. - <p> - See "File Creation Properties" in - <a href="RM_H5P.html">H5P: Property List Interface</a> - in this reference manual and - "File Creation Properties" - in <a href="Files.html"><cite>Files</cite></a> in the - <cite>HDF5 User's Guide</cite> for - additional information and related functions. -<dt><strong>Parameters:</strong> - <ul><table> - <dt> - <td valign="top"><em>hid_t</em> <code>file_id </code></td> - <td valign="top">IN: Identifier of the file to get creation property list of</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a file creation property list identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fget_create_plist_f - <dd> - <pre> -SUBROUTINE h5fget_create_plist_f(file_id, fcpl_id, hdferr) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER(HID_T), INTENT(OUT) :: fcpl_id ! File creation property list - ! identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5fget_create_plist_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 "H5Fget_filesize" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-GetFilesize">H5Fget_filesize</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Fget_filesize</code>(<em>hid_t</em> <code>file_id</code>, - <em>hsize_t *</em><code>size</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the size of an HDF5 file. -<dt><strong>Description:</strong> - <dd><code>H5Fget_filesize</code> returns the size - of the HDF5 file specified by <code>file_id</code>. - <p> - The returned size is that of the entire file, - as opposed to only the HDF5 portion of the file. - I.e., <code>size</code> includes the user block, if any, - the HDF5 portion of the file, and - any data that may have been appended - beyond the data written through the HDF5 Library. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>file_id</code> - <dd>IN: Identifier of a currently-open HDF5 file - <dt><em>hsize_t *</em><code>size</code> - <dd>OUT: Size of the file, in bytes. - </dl> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fget_freespace_f - <dd> - <pre> -SUBROUTINE h5fget_filesize_f(file_id, size, hdferr) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! file identifier - INTEGER(HSIZE_T), INTENT(OUT) :: size ! Size of the file - INTEGER, INTENT(OUT) :: hdferr ! Error code: 0 on success, - ! -1 if fail -END SUBROUTINE h5fget_filesize_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.3</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this - release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Fget_freespace" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-GetFreeSpace">H5Fget_freespace</a> -<dt><strong>Signature:</strong> - <dd><em>hssize_t </em><code>H5Fget_freespace</code>(<em>hid_t</em> <code>file_id</code>) -<dt><strong>Purpose:</strong> - <dd>Returns the amount of free space in a file. -<dt><strong>Description:</strong> - <dd>Given the identifier of an open file, <code>file_id</code>, - <code>H5Fget_freespace</code> returns the amount of space that is - unused by any objects in the file. - <p> - Currently, the HDF5 library only tracks free space in a file from a - file open or create until that file is closed, so this routine will - only report the free space that has been created during that - interval. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>file_id </code></td> - <td valign="top">IN: Identifier of a currently-open HDF5 file</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the amount of free space in the file if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fget_freespace_f - <dd> - <pre> -SUBROUTINE h5fget_freespace_f(file_id, free_space, hdferr) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER(HSSIZE_T), INTENT(OUT) :: free_space ! Amount of free space in file - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5fget_freespace_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.1</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Fget_name" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-GetName">H5Fget_name</a> -<dt><strong>Signature:</strong> - <dd><em>ssize_t</em> <code>H5Fget_name</code>(<em>hid_t</em> <code>obj_id</code>, - <em>char *</em><code>name</code>, - <em>size_t</em> <code>size</code> - ) - -<dt><strong>Purpose:</strong> - <dd>Retrieves name of file to which object belongs. -<dt><strong>Description:</strong> - <dd><code>H5Fget_name</code> retrieves the name of the file - to which the object <code>obj_id</code> belongs. - The object can be a group, dataset, attribute, or - named datatype. - <p> - Up to <code>size</code> characters of the filename - are returned in <code>name</code>; - additional characters, if any, are not returned to - the user application. - <p> - If the length of the name, - which determines the required value of <code>size</code>, - is unknown, a preliminary <code>H5Fget_name</code> call - can be made by setting <code>name</code> to NULL. - The return value of this call will be the size of the filename; - that value plus one (1) can then be assigned to <code>size</code> - for a second <code>H5Fget_name</code> call, - which will retrieve the actual name. - (The value passed in with the parameter <code>size</code> must be - one greater than size in bytes of the actual name in order to - accommodate the null terminator; if <code>size</code> is set to - the exact size of the name, the last byte passed back will - contain the null terminator and the last character will be - missing from the name passed back to the calling application.) - <p> - If an error occurs, the buffer pointed to by - <code>name</code> is unchanged and - the function returns a negative value. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>obj_id</code> - <dd>IN: Identifier of the object for which the - associated filename is sought. - The object can be a group, dataset, attribute, or - named datatype. - <dt><em>char *</em><code>name</code> - <dd>OUT: Buffer to contain the returned filename. - <dt><em>size_t</em> <code>size</code> - <dd>IN: Size, in bytes, of the <code>name</code> buffer. - </dl> -<dt><strong>Returns:</strong> - <dd>Returns the length of the filename if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fget_name_f - <dd> - <pre> -SUBROUTINE h5fget_name_f(obj_id, buf, size, hdferr) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier - CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Buffer to hold filename - INTEGER(SIZE_T), INTENT(OUT) :: size ! Size of the filename - INTEGER, INTENT(OUT) :: hdferr ! Error code: 0 on success, - ! -1 if fail -END SUBROUTINE h5fget_name_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.3</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this - release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Fget_obj_count" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-GetObjCount">H5Fget_obj_count</a> -<dt><strong>Signature:</strong> - <dd><em>ssize_t </em><code>H5Fget_obj_count</code>( - <em>hid_t</em> <code>file_id</code>, - <em>unsigned int</em> <code>types</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the number of open object identifiers for an open file. -<dt><strong>Description:</strong> - <dd>Given the identifier of an open file, <code>file_id</code>, - and the desired object types, <code>types</code>, - <code>H5Fget_obj_count</code> returns the number of - open object identifiers for the file. - <p> - To retrieve a count of open identifiers for open objects in - all HDF5 application files that are currently open, - pass the value <code>H5F_OBJ_ALL</code> in <code>file_id</code>. - <p> - The types of objects to be counted are specified - in <code>types</code> as follows: - <center> - <table width=90% border=0> - <tr><td valign=top> - <code>H5F_OBJ_FILE</code> - </td><td valign=top> - Files only - </td></tr><tr><td valign=top> - <code>H5F_OBJ_DATASET</code> - </td><td valign=top> - Datasets only - </td></tr><tr><td valign=top> - <code>H5F_OBJ_GROUP</code> - </td><td valign=top> - Groups only - </td></tr><tr><td valign=top> - <code>H5F_OBJ_DATATYPE </code> - </td><td valign=top> - Named datatypes only - </td></tr><tr><td valign=top> - <code>H5F_OBJ_ATTR</code> - </td><td valign=top> - Attributes only - </td></tr><tr><td valign=top> - <code>H5F_OBJ_ALL</code> - </td><td valign=top> - All of the above - <br> - (I.e., <code>H5F_OBJ_FILE</code> | <code>H5F_OBJ_DATASET</code> | - <code>H5F_OBJ_GROUP</code> | <code>H5F_OBJ_DATATYPE</code> - | <code>H5F_OBJ_ATTR</code> ) - </td></tr><tr><td valign=top> - <code>H5F_OBJ_LOCAL</code> - </td><td valign=top> - Restrict search to objects opened through current file identifier. - </td></tr> - </table> - </center> - <p> - Multiple object types can be combined with the - logical <code>OR</code> operator (<code>|</code>). - For example, the expression <code>(H5F_OBJ_DATASET|H5F_OBJ_GROUP)</code> would call for - datasets and groups. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>file_id</code></td> - <td valign="top">IN: Identifier of a currently-open HDF5 file or - <code>H5F_OBJ_ALL</code> for all currently-open HDF5 files.</td></tr> - <tr> - <td valign="top"><em>unsigned int</em> <code>types </code></td> - <td valign="top">IN: Type of object for which identifiers are to be returned.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of open objects if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fget_obj_count_f - <dd> - <pre> -SUBROUTINE h5fget_obj_count_f(file_id, obj_type, obj_count, hdferr) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER, INTENT(IN) :: obj_type ! Object types, possible values are: - ! H5F_OBJ_FILE_F - ! H5F_OBJ_GROUP_F - ! H5F_OBJ_DATASET_F - ! H5F_OBJ_DATATYPE_F - ! H5F_OBJ_ALL_F - INTEGER, INTENT(OUT) :: obj_count ! Number of opened objects - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5fget_obj_count_f - </pre> - -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Change</strong></td></tr> - <tr> - <td valign="top">1.6.5</td> - <td valign="top"> - <code>H5F_OBJ_LOCAL</code> has been added as a qualifier - on the types of objects to be counted. - <code>H5F_OBJ_LOCAL</code> restricts the search to objects - opened through current file identifier.</td></tr> - <tr> - <td valign="top">1.6.8</td> - <td valign="top"> - C function return type changed to <code><em>ssize_t</em></code>. - </td></tr> - </table></ul> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Fget_obj_ids" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-GetObjIDs">H5Fget_obj_ids</a> -<dt><strong>Signature:</strong> - <dd><em>ssize_t </em><code>H5Fget_obj_ids</code>( - <em>hid_t</em> <code>file_id</code>, - <em>unsigned int</em> <code>types</code>, - <em>size_t</em> <code>max_objs</code>, - <em>hid_t *</em><code>obj_id_list</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns a list of open object identifiers. -<dt><strong>Description:</strong> - <dd>Given the file identifier <code>file_id</code> and - the type of objects to be identified, <code>types</code>, - <code>H5Fget_obj_ids</code> returns the list of identifiers - for all open HDF5 objects fitting the specified criteria. - <p> - To retrieve identifiers for open objects in all HDF5 application - files that are currently open, pass the value - <code>H5F_OBJ_ALL</code> in <code>file_id</code>. - <p> - The types of object identifiers to be retrieved are specified - in <code>types</code> using the codes listed for the same - parameter in <a href="#File-GetObjCount"><code>H5Fget_obj_count</code></a> - <p> - To retrieve identifiers for all open objects, pass a negative value - for the <code>max_objs</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>file_id</code></td> - <td valign="top">IN: Identifier of a currently-open HDF5 file or - <code>H5F_OBJ_ALL</code> for all currently-open HDF5 files.</td></tr> - <tr> - <td valign="top"><em>unsigned int</em> <code>types</code></td> - <td valign="top">IN: Type of object for which identifiers are to be returned.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>max_objs</code></td> - <td valign="top">IN: Maximum number of object identifiers to place into - <code>obj_id_list</code>.</td></tr> - <tr> - <td valign="top"><em>hid_t *</em><code>obj_id_list </code></td> - <td valign="top">OUT: Pointer to the returned list of open object identifiers.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns number of objects placed into <code>obj_id_list</code> if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fget_obj_ids_f - <dd> - <pre> -SUBROUTINE h5fget_obj_ids_f(file_id, obj_type, max_objs, obj_ids, hdferr) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER, INTENT(IN) :: obj_type ! Object types, possible values are: - ! H5F_OBJ_FILE_F - ! H5F_OBJ_GROUP_F - ! H5F_OBJ_DATASET_F - ! H5F_OBJ_DATATYPE_F - ! H5F_OBJ_ALL_F - INTEGER, INTENT(IN) :: max_objs ! Maximum number of object - ! identifiers to retrieve - INTEGER(HID_T), DIMENSION(*), INTENT(OUT) :: obj_ids - ! Array of requested object - ! identifiers - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5fget_obj_ids_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Change</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - C function introduced in this release.</td></tr> - <tr> - <td valign="top">1.6.8</td> - <td valign="top"> - C function return type changed to <code><em>ssize_t</em></code> - <br> - and <code>max_objs</code> parameter datatype changed to - <code><em>size_t</em></code>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Fget_vfd_handle" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-GetVfdHandle">H5Fget_vfd_handle</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Fget_vfd_handle</code>(<em>hid_t</em> <code>file_id</code>, - <em>hid_t</em> <code>fapl_id</code>, - <em>void **</em><code>file_handle</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns pointer to the file handle from the virtual file driver. -<dt><strong>Description:</strong> - <dd>Given the file identifier <code>file_id</code> and - the file access property list <code>fapl_id</code>, - <code>H5Fget_vfd_handle</code> returns a pointer to the file handle - from the low-level file driver currently being used by the - HDF5 library for file I/O. -<dt><strong>Notes:</strong> - <dd>Users are not supposed to modify any file through this file handle. - <p> - This file handle is dynamic and is valid only while the file remains - open; it will be invalid if the file is closed and reopened or - opened during a subsequent session. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>file_id</code></td> - <td valign="top">IN: Identifier of the file to be queried.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>fapl_id</code></td> - <td valign="top">IN: File access property list identifier. - For most drivers, the value will be <code>H5P_DEFAULT</code>. - For the <code>FAMILY</code> or <code>MULTI</code> drivers, - this value should be defined through the property list - functions: - <code>H5Pset_family_offset</code> for the <code>FAMILY</code> - driver and <code>H5Pset_multi_type</code> for the - <code>MULTI</code> driver.</td></tr> - <tr> - <td valign="top"><em>void **</em><code>file_handle </code></td> - <td valign="top">OUT: Pointer to the file handle being used by - the low-level virtual file driver.</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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Fis_hdf5" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-IsHDF5">H5Fis_hdf5</a> -<dt><strong>Signature:</strong> - <dd><em>htri_t </em><code>H5Fis_hdf5</code>(<em>const char *</em><code>name</code> - ) -<dt><strong>Purpose:</strong> - <dd>Determines whether a file is in the HDF5 format. -<dt><strong>Description:</strong> - <dd><code>H5Fis_hdf5</code> determines whether a file is in - the HDF5 format. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>const char *</em><code>name </code></td> - <td valign="top">IN: File name to check format.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>When successful, returns a positive value, for <code>TRUE</code>, - or <code>0</code> (zero), for <code>FALSE</code>. - <br> - On any error, including the case that the file does not exist, - returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fis_hdf5_f - <dd> - <pre> -SUBROUTINE h5fis_hdf5_f(name, status, hdferr) - IMPLICIT NONE - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file - LOGICAL, INTENT(OUT) :: status ! This parameter indicates - ! whether file is an HDF5 file - ! ( TRUE or FALSE ) - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5fis_hdf5_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 "H5Fmount" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Mount">H5Fmount</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Fmount</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code>, - <em>hid_t</em> <code>child_id</code>, - <em>hid_t</em> <code>plist_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Mounts a file. -<dt><strong>Description:</strong> - <dd><code>H5Fmount</code> mounts the file specified by - <code>child_id</code> onto the group specified by - <code>loc_id</code> and <code>name</code> using - the mount properties <code>plist_id</code>. - <p> - Note that <code>loc_id</code> is either a file or group identifier - and <code>name</code> is relative to <code>loc_id</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier for of file or group in - which <code>name</code> is defined.</td> - <tr> - <td valign="top"><em>const char *</em><code>name </code></td> - <td valign="top">IN: Name of the group onto which the - file specified by <code>child_id</code> - is to be mounted.</td> - <tr> - <td valign="top"><em>hid_t</em> <code>child_id</code></td> - <td valign="top">IN: Identifier of the file to be mounted.</td> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">IN: Identifier of the property list to be used.</td> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fmount_f - <dd> - <pre> -SUBROUTINE h5fmount_f(loc_id, name, child_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN):: name ! Group name at locationloc_id - INTEGER(HID_T), INTENT(IN) :: child_id ! File(to be mounted) identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5fmount_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 "H5Fopen" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Open">H5Fopen</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Fopen</code>(<em>const char *</em><code>name</code>, - <em>unsigned</em> <code>flags</code>, - <em>hid_t</em> <code>access_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Opens an existing file. -<dt><strong>Description:</strong> - <dd><code>H5Fopen</code> opens an existing file and is the primary - function for accessing existing HDF5 files. - <p> - Note that <code>H5Fopen</code> does not create a file - if it does not already exist. - See <a href="#File-Create"><code>H5Fcreate</code></a>. - <p> - The parameter <code>access_id</code> is a file access property - list identifier or <code>H5P_DEFAULT</code> if the - default I/O access parameters are to be used - <p> - The <code>flags</code> argument determines whether writing - to an existing file will be allowed. - The file is opened with read and write permission if - <code>flags</code> is set to <code>H5F_ACC_RDWR</code>. - All flags may be combined with the bit-wise OR operator (`|') - to change the behavior of the file open call. - More complex behaviors of file access are controlled - through the file-access property list. - <p> - The return value is a file identifier for the open file; - this file identifier should be closed by calling - <code>H5Fclose</code> when it is no longer needed. - <p> - - <b>Special case -- Multiple opens:</b> - <br> - A file can often be opened with a new <code>H5Fopen</code> - call without closing an already-open identifier established - in a previous <code>H5Fopen</code> or <code>H5Fcreate</code> - call. Each such <code>H5Fopen</code> call will return a - unique identifier and the file can be accessed through any - of these identifiers as long as the identifier remains valid. - In such multiply-opened cases, all the open calls should - use the same <code>flags</code> argument. - <p> - In some cases, such as files on a local Unix file system, - the HDF5 library can detect that a file is multiply opened and - will maintain coherent access among the file identifiers. - <p> - But in many other cases, such as parallel file systems or - networked file systems, it is not always possible to detect - multiple opens of the same physical file. - In such cases, HDF5 will treat the file identifiers - as though they are accessing different files and - will be unable to maintain coherent access. - Errors are likely to result in these cases. - While unlikely, the HDF5 library may not be able to detect, - and thus report, such errors. - <p> - It is generally recommended that applications avoid - multiple opens of the same file. - -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>const char *</em><code>name </code></td> - <td valign="top">IN: Name of the file to access.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>flags</code></td> - <td valign="top">IN: File access flags. Allowable values are: - <ul><dl> - <dt><code>H5F_ACC_RDWR</code> - <dd>Allow read and write access to file. - <dt><code>H5F_ACC_RDONLY</code> - <dd>Allow read-only access to file. - </dl> - <li><code>H5F_ACC_RDWR</code> and <code>H5F_ACC_RDONLY</code> - are mutually exclusive; use exactly one. -<!-- NEW PAGE --> - <li>An additional flag, <code>H5F_ACC_DEBUG</code>, prints - debug information. This flag is used only by HDF5 library - developers; it is neither tested nor supported - for use in applications. - </ul></td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>access_id </code></td> - <td valign="top">IN: Identifier for the file access properties list. - If parallel file access is desired, this is a collective - call according to the communicator stored in the - <code>access_id</code>. - Use <code>H5P_DEFAULT</code> for default file access properties.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a file identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5fopen_f - <dd> - <pre> -SUBROUTINE h5fopen_f(name, access_flags, file_id, hdferr, & - access_prp) - IMPLICIT NONE - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file - INTEGER, INTENT(IN) :: access_flag ! File access flags - ! Possible values are: - ! H5F_ACC_RDWR_F - ! H5F_ACC_RDONLY_F - INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp - ! File access property list - ! identifier -END SUBROUTINE h5fopen_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 "H5Freopen" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Reopen">H5Freopen</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Freopen</code>(<em>hid_t</em> <code>file_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns a new identifier for a previously-opened HDF5 file. -<dt><strong>Description:</strong> - <dd><code>H5Freopen</code> returns a new file identifier for an - already-open HDF5 file, as specified by <code>file_id</code>. - Both identifiers share caches and other information. - The only difference between the identifiers is that the - new identifier is not mounted anywhere and no files are - mounted on it. - <p> - Note that there is no circumstance under which - <code>H5Freopen</code> can actually open a closed file; - the file must already be open and have an active - <code>file_id</code>. E.g., one cannot close a file with - <code> H5Fclose (file_id) </code> then use - <code> H5Freopen (file_id) </code> to reopen it. - <p> - The new file identifier should be closed by calling - <code>H5Fclose</code> when it is no longer needed. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>file_id </code></td> - <td valign="top">IN: Identifier of a file for which an additional identifier - is required.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a new file identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5freopen_f - <dd> - <pre> -SUBROUTINE h5freopen_f(file_id, new_file_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER(HID_T), INTENT(OUT) :: new_file_id ! New file identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5freopen_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 "H5Funmount" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Unmount">H5Funmount</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Funmount</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code> - ) -<dt><strong>Purpose:</strong> - <dd>Unmounts a file. -<dt><strong>Description:</strong> - <dd>Given a mount point, <code>H5Funmount</code> - dissassociates the mount point's file - from the file mounted there. This function - does not close either file. - <p> - The mount point can be either the group in the - parent or the root group of the mounted file - (both groups have the same name). If the mount - point was opened before the mount then it is the - group in the parent; if it was opened after the - mount then it is the root group of the child. - <p> - Note that <code>loc_id</code> is either a file or group identifier - and <code>name</code> is relative to <code>loc_id</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: File or group identifier for the location at which - the specified file is to be unmounted.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>name </code></td> - <td valign="top">IN: Name of the mount point.</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> h5funmount_f - <dd> - <pre> -SUBROUTINE h5funmount_f(loc_id, name, child_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN):: name ! Group name at location loc_id - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5funmount_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - +<?php include("H5F/H5Fclose.htm"); ?> +<?php include("H5F/H5Fcreate.htm"); ?> +<?php include("H5F/H5Fflush.htm"); ?> +<?php include("H5F/H5Fget_access_plist.htm"); ?> +<?php include("H5F/H5Fget_create_plist.htm"); ?> +<?php include("H5F/H5Fget_filesize.htm"); ?> +<?php include("H5F/H5Fget_freespace.htm"); ?> +<?php include("H5F/H5Fget_name.htm"); ?> +<?php include("H5F/H5Fget_obj_count.htm"); ?> +<?php include("H5F/H5Fget_obj_ids.htm"); ?> +<?php include("H5F/H5Fget_vfd_handle.htm"); ?> +<?php include("H5F/H5Fis_hdf5.htm"); ?> +<?php include("H5F/H5Fmount.htm"); ?> +<?php include("H5F/H5Fopen.htm"); ?> +<?php include("H5F/H5Freopen.htm"); ?> +<?php include("H5F/H5Funmount.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -1522,9 +260,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 30 December 2008"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5G.html b/doc/html/RM_H5G.html index 180512f..1eebea1 100644 --- a/doc/html/RM_H5G.html +++ b/doc/html/RM_H5G.html @@ -213,1361 +213,22 @@ create or access function. <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Gclose" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-Close">H5Gclose</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gclose</code>(<em>hid_t </em><code>group_id</code>) - <dt><strong>Purpose:</strong> - <dd>Closes the specified group. - <dt><strong>Description:</strong> - <dd><code>H5Gclose</code> releases resources used by a group which was - opened by <code>H5Gcreate</code> or <code>H5Gopen</code>. - After closing a group, the <code>group_id</code> cannot be used again. - <p> - Failure to release a group with this call will result in resource leaks. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>group_id </code></td> - <td valign="top">IN: Group identifier to release.</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> h5gclose_f - <dd> - <pre> -SUBROUTINE h5gclose_f( gr_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: gr_id ! Group identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gclose_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 "H5Gcreate" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-Create">H5Gcreate</a> - <dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Gcreate</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t</em> <code>size_hint</code> - ) - <dt><strong>Purpose:</strong> - <dd>Creates a new empty group and gives it a name. - <dt><strong>Description:</strong> - <dd><code>H5Gcreate</code> creates a new group with the specified - name at the specified location, <code>loc_id</code>. - The location is identified by a file or group identifier. - The name, <code>name</code>, must not already be taken by some - other object and all parent groups must already exist. - <p> - <code>size_hint</code> is a hint for the number of bytes to - reserve to store the names which will be eventually added to - the new group. Passing a value of zero for <code>size_hint</code> - is usually adequate since the library is able to dynamically - resize the name heap, but a correct hint may result in better - performance. - If a non-positive value is supplied for <code>size_hint</code>, - then a default size is chosen. - <p> - The length of a group name, or of the name of any object within - a group, is not limited. - <p> - The return value is a group identifier for the open group. - This group identifier should be closed by calling - <code>H5Gclose</code> when it is no longer needed. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: File or group identifier.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>name</code></td> - <td valign="top">IN: Absolute or relative name of the new group.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>size_hint </code></td> - <td valign="top">IN: Optional parameter indicating the number of - bytes to reserve for the names that will appear in the group. - A conservative estimate could result in multiple - system-level I/O requests to read the group name heap; - a liberal estimate could result in a single large - I/O request even when the group has just a few names. - HDF5 stores each name with a null terminator.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a valid group identifier for the open group if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5gcreate_f - <dd> - <pre> -SUBROUTINE h5gcreate_f(loc_id, name, gr_id, hdferr, size_hint) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group to be created - INTEGER(HID_T), INTENT(OUT) :: gr_id ! Group identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(SIZE_T), OPTIONAL, INTENT(IN) :: size_hint - ! Number of bytes to store the names - ! of objects in the group. - ! Default value is - ! OBJECT_NAMELEN_DEFAULT_F -END SUBROUTINE h5gcreate_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 "H5Gget_comment" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-GetComment">H5Gget_comment</a> - <dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Gget_comment</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t</em> <code>bufsize</code>, - <em>char *</em><code>comment</code> - ) - <dt><strong>Purpose:</strong> - <dd>Retrieves comment for specified object. - <dt><strong>Description:</strong> - <dd><code>H5Gget_comment</code> retrieves the comment for the the - object specified by <code>loc_id</code> and <code>name</code>. - The comment is returned in the buffer <code>comment</code>. - <p> - At most <code>bufsize</code> characters, including a null - terminator, are returned in <code>comment</code>. - The returned value is not null terminated - if the comment is longer than the supplied buffer. - <p> - If an object does not have a comment, the empty string - is returned. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of the file, group, dataset, or - named datatype.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>name </code></td> - <td valign="top">IN: Name of the object in <code>loc_id</code> whose - comment is to be retrieved. - <br> - <code>name</code> can be '.' (dot) if <code>loc_id</code> - fully specifies the object for which the associated comment - is to be retrieved. - <br> - <code>name</code> is ignored if <code>loc_id</code> - is a dataset or named datatype. - </td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>bufsize</code></td> - <td valign="top">IN: Anticipated required size of the - <code>comment</code> buffer.</td></tr> - <tr> - <td valign="top"><em>char *</em><code>comment</code></td> - <td valign="top">OUT: The comment.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns the number of characters in the comment, - counting the null terminator, if successful; the value - returned may be larger than <code>bufsize</code>. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5gget_comment_f - <dd> - <pre> -SUBROUTINE h5gget_comment_f(loc_id, name, size, buffer, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File, group, dataset, or - ! named datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object link - CHARACTER(LEN=size), INTENT(OUT) :: buffer ! Buffer to hold the comment - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gget_comment_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 "H5Gget_linkval" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-GetLinkval">H5Gget_linkval</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Gget_linkval</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code>, - <em>size_t</em> <code>size</code>, - <em>char *</em><code>value</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns the name of the object that the symbolic link points to. - <dt><strong>Description:</strong> - <dd><code>H5Gget_linkval</code> returns <code>size</code> - characters of the name of the object that the symbolic link <code>name</code> points to. - <p> - The parameter <code>loc_id</code> is a file or group identifier. - <p> - The parameter <code>name</code> must be a symbolic link pointing to - the desired object and must be defined relative to <code>loc_id</code>. - <p> - If <code>size</code> is smaller than the size of the returned object name, then - the name stored in the buffer <code>value</code> will not be null terminated. - <p> - This function fails if <code>name</code> is not a symbolic link. - The presence of a symbolic link can be tested by passing zero for - <code>size</code> and NULL for <code>value</code>. - <p> - This function should be used only after <code>H5Gget_objinfo</code> has been called - to verify that <code>name</code> is a symbolic link. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of the file or group.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>name </code></td> - <td valign="top">IN: Symbolic link to the object whose name is to be returned.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>size</code></td> - <td valign="top">IN: Maximum number of characters of <code>value</code> - to be returned.</td></tr> - <tr> - <td valign="top"><em>char *</em><code>value</code></td> - <td valign="top">OUT: A buffer to hold the name of the object being sought.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value, with the link value in <code>value</code>, - if successful. - Otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5gget_linkval_f - <dd> - <pre> -SUBROUTINE h5gget_linkval_f(loc_id, name, size, buffer, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the symbolic link - CHARACTER(LEN=size), INTENT(OUT) :: buffer ! Buffer to hold a - ! name of the object - ! symbolic link points to - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gget_linkval_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 "H5Gget_num_objs" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetNumObjs">H5Gget_num_objs</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Gget_num_objs</code>(<em>hid_t</em> <code>loc_id</code>, - <em>hsize_t* </em> <code>num_obj</code>) -<dt><strong>Purpose:</strong> - <dd>Returns number of objects in the group specified by its identifier -<dt><strong>Description:</strong> - <dd><code>H5Gget_num_objs</code> returns number of objects in a group. - Group is specified by its identifier <code>loc_id</code>. - If a file identifier is passed in, then the number of objects in the - root group is returned. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of the group or the file</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>num_obj </code></td> - <td valign="top">OUT: Number of objects in the group.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns positive 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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Gget_objinfo" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-GetObjinfo">H5Gget_objinfo</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Gget_objinfo</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code>, - <em>hbool_t</em> <code>follow_link</code>, - <em>H5G_stat_t *</em><code>statbuf</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns information about an object. - <dt><strong>Description:</strong> - <dd><code>H5Gget_objinfo</code> returns information about the - specified object through the <code>statbuf</code> argument. - <p> - A file or group identifier, <code>loc_id</code>, - and an object name, <code>name</code>, relative to <code>loc_id</code>, - are commonly used to specify the object. - However, if the object identifier is already known to the application, - an alternative approach is to use that identifier, - <code>obj_id</code>, in place of <code>loc_id</code>, - and a dot (<code>.</code>) in place of <code>name</code>. - Thus, the alternative versions of the first portion of an - <code>H5Gget_objinfo</code> call would be as follows: - <br> - <code> - H5Gget_objinfo (loc_id name ...) - <br> - H5Gget_objinfo (obj_id . ...) - </code> - <p> - If the object is a symbolic link and <code>follow_link</code> is - zero (<code>0</code>), - then the information returned describes the link itself; - otherwise the link is followed and the information returned - describes the object to which the link points. - If <code>follow_link</code> is non-zero but the final symbolic link - is dangling (does not point to anything), then an error is returned. - The <code>statbuf</code> fields are undefined for an error. - The existence of an object can be tested by calling this function - with a null <code>statbuf</code>. - <p> - <code>H5Gget_objinfo</code> fills in the following data structure - (defined in H5Gpublic.h): - <pre> - typedef struct H5G_stat_t { - unsigned long fileno[2]; - unsigned long objno[2]; - unsigned nlink; - H5G_obj_t type; - time_t mtime; - size_t linklen; - H5O_stat_t ohdr; - } H5G_stat_t - </pre> - - where H5O_stat_t (defined in H5Opublic.h) is: - - <pre> - typedef struct H5O_stat_t { - hsize_t size; - hsize_t free; - unsigned nmesgs; - unsigned nchunks; - } H5O_stat_t - </pre> - The <code>fileno</code> and <code>objno</code> fields contain - four values which uniquely identify an object among those - HDF5 files which are open: if all four values are the same - between two objects, then the two objects are the same - (provided both files are still open). - <ul> - <li>Note that if a file is closed and re-opened, the - value in <code>fileno</code> will change. - <li>If a VFL driver either does not or cannot detect that - two <code>H5Fopen</code> calls referencing the same file - actually open the same file, each will get a different - <code>fileno</code>. - </ul> - <p> - The <code>nlink</code> field is the number of hard links to - the object or zero when information is being returned about a - symbolic link (symbolic links do not have hard links but - all other objects always have at least one). - <p> - The <code>type</code> field contains the type of the object, - one of - <code>H5G_GROUP</code>, - <code>H5G_DATASET</code>, - <code>H5G_LINK</code>, or - <code>H5G_TYPE</code>. - <p> - The <code>mtime</code> field contains the modification time. - <p> - If information is being returned about a symbolic link then - <code>linklen</code> will be the length of the link value - (the name of the pointed-to object with the null terminator); - otherwise <code>linklen</code> will be zero. - <p> - The fields in the <code>H5O_stat_t</code> struct contain information - about the object header for the object queried: - <div align=center> - <table width=80%> - <tr><td align=left valign=top> - <code>size</code> - </td><td align=left valign=top> - The total size of all the object header information in - the file (for all chunks). - </td></tr><tr><td align=left valign=top> - <code>free</code> - </td><td align=left valign=top> - The size of unused space in the object header. - </td></tr><tr><td align=left valign=top> - <code>nmesgs</code> - </td><td align=left valign=top> - The number of object header messages. - </td></tr><tr><td align=left valign=top> - <code>nchunks </code> - </td><td align=left valign=top> - The number of chunks the object header is broken up into. - </td></tr> - </table> - </div> - - <p> - Other fields may be added to this structure in the future. - <dt><strong>Note:</strong> - <dd>Some systems will be able to record the time accurately but - unable to retrieve the correct time; such systems (e.g., Irix64) - will report an <code>mtime</code> value of 0 (zero). - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: File or group identifier. - <br> - <i>Alternative:</i> An object identifier, - <code>obj_id</code>.</td></tr> - <tr> - <td valign="top"><em>const char</em> <code>*name</code></td> - <td valign="top">IN: Name of the object for which status is being - sought. - <br> - <i>Alternative:</i> If the preceding parameter is the - object’s direct identifier, i.e., the <code>obj_id</code>, - this parameter should be a dot (<code>.</code>).</td></tr> - <tr> - <td valign="top"><em>hbool_t</em> <code>follow_link</code></td> - <td valign="top">IN: Link flag.</td></tr> - <tr> - <td valign="top"><em>H5G_stat_t</em> <code>*statbuf </code></td> - <td valign="top">OUT: Buffer in which to return information about - the object.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd> Returns a non-negative value if successful, with the fields of - <code>statbuf</code> (if non-null) initialized. - 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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.1</td> - <td valign="top"> - Two new fields were added to the - <code>H5G_stat_t</code> struct in this release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Gget_objname_by_idx" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetObjNameByIdx">H5Gget_objname_by_idx</a> -<dt><strong>Signature:</strong> - <dd><em>ssize_t</em> <code>H5Gget_objname_by_idx</code>(<em>hid_t</em> <code>loc_id</code>, - <em>hsize_t</em> <code>idx</code>, - <em>char *</em><code>name</code>, - <em>size_t</em> <code>size</code> ) -<dt><strong>Purpose:</strong> - <dd>Returns a name of an object specified by an index. -<dt><strong>Description:</strong> - <dd><code>H5Gget_objname_by_idx</code> returns a name of the object - specified by the index <code>idx</code> in the group <code>loc_id</code>. - <p> - The group is specified by a group identifier <code>loc_id</code>. - If preferred, a file identifier may be passed in <code>loc_id</code>; - that file's root group will be assumed. - <p> - <code>idx</code> is the transient index used to iterate through - the objects in the group. - The value of <code>idx</code> is any nonnegative number less than - the total number of objects in the group, which is returned by the - function <code>H5Gget_num_objs</code>. - Note that this is a transient index; an object may have a - different index each time a group is opened. - <p> - The object name is returned in the user-specified buffer <code>name</code>. - <p> - If the size of the provided buffer <code>name</code> is - less or equal the actual object name length, - the object name is truncated to <code>max_size - 1</code> characters. - <p> - Note that if the size of the object's name is unkown, a - preliminary call to <code>H5Gget_objname_by_idx</code> with <code>name</code> - set to NULL will return the length of the object's name. - A second call to <code>H5Gget_objname_by_idx</code> - can then be used to retrieve the actual name. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id </code></td> - <td valign="top">IN: Group or file identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>idx</code></td> - <td valign="top">IN: Transient index identifying object.</td></tr> - <tr> - <td valign="top"><em>char *</em><code>name</code></td> - <td valign="top">IN/OUT: Pointer to user-provided buffer the object name.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>size</code></td> - <td valign="top">IN: Name length.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the size of the object name if successful, - or <code>0</code> if no name is associated with the group identifier. - 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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Gget_objtype_by_idx" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetObjTypeByIdx">H5Gget_objtype_by_idx</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Gget_objtype_by_idx</code>(<em>hid_t</em> <code>loc_id</code>, - <em>hsize_t</em> <code>idx</code> ) -<dt><strong>Purpose:</strong> - <dd>Returns the type of an object specified by an index. -<dt><strong>Description:</strong> - <dd><code>H5Gget_objtype_by_idx</code> returns the type of the object - specified by the index <code>idx</code> in the group <code>loc_id</code>. - <p> - The group is specified by a group identifier <code>loc_id</code>. - If preferred, a file identifier may be passed in <code>loc_id</code>; - that file's root group will be assumed. - <p> - <code>idx</code> is the transient index used to iterate through - the objects in the group. - This parameter is described in more detail in the discussion of - <a href="#Group-GetObjNameByIdx"><code>H5Gget_objname_by_idx</code></a>. - <p> - The object type is returned as the function return value: - <table> - <tr valign=top align=left><td> - - </td><td> - <code>H5G_LINK</code> - <!--</td><td> - <code>0x0001</code>--> - </td><td> - <code>0</code> - </td><td> - Object is a symbolic link. - </td></tr> - <tr valign=top align=left><td> - - </td><td> - <code>H5G_GROUP</code> - <!--</td><td> - <code>0x0001</code>--> - </td><td> - <code>1</code> - </td><td> - Object is a group. - </td></tr> - <tr valign=top align=left><td> - - </td><td> - <code>H5G_DATASET</code> - <!--</td><td> - <code>0x0001</code>--> - </td><td> - <code>2</code> - </td><td> - Object is a dataset. - </td></tr> - <tr valign=top align=left><td> - - </td><td> - <code>H5G_TYPE</code> - <!--</td><td> - <code>0x0001</code>--> - </td><td> - <code>3</code> - </td><td> - Object is a named datatype. - </td></tr> - </table> - -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id </code></td> - <td valign="top">IN: Group or file identifier.</td></tr> - <tr> - <td valign="top"><em>hsize_t</em> <code>idx</code></td> - <td valign="top">IN: Transient index identifying object.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the type of the object 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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The function return type changed from - <em>int</em> to the enumerated type - <em>H5G_obj_t</em>.</td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Giterate" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-Iterate">H5Giterate</a> - <dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Giterate</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char</em> <code>*name</code>, - <em>int</em> <code>*idx</code>, - <em>H5G_iterate_t</em> <code>operator</code>, - <em>void</em> <code>*operator_data</code> - ) - <dt><strong>Purpose:</strong> - <dd>Iterates an operation over the entries of a group. - <dt><strong>Description:</strong> - <dd><code>H5Giterate</code> iterates over the members of - <code>name</code> in the file or group specified with - <code>loc_id</code>. - For each object in the group, the <code>operator_data</code> - and some additional information, specified below, are - passed to the <code>operator</code> function. - The iteration begins with the <code>idx</code> object in the - group and the next element to be processed by the operator is - returned in <code>idx</code>. If <code>idx</code> - is NULL, then the iterator starts at the first group member; - 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 <code>H5G_iterate_t</code> is: - <table> - <tr> - <td valign="top"> </td> - <td valign="top"><code>typedef</code> <em>herr_t </em>(*<code>H5G_iterate_t</code>) - (<em>hid_t</em> <code>group_id</code>, <em>const char *</em> - <code>member_name</code>, <em>void *</em><code>operator_data</code>);</td></tr> - </table> - - <p>The operation receives the group identifier for the group being - iterated over, <code>group_id</code>, the name of the current - object within the group, <code>member_name</code>, and the - pointer to the operator data passed in to <code>H5Giterate</code>, - <code>operator_data</code>. - <p> - The return values from an operator are: - <ul> - <li>Zero causes the iterator to continue, returning - zero when all group members have been processed. - <li>Positive causes the iterator to immediately return that positive - value, indicating short-circuit success. The iterator can be - restarted at the next group member. - <li>Negative causes the iterator to immediately return that value, - indicating failure. The iterator can be restarted at the next - group member. - </ul> - <p> - <code>H5Giterate</code> assumes that the membership of the group - identified by <code>name</code> remains 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 valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: File or group identifier.</td></tr> - <tr> - <td valign="top"><em>const char</em> <code>*name</code></td> - <td valign="top">IN: Group over which the iteration is performed.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>*idx</code></td> - <td valign="top">IN/OUT: Location at which to begin the iteration.</td></tr> - <tr> - <td valign="top"><em>H5G_iterate_t</em> <code>operator </code></td> - <td valign="top">IN: Operation to be performed on an object at each step of - the iteration.</td></tr> - <tr> - <td valign="top"><em>void</em> <code>*operator_data</code></td> - <td valign="top">IN/OUT: Data associated with the operation.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns the return value of the last operator if it was non-zero, - or zero if all group members were processed. - Otherwise returns a negative value. -<!-- NEW PAGE --> - <dt><strong>Fortran90 Interface:</strong> - <dd>There is no direct FORTRAN couterpart for the C function - <code>H5Giterate</code>. - Instead, that functionality is provided by two FORTRAN functions: - - <center> - <table width=80%> - <tr valign=top align=left> - <td> - <code>h5gn_members_f</code> - </td> - <td> </td> - <td> - <strong>Purpose:</strong> - Returns the number of group members. - </tr> - <tr valign=top align=left> - <td> - <code>h5gget_obj_info_idx_f</code> - </td><td> </td><td> - <strong>Purpose:</strong> - Returns name and type of the group member identified by its index. - </td> - </tr> - </table> - </center> - - <pre> -SUBROUTINE h5gn_members_f(loc_id, name, nmembers, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group - INTEGER, INTENT(OUT) :: nmembers ! Number of members in the group - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gn_members_f - </pre> - - <pre> -SUBROUTINE h5gget_obj_info_idx_f(loc_id, name, idx, & - obj_name, obj_type, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group - INTEGER, INTENT(IN) :: idx ! Index of member object - CHARACTER(LEN=*), INTENT(OUT) :: obj_name ! Name of the object - INTEGER, INTENT(OUT) :: obj_type ! Object type : - ! H5G_LINK_F - ! H5G_GROUP_F - ! H5G_DATASET_F - ! H5G_TYPE_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gget_obj_info_idx_f - </pre> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Glink" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-Link">H5Glink</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Glink</code>(<em>hid_t</em> <code>loc_id</code>, - <em>H5G_link_t</em> <code>link_type</code>, - <em>const char *</em><code>current_name</code>, - <em>const char *</em><code>new_name</code> - ) - <dt><strong>Purpose:</strong> - <dd>Creates a link of the specified type from <code>new_name</code> - to <code>current_name</code>. - <dt><strong>Description:</strong> - <dd><code>H5Glink</code> creates a new name for an object that has some current - name, possibly one of many names it currently has. - <p> - If <code>link_type</code> is <code>H5G_LINK_HARD</code>, then - <code>current_name</code> must specify the name of an - existing object and both - names are interpreted relative to <code>loc_id</code>, which is - either a file identifier or a group identifier. - <p> - If <code>link_type</code> is <code>H5G_LINK_SOFT</code>, then - <code>current_name</code> can be anything and is interpreted at - lookup time relative to the group which contains the final - component of <code>new_name</code>. For instance, if - <code>current_name</code> is <code>./foo</code>, - <code>new_name</code> is <code>./x/y/bar</code>, and a request - is made for <code>./x/y/bar</code>, then the actual object looked - up is <code>./x/y/./foo</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: File or group identifier.</td></tr> - <tr> - <td valign="top"><em>H5G_link_t</em> <code>link_type</code></td> - <td valign="top">IN: Link type. - Possible values are <code>H5G_LINK_HARD</code> and - <code>H5G_LINK_SOFT</code>.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>current_name </code></td> - <td valign="top">IN: Name of the existing object if link is a hard link. - Can be anything for the soft link.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>new_name</code></td> - <td valign="top">IN: New name for the 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> h5glink_f - <dd> - <pre> -SUBROUTINE h5glink_f(loc_id, link_type, current_name, new_name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group location identifier - INTEGER, INTENT(IN) :: link_type ! Link type, possible values are: - ! H5G_LINK_HARD_F - ! H5G_LINK_SOFT_F - CHARACTER(LEN=*), INTENT(IN) :: current_name - ! Current object name relative - ! to loc_id - CHARACTER(LEN=*), INTENT(IN) :: new_name ! New object name - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5glink_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 "H5Glink2" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-Link2">H5Glink2</a> - <dt><strong>Signature:</strong> - - <dd><em>herr_t</em> <code>H5Glink2</code>( - <em>hid_t</em> <code>curr_loc_id</code>, <em>const char *</em><code>current_name</code>, - <em>H5G_link_t</em> <code>link_type</code>, - <em>hid_t</em> <code>new_loc_id</code>, <em>const char *</em><code>new_name</code> ) - <dt><strong>Purpose:</strong> - <dd>Creates a link of the specified type from <code>new_name</code> - to <code>current_name</code>. - <dt><strong>Description:</strong> - - <dd><code>H5Glink2</code> creates a new name for an object that has some current - name, possibly one of many names it currently has. - <p> - If <code>link_type</code> is <code>H5G_LINK_HARD</code>, then <code>current_name</code> - must specify the name of an existing object. - In this case, <code>current_name</code> and <code>new_name</code> are interpreted - relative to <code>curr_loc_id</code> and <code>new_loc_id</code>, respectively, - which are either file or group identifiers. - <p> - If <code>link_type</code> is <code>H5G_LINK_SOFT</code>, then - <code>current_name</code> can be anything and is interpreted at - lookup time relative to the group which contains the final - component of <code>new_name</code>. For instance, if - <code>current_name</code> is <code>./foo</code>, - <code>new_name</code> is <code>./x/y/bar</code>, and a request - is made for <code>./x/y/bar</code>, then the actual object looked - up is <code>./x/y/./foo</code>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>curr_loc_id</code></td> - <td valign="top">IN: The file or group identifier for the original object.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>current_name </code></td> - <td valign="top">IN: Name of the existing object if link is a hard link. - Can be anything for the soft link.</td></tr> - <tr> - <td valign="top"><em>H5G_link_t</em> <code>link_type</code></td> - <td valign="top">IN: Link type. - Possible values are <code>H5G_LINK_HARD</code> and - <code>H5G_LINK_SOFT</code>.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>new_loc_id</code></td> - <td valign="top">IN: The file or group identifier for the new link.</td></tr> - <td valign="top"><em>const char *</em> <code>new_name</code></td> - <td valign="top">IN: New name for the 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> h5glink2_f - <dd> - <pre> -SUBROUTINE h5glink2_f(cur_loc_id, cur_name, link_type, new_loc_id, new_name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: cur_loc_id ! File or group location identifier - CHARACTER(LEN=*), INTENT(IN) :: cur_name ! Name of the existing object - ! is relative to cur_loc_id - ! Can be anything for the soft link - INTEGER, INTENT(IN) :: link_type ! Link type, possible values are: - ! H5G_LINK_HARD_F - ! H5G_LINK_SOFT_F - INTEGER(HID_T), INTENT(IN) :: new_loc_id ! New location identifier - CHARACTER(LEN=*), INTENT(IN) :: new_name ! New object name - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5glink2_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 "H5Gmove" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-Move">H5Gmove</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Gmove</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char</em> <code>*src_name</code>, - <em>const char</em> <code>*dst_name</code> - ) - <dt><strong>Purpose:</strong> - <dd>Renames an object within an HDF5 file. - <dt><strong>Description:</strong> - <dd><code>H5Gmove</code> renames an object within an HDF5 file. - The original name, <code>src_name</code>, is unlinked from the - group graph and the new name, <code>dst_name</code>, is inserted - as an atomic operation. Both names are interpreted relative - to <code>loc_id</code>, which is either a file or a group - identifier. - <dt><strong>Warning:</strong> - <dd>Exercise care in moving groups as it is possible to render data in - a file inaccessible with <code>H5Gmove</code>. - See <a href="Groups.html#H5GUnlinkToCorrupt">The Group Interface</a> - in the <cite>HDF5 User's Guide</cite>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: File or group identifier.</td></tr> - <tr> - <td valign="top"><em>const char</em> <code>*src_name </code></td> - <td valign="top">IN: Object's original name.</td></tr> - <tr> - <td valign="top"><em>const char</em> <code>*dst_name</code></td> - <td valign="top">IN: Object's new name.</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> h5gmove_f - <dd> - <pre> -SUBROUTINE h5gmove_f(loc_id, name, new_name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Original name of an object - CHARACTER(LEN=*), INTENT(IN) :: new_name ! New name of an object - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gmove_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 "H5Gmove2" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-Move2">H5Gmove2</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Gmove2</code>( <em>hid_t</em> <code>src_loc_id</code>, - <em>const char</em> <code>*src_name</code>, <em>hid_t</em> <code>dst_loc_id</code>, - <em>const char</em> <code>*dst_name</code> ) - <dt><strong>Purpose:</strong> - <dd>Renames an object within an HDF5 file. - <dt><strong>Description:</strong> - <dd><code>H5Gmove2</code> renames an object within an HDF5 file. The original - name, <code>src_name</code>, is unlinked from the group graph and the new - name, <code>dst_name</code>, is inserted as an atomic operation. - <p> - </p><code>src_name</code> and <code>dst_name</code> are interpreted relative to - <code>src_name</code> and <code>dst_name</code>, respectively, - which are either file or group identifiers. - <dt><strong>Warning:</strong> - <dd>Exercise care in moving groups as it is possible to render data in a file - inaccessible with <code>H5Gmove</code>. See <a href="Groups.html#H5GUnlinkToCorrupt">The - Group Interface</a> in the <cite>HDF5 User's Guide</cite>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>src_loc_id</code></td> - <td valign="top">IN: Original file or group identifier.</td></tr> - <tr> - <td valign="top"><em>const char</em> <code>*src_name </code></td> - <td valign="top">IN: Object's original name.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>dst_loc_id</code></td> - <td valign="top">IN: Destination file or group identifier.</td></tr> - <tr> - <td valign="top"><em>const char</em> <code>*dst_name</code></td> - <td valign="top">IN: Object's new name.</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> h5gmove2_f - <dd> - <pre> -SUBROUTINE h5gmove2_f(src_loc_id, src_name, dst_loc_id, dst_name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: src_loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: src_name ! Original name of an object - ! relative to src_loc_id - INTEGER(HID_T), INTENT(IN) :: dst_loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: dst_name ! New name of an object - ! relative to dst_loc_id - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gmove2_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 "H5Gopen" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-Open">H5Gopen</a> - <dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Gopen</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code> - ) - <dt><strong>Purpose:</strong> - <dd>Opens an existing group for modification and returns a group - identifier for that group. - <dt><strong>Description:</strong> - <dd><code>H5Gopen</code> opens an existing group with the specified - name at the specified location, <code>loc_id</code>. - <p> - The location is identified by a file or group identifier - <p> - <code>H5Gopen</code> returns a group identifier for the group - that was opened. This group identifier should be released by - calling <code>H5Gclose</code> when it is no longer needed. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: File or group identifier within which group is to be open.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>name </code></td> - <td valign="top">IN: Name of group to open.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a valid group identifier if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5gopen_f - <dd> - <pre> -SUBROUTINE h5gopen_f(loc_id, name, gr_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group to open - INTEGER(HID_T), INTENT(OUT) :: gr_id ! Group identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gopen_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 "H5Gset_comment" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-SetComment">H5Gset_comment</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Gset_comment</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code>, - <em>const char *</em><code>comment</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets comment for specified object. - <dt><strong>Description:</strong> - <dd><code>H5Gset_comment</code> sets the comment for the - object specified by <code>loc_id</code> and <code>name</code> - to <code>comment</code>. - Any previously existing comment is overwritten. - <p> - If <code>comment</code> is the empty string or a - null pointer, the comment message is removed from the object. - <p> - Comments should be relatively short, null-terminated, - ASCII strings. - <p> - Comments can be attached to any object that has an object header, - e.g., datasets, groups, named datatypes, and dataspaces, but - not symbolic links. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of the file, group, dataset, - or named datatype.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>name</code></td> - <td valign="top">IN: Name of the object whose comment is to be - set or reset. - <br> - <code>name</code> can be '.' (dot) if <code>loc_id</code> - fully specifies the object for which the comment is to be set. - <br> - <code>name</code> is ignored if <code>loc_id</code> - is a dataset or named datatype. - </td></tr> - <tr> - <td valign="top"><em>const char *</em><code>comment </code></td> - <td valign="top">IN: The new comment.</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> h5gset_comment_f - <dd> - <pre> -SUBROUTINE h5gset_comment_f(loc_id, name, comment, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File, group, dataset, or - ! named datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of object - CHARACTER(LEN=*), INTENT(IN) :: comment ! Comment for the object - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gset_comment_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 "H5Gunlink" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Group-Unlink">H5Gunlink</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gunlink</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code> - ) - <dt><strong>Purpose:</strong> - <dd>Removes the link to an object from a group. - <dt><strong>Description:</strong> - <dd><code>H5Gunlink</code> removes the object specified by - <code>name</code> from the group graph and decrements the - link count for the object to which <code>name</code> points. - This action eliminates any association between <code>name</code> - and the object to which <code>name</code> pointed. - <p> - Object headers keep track of how many hard links refer to an object; - when the link count reaches zero, the object can be removed - from the file. Objects which are open are not removed until all - identifiers to the object are closed. - <p> - If the link count reaches zero, all file space associated with - the object will be released, i.e., identified in memory as freespace. - If the any object identifier is open for the object, the space - will not be released until after the object identifier is closed. - <p> - Note that space identified as freespace is available for re-use - only as long as the file remains open; once a file has been - closed, the HDF5 library loses track of freespace. See - “<a href="Performance.html#Freespace">Freespace Management</a>” - in the <cite>HDF5 User's Guide</cite> for further details. - <dt><strong>Warning:</strong> - <dd>Exercise care in unlinking groups as it is possible to render data in - a file inaccessible with <code>H5Gunlink</code>. - See <a href="Groups.html#H5GUnlinkToCorrupt">The Group Interface</a> - in the <cite>HDF5 User's Guide</cite>. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Identifier of the file or group containing the object.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>name </code></td> - <td valign="top">IN: Name of the object to unlink.</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> h5gunlink_f - <dd> - <pre> -SUBROUTINE h5gunlink_f(loc_id, name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object to unlink - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5gunlink_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - +<?php include("H5G/H5Gclose.htm"); ?> +<?php include("H5G/H5Gcreate.htm"); ?> +<?php include("H5G/H5Gget_comment.htm"); ?> +<?php include("H5G/H5Gget_linkval.htm"); ?> +<?php include("H5G/H5Gget_num_objs.htm"); ?> +<?php include("H5G/H5Gget_objinfo.htm"); ?> +<?php include("H5G/H5Gget_objname_by_idx.htm"); ?> +<?php include("H5G/H5Gget_objtype_by_idx.htm"); ?> +<?php include("H5G/H5Giterate.htm"); ?> +<?php include("H5G/H5Glink.htm"); ?> +<?php include("H5G/H5Glink2.htm"); ?> +<?php include("H5G/H5Gmove.htm"); ?> +<?php include("H5G/H5Gmove2.htm"); ?> +<?php include("H5G/H5Gopen.htm"); ?> +<?php include("H5G/H5Gset_comment.htm"); ?> +<?php include("H5G/H5Gunlink.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -1621,9 +282,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 6 September 2006"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5I.html b/doc/html/RM_H5I.html index 3681092..b01a31f 100644 --- a/doc/html/RM_H5I.html +++ b/doc/html/RM_H5I.html @@ -162,527 +162,12 @@ as the corresponding C function. <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Idec_ref" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Identify-DecRef">H5Idec_ref</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Idec_ref</code>(<em>hid_t</em> <code>obj_id</code>) -<dt><strong>Purpose:</strong> - <dd>Decrements the reference count for an object. -<dt><strong>Description:</strong> - <dd><code>H5Idec_ref</code> decrements the reference count of the object - identified by <code>obj_id</code>. - - <p> - The reference count for an object ID is attached to the information - about an object in memory and has no relation to the number of links to - an object on disk. - - <p> - The reference count for a newly created object will be 1. - Reference counts for objects may be explicitly modified with this - function or with <code>H5Iinc_ref</code>. - When an object ID's reference count reaches zero, the object will be - closed. - Calling an object ID's 'close' function decrements the reference count - for the ID which normally closes the object, but - if the reference count for the ID has been incremented with - <code>H5Iinc_ref</code>, the object will only be closed when the - reference count - reaches zero with further calls to this function or the - object ID's 'close' function. - - <p> - If the object ID was created by a collective parallel call (such as - <code>H5Dcreate</code>, <code>H5Gopen</code>, etc.), the reference - count should be modified by all the processes which have copies of - the ID. Generally this means that group, dataset, attribute, file - and named datatype IDs should be modified by all the processes and - that all other types of IDs are safe to modify by individual processes. - - <p> - This function is of particular value when an application is maintaining - multiple copies of an object ID. The object ID can be incremented when - a copy is made. Each copy of the ID can then be safely closed or - decremented and the HDF5 object will be closed when the reference count - for that that object drops to zero. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>obj_id </code></td> - <td valign="top">IN: Object identifier whose reference count will be modified.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative reference count of the object ID after - decrementing it if successful; otherwise a negative value is returned. -<dt><strong>Fortran90 Interface:</strong> h5idec_ref_f - <dd> - <pre> -SUBROUTINE h5idec_ref_f(obj_id, ref_count, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier - INTEGER, INTENT(OUT) :: ref_count !Reference count of object ID - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success, and -1 on failure -END SUBROUTINE h5idec_ref_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.2</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this - release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Iget_file_id" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Identify-GetFileId">H5Iget_file_id</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Iget_file_id</code>(<em>hid_t</em> <code>obj_id</code>) -<dt><strong>Purpose:</strong> - <dd>Retrieves an identifier for the file containing the specified object. -<dt><strong>Description:</strong> - <dd><code>H5Iget_file_id</code> returns the identifier of the file - associated with the object referenced by <code>obj_id</code>. - <p> - <code>obj_id</code> can be a file, group, dataset, named datatype, - or attribute identifier. - <p> - Note that the HDF5 Library permits an application to close a file - while objects within the file remain open. - If the file containing the object <code>obj_id</code> - is still open, <code>H5Iget_file_id</code> will retrieve the - existing file identifier. - If there is no existing file identifier for the file, - i.e., the file has been closed, - <code>H5Iget_file_id</code> will reopen the file and - return a new file identifier. - In either case, the file identifier must eventually be released - using <code>H5Fclose</code>. -<dt><strong>Parameters:</strong> - <ul> - <table> - <tr> - <td valign="top"><em>hid_t</em> <code>obj_id </code></td> - <td valign="top">IN: Identifier of the object whose associated - file identifier will be returned.</td> - </tr> - </table> - </ul> -<dt><strong>Returns:</strong> - <dd>Returns a file identifier on success, negative on failure. -<dt><strong>Fortran90 Interface:</strong> - <dd> - <pre> -SUBROUTINE h5iget_file_id_f(obj_id, file_id, hdferr) - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier - INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5iget_file_id_f - </pre> - -<!--<dt><strong>Non-C API(s):</strong> - <dd> - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.3</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this - release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Iget_name" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Identify-GetName">H5Iget_name</a> -<dt><strong>Signature:</strong> - <dd><em>ssize_t</em> <code>H5Iget_name</code>( - <em>hid_t</em> <code>obj_id</code>, - <em>char *</em><code>name</code>, - <em>size_t</em> <code>size</code> - ) -<dt><strong>Purpose:</strong> </dt> - <dd>Retrieves a name of an object based on the object identifier. -<dt><strong>Description:</strong> - <dd><code>H5Iget_name</code> retrieves a name for the object identified - by <code>obj_id</code>. - <p> - Up to <code>size</code> characters of the name are returned in - <code>name</code>; additional characters, if any, are not returned - to the user application. - <p> - If the length of the name, which determines the required - value of <code>size</code>, is unknown, a preliminary - <code>H5Iget_name</code> call can be made. - The return value of this call will be the size in bytes of the - object name. - That value, plus 1 for a <small>NULL</small> terminator, - is then assigned to <code>size</code> - for a second <code>H5Iget_name</code> call, - which will retrieve the actual name. - <p> - If the object identified by <code>obj_id</code> is an attribute, - as determined via - <a href="#Identify-GetType"><code>H5Iget_type</code></a>, - <code>H5Iget_name</code> retrieves the name of the object - to which that attribute is attached. - To retrieve the name of the attribute itself, use - <a href="RM_H5A.html#Annot-GetName"><code>H5Aget_name</code></a>. - <p> - If there is no name associated with the object identifier - or if the name is <code>NULL</code>, <code>H5Iget_name</code> - returns <code>0</code> (zero). - <p> - <code>H5Iget_name</code> cannot be used with an object identifier - returned by <code>H5Rdereference</code>; - the function will not be able to determine a valid object name. - <p> - Note that an object in an HDF5 file may have multiple names, - varying according to the path through the HDF5 group - hierarchy used to reach that object. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>obj_id </code></td> - <td valign="top">IN: Identifier of the object. - This identifier can refer to a group, dataset, - or named datatype.</td></tr> - <tr> - <td valign="top"><em>char *</em><code>name</code></td> - <td valign="top">OUT: A name associated with the identifier.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>size</code></td> - <td valign="top">IN: The size of the <code>name</code> buffer; - must be the size of the name in bytes - plus 1 for a <small>NULL</small> terminator.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the length of the name if successful, returning <code>0</code> - (zero) if no name is associated with the identifier. - Otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5iget_name_f - <dd> - <pre> -SUBROUTINE h5iget_name_f(obj_id, buf, buf_size, name_size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier - CHARACTER(LEN=*), INTENT(OUT) :: buf ! Buffer to hold object name - INTEGER(SIZE_T), INTENT(IN) :: buf_size ! Buffer size - INTEGER(SIZE_T), INTENT(OUT) :: name_size ! Name size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success, and -1 on failure -END SUBROUTINE h5iget_name_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<!-- NEW PAGE --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Iget_ref" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Identify-GetRef">H5Iget_ref</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Iget_ref</code>(<em>hid_t</em> <code>obj_id</code>) -<dt><strong>Purpose:</strong> - <dd>Retrieves the reference count for an object. -<dt><strong>Description:</strong> - <dd><code>H5Iget_ref</code> retrieves the reference count of the object - identified by <code>obj_id</code>. - - <p> - The reference count for an object ID is attached to the information - about an object in memory and has no relation to the number of links to - an object on disk. - - <p> - This function can also be used to check if an object ID is still valid. - A non-negative return value from this function indicates that the ID - is still valid. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>obj_id </code></td> - <td valign="top">IN: Object identifier whose reference count will be retrieved.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative current reference count of the object ID - if successful; otherwise a negative value is returned. -<dt><strong>Fortran90 Interface:</strong> h5iget_ref_f - <dd> - <pre> -SUBROUTINE h5iget_ref_f(obj_id, ref_count, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier - INTEGER, INTENT(OUT) :: ref_count !Reference count of object ID - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success, and -1 on failure -END SUBROUTINE h5iget_ref_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.2</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this - release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Iget_type" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Identify-GetType">H5Iget_type</a> -<dt><strong>Signature:</strong> - <dd><em>H5I_type_t</em> <code>H5Iget_type</code>(<em>hid_t</em> <code>obj_id</code>) -<dt><strong>Purpose:</strong> - <dd>Retrieves the type of an object. -<dt><strong>Description:</strong> - <dd><code>H5Iget_type</code> retrieves the type of the object - identified by <code>obj_id</code>. - <p> - Valid types returned by the function are - <table> - <tr><td width=200><code> H5I_FILE</code> - </td><td>File</td></tr> - <tr><td><code> H5I_GROUP</code> - </td><td>Group</td></tr> - <tr><td><code> H5I_DATATYPE</code> - </td><td>Datatype</td></tr> - <tr><td><code> H5I_DATASPACE</code> - </td><td>Dataspace</td></tr> - <tr><td><code> H5I_DATASET</code> - </td><td>Dataset</td></tr> - <tr><td><code> H5I_ATTR</code> - </td><td>Attribute</td></tr> - </table> - If no valid type can be determined or the identifier - submitted is invalid, the function returns - <table> - <tr><td width=200><code> H5I_BADID</code> - </td><td>Invalid identifier</td></tr> - </table> - <p> - This function is of particular value in determining the - type of object closing function (<code>H5Dclose</code>, - <code>H5Gclose</code>, etc.) to call after a call to - <code>H5Rdereference</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>obj_id </code></td> - <td valign="top">IN: Object identifier whose type is to be determined.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the object type if successful; - otherwise <code>H5I_BADID</code>. -<dt><strong>Fortran90 Interface:</strong> h5iget_type_f - <dd> - <pre> -SUBROUTINE h5iget_type_f(obj_id, type, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier - INTEGER, INTENT(OUT) :: type !type of an object. - !possible values are: - !H5I_FILE_F - !H5I_GROUP_F - !H5I_DATATYPE_F - !H5I_DATASPACE_F - !H5I_DATASET_F - !H5I_ATTR_F - !H5I_BADID_F - INTEGER, INTENT(OUT) :: hdferr ! E rror code - ! 0 on success, and -1 on failure -END SUBROUTINE h5iget_type_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 "H5Iinc_ref" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Identify-IncRef">H5Iinc_ref</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Iinc_ref</code>(<em>hid_t</em> <code>obj_id</code>) -<dt><strong>Purpose:</strong> - <dd>Increments the reference count for an object. -<dt><strong>Description:</strong> - <dd><code>H5Iinc_ref</code> increments the reference count of the object - identified by <code>obj_id</code>. - - <p> - The reference count for an object ID is attached to the information - about an object in memory and has no relation to the number of links to - an object on disk. - - <p> - The reference count for a newly created object will be 1. - Reference counts for objects may be explicitly modified with this - function or with <code>H5Idec_ref</code>. - When an object ID's reference count reaches zero, the object will be - closed. - Calling an object ID's 'close' function decrements the reference count - for the ID which normally closes the object, but - if the reference count for the ID has been incremented with this - function, the object will only be closed when the reference count - reaches zero with further calls to <code>H5Idec_ref</code> or the - object ID's 'close' function. - - <p> - If the object ID was created by a collective parallel call (such as - <code>H5Dcreate</code>, <code>H5Gopen</code>, etc.), the reference - count should be modified by all the processes which have copies of - the ID. Generally this means that group, dataset, attribute, file - and named datatype IDs should be modified by all the processes and - that all other types of IDs are safe to modify by individual processes. - - <p> - This function is of particular value when an application is maintaining - multiple copies of an object ID. The object ID can be incremented when - a copy is made. Each copy of the ID can then be safely closed or - decremented and the HDF5 object will be closed when the reference count - for that that object drops to zero. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>obj_id </code></td> - <td valign="top">IN: Object identifier whose reference count will be modified.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative reference count of the object ID after - incrementing it if successful; otherwise a negative value is returned. -<dt><strong>Fortran90 Interface:</strong> h5iinc_ref_f - <dd> - <pre> -SUBROUTINE h5iinc_ref_f(obj_id, ref_count, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier - INTEGER, INTENT(OUT) :: ref_count !Reference count of object ID - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success, and -1 on failure -END SUBROUTINE h5iinc_ref_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.2</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this - release.</td></tr> - </table></ul> -</dl> - +<?php include("H5I/H5Idec_ref.htm"); ?> +<?php include("H5I/H5Iget_file_id.htm"); ?> +<?php include("H5I/H5Iget_name.htm"); ?> +<?php include("H5I/H5Iget_ref.htm"); ?> +<?php include("H5I/H5Iget_type.htm"); ?> +<?php include("H5I/H5Iinc_ref.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -736,9 +221,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 29 April 2008"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5P.html b/doc/html/RM_H5P.html index 9d648c7..8bfa2cd 100644 --- a/doc/html/RM_H5P.html +++ b/doc/html/RM_H5P.html @@ -933,9708 +933,120 @@ as the corresponding C function. <br> -<!-- 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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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 "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 "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 - !</pre> -<!-- NEW PAGE --> -<pre> - 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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.3</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this - release.</td></tr> - </table></ul> -</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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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>alloc_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>alloc_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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The return type changed from - <em>hsize_t</em> to <em>size_t</em>.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - The return type changed to <em>hsize_t</em>.</td></tr> - </table></ul> -</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>size_t</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>size_t</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The <code>rdcc_nbytes</code> and <code>rdcc_nelmts</code> - parameters changed from - type <em>int</em> to <em>size_t</em>.</td></tr> - </table></ul> -</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 if 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_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_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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>idx</code> parameter type changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</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">OUT: 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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> </td> - <td valign="top"> </td> - <td valign="top"> - The <code>backing_store</code> parameter type - changed from <em>INTEGER</em> to <em>LOGICAL</em> - to better match the C API</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top">Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> </td> - </tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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> - ) - <p> - <dt><strong>Purpose:</strong> - <dd> Returns MPI communicator information. - <p> - <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 duplicates of - the stored MPI communicator and information object through the - <code>comm</code> and <code>info</code> - pointers, if those values are non-null. - <p> - <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> - <p> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <p> - <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> - - <p> - <dt><strong>History:</strong></dt> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Change</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> - Handling of the MPI Communicator - and Info objects changed at this release. A copy - of each of these objects is now stored in the - property list instead of pointers to each - object.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - C function introduced in this release.</td></tr> - </table></ul> -</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>, - <em>hbool_t *</em><code>use_gpfs_hints</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. - <p> - <code>use_gpfs_hints</code> specifies whether to attempt to use - GPFS hints when accessing this file. - A value of <code>TRUE</code> (or <code>1</code>) indicates that - the hints are being used, where possible. - A value of <code>FALSE</code> (or <code>0</code>) indicates that - the hints are not being used. - <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>hbool_t *</em><code>use_gpfs_hints </code></td> - <td valign="top">OUT: Use of GPFS hints.</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top"> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.1</td> - <td valign="top"> </td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this release.</td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"><code>use_gpfs_hints</code> parameter added.</td> - <td valign="top"> </td> - <td valign="top"> </td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top">Function introduced in this release.<br></td> - <td valign="top"> </td> - <td valign="top"> </td></tr> - </table></ul> -</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: The offsets within the virtual address space, - from 0 (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">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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - - -<!-- 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"> - --> -<!-- - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - <tr> - <td valign="top">1.6.7 and 1.8.0</td> - <td valign="top"> - Function removed in these releases.</td></tr> - </table></ul> -</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 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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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>unsigned 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"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>filter</code> parameter type changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</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> -<!-- NEW PAGE --> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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_cache" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetHyperCache">H5Pget_hyper_cache</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pget_hyper_cache</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned</em> *<code>cache</code>, - <em>unsigned</em> *<code>limit</code> - ) - <dt><strong>Purpose:</strong> - <dd>[<strong>NOTE:</strong> - <span class="1_4_compat"> - This function is deprecated in HDF5 Release 1.6 - and will eventually be removed from the HDF5 distribution. - It is provided in this release only to enable backward compatibility - with HDF5 Releases 1.4.<i>x</i> - and is enabled only if the HDF5 library is configured - with the flag <code>H5_WANT_H5_V1_4_COMPAT</code>; - the function is not enabled in the binaries distributed by NCSA. - </span>] - <p> - Returns information regarding the caching of hyperslab blocks during I/O. - <dt><strong>Description:</strong> - <dd>Given a dataset transfer property list, <code>H5Pget_hyper_cache</code> - returns instructions regarding the caching of hyperslab blocks during I/O. - These parameters are set with the <code>H5Pset_hyper_cache</code> function. - <dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist</code> - <dd>IN: Dataset transfer property list identifier. - <dt><em>unsigned</em> *<code>cache</code> - <dd>OUT: A flag indicating whether caching is - set to on (<code>1</code>) or off (<code>0</code>). - <dt><em>unsigned</em> *<code>limit</code> - <dd>OUT: Maximum size of the hyperslab block to cache. - <code>0</code> (zero) indicates no limit. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pget_hyper_cache_f - <dd> - <pre> -SUBROUTINE h5pget_hyper_cache_f(prp_id, cache, limit, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(OUT) :: cache ! - INTEGER, INTENT(OUT) :: limit ! Maximum size of the hyperslab - ! block to cache - ! 0 (zero) indicates no limit - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pget_hyper_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_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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>ik</code> parameter type changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</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_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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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>H5Pget_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 type of data property for <code>MULTI</code> driver. - <dt><strong>Description:</strong> - <dd><code>H5Pget_multi_type</code> retrieves the type of data 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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The <code>flag</code> parameter was changed from - <em>INTEGER</em> to <em>LOGICAL</em> to better - match the C API.</td></tr> - </table></ul> -</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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - </tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top">The <code>size</code> - parameter has changed from type <em>hsize_t</em> - to <em>size_t</em>.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top">Function introduced in this release.</td> - </tr> - </table></ul> -</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"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.4</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>ik</code> parameter type changed to - <em>unsigned</em></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The <code>ik</code> parameter has changed - from type <em>int</em> to <em>unsigned</em></td></tr> - </table></ul> -</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"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>boot</code>, <code>freelist</code>, - <code>stab</code>, <code>shhdr</code> - parameter types changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</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_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>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. - - <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_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. - - <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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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_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 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> - - 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_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>alloc_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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top">The <code>size</code> - parameter has changed from type - <em>hsize_t</em> to <em>size_t</em>.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top">The <code>size</code> - parameter has changed to type - <em>hsize_t</em>.</td></tr> - </table></ul> -</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>size_t</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>size_t</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top"> </td> - <td valign="top"><strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.1</td> - <td valign="top"> </td> - <td valign="top"> </td> - <td valign="top"><code>rdcc_nbytes</code> parameter type changed - to <code>INTEGER(SIZE_T)</code>.</td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top">The <code>rdcc_nbytes</code> - and <code>rdcc_nelmts</code> parameters changed - from type <em>int</em> to <em>size_t</em>.</td> - <td valign="top"> </td> - <td valign="top"> </td></tr> - </table></ul> -</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>.) - <p> - <em>Note regarding fixed-size datasets:</em><br> - Chunk size cannot exceed the size of a fixed-size dataset. - For example, a dataset consisting of a 5x4 fixed-size array cannot be - defined with 10x10 chunks. - <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>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_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>uint</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. - <p> - Lower compression levels are faster but result in less compression. - <p> - 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>uint</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> </td> - <td valign="top"> </td> - <td valign="top"> - The <code>backing_store</code> parameter - has changed from <em>INTEGER</em> to - <em>LOGICAL</em> to better match the C API.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top">Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> </td> - </tr> - </table></ul> -</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. Because - this size is not saved in the file, it is used both for creating a new - file, for re-opening and for extending an existing file. - <p> - When re-opening an existing family file, if there is only one member file, - the library allows this <code>memb_size</code> to be bigger than or equal to - the size of existing member file; if there are more than one member file, - the library sets the <code>memb_size</code> to be equal to the size of first - existing member file internally. In either case, no <code>memb_size</code> - smaller than the size of existing member file is allowed. If this happens, - the library will adjust the <code>memb_size</code> to the first existing - member file size internally instead of returning error. - <p> - For example, if the total file size is 1MB and the only existing member - file size is 1MB, <code>memb_size</code> can be bigger than or equal to - 1MB. If the first member file size is 0.6MB and the second one is 0.4MB, - the library will set <code>memb_size</code> to 0.6MB internally no matter - what value the user passes in. - <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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The <code>verbosity</code> parameter - has been removed.<br> - Two new parameters have been added: - <code>flags</code> of type <em>unsigned</em> - and <code>buf_size</code> of type - <em>size_t</em>. - </td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top">Function introduced in this release.</td> - </tr> - </table></ul> -</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> - ) - <p> - <dt><strong>Purpose:</strong> - <dd>Stores MPI IO communicator information to the file access property list. - <p> - <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 a 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 makes a duplicate of the communicator, - so modifications to <code>comm</code> after this function call - returns have no effect on the file access 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 makes a duplicate copy of the Info object, - so modifications to the Info object after this function call - returns will have no effect on the file access property list. - <p> - If the file access property list already contains previously-set - comm and Info values, those values will be replaced. - <p> - <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> - <p> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value. - <p> - <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> - - <p> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Change</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> - Handling of the MPI Communicator - and Info objects changed at this release. A copy - of each of these objects is now stored in the - property list instead of pointers to each - object.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - C function introduced in this release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Pset_fapl_mpiposix" --> -<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>, - <em>hbool_t</em> <code>use_gpfs_hints</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 - file access property list. - Users should not modify the communicator while it is defined - in a property list. - <p> - <code>use_gpfs_hints</code> specifies whether to attempt to use - GPFS hints when accessing this file. - A value of <code>TRUE</code> (or <code>1</code>) indicates that - the hints should be used, if possible. - A value of <code>FALSE</code> (or <code>0</code>) indicates that - the hints should not be used. - <p> - Available GPFS hints are known to the HFD5 Library - and are not user configurable. - They may be used <i>only</i> with GPFS file systems - and may improve file access for some applications; - the user of a GPFS system is encouraged to experiment - by running an application with and without this parameter set. - <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>hbool_t</em> <code>use_gpfs_hints </code></td> - <td valign="top">IN: Use of GPFS hints.</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top"> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.1</td> - <td valign="top"> </td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this release. - </td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - <code>use_gpfs_hints</code> parameter added.</td> - <td valign="top"> </td> - <td valign="top"> </td> - </tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release. - </td> - <td valign="top"> </td> - <td valign="top"> </td> - </tr> - </table></ul> -</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</pre> -<!-- NEW PAGE --> -<pre> - 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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.3</td> - <td valign="top"> - <code>memb_name</code> parameter type changed to - <em>const char* const*</em>.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top">Function introduced in this release.</td> - </tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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);</pre> -<!-- NEW PAGE --> -<pre> -/* 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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- 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"> - --> -<!-- - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - <tr> - <td valign="top">1.6.7 and 1.8.0</td> - <td valign="top"> - Function removed in these releases.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- 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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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> - ) - <p> - <dt><strong>Purpose:</strong> - <dd>Adds a filter to the filter pipeline. - <p> - <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>. - -<!-- NEW PAGE --> - <p> - <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. - <p> - <dt><strong>See Also:</strong> - <dd>For a discussion of optional versus required filter behavior, see - “<a href="#Property-FilterBehavior">Filter Behavior in - HDF5</a>.” - <p> - <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> - <p> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <p> - <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> - - <p> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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_cache" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetHyperCache">H5Pset_hyper_cache</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_hyper_cache</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned</em> <code>cache</code>, - <em>unsigned</em> <code>limit</code> - ) - <dt><strong>Purpose:</strong> - <dd>Indicates whether to cache hyperslab blocks during I/O. - <dt><strong>Description:</strong> - <dd>[<strong>NOTE:</strong> - <span class="1_4_compat"> - This function is deprecated in HDF5 Release 1.6 - and will eventually be removed from the HDF5 distribution. - It is provided in this release only to enable backward compatibility - with HDF5 Releases 1.4.<i>x</i> - and is enabled only if the HDF5 library is configured - with the flag <code>H5_WANT_H5_V1_4_COMPAT</code>; - the function is not enabled in the binaries distributed by NCSA. - </span>] - <p> - Given a dataset transfer property list, <code>H5Pset_hyper_cache</code> - indicates whether to cache hyperslab blocks during I/O, - a process which can significantly increase I/O speeds. - <p> - When working with hyperslab selections, it is possible to - significantly speed up I/O operations by retrieving an - entire hyperslab from the file in one operation and - caching it in memory. - The <code>cache</code> parameter specifies whether to turn - caching on for hyperslab I/O operations. - If <code>cache</code> is set to <code>1</code>, - caching is turned on; - if set to <code>0</code>, caching is turned off. - <p> - The parameter <code>limit</code> sets the maximum size of the - hyperslab block to cache. If a block is smaller than that limit, - it may still not be cached if no memory is available. - Setting <code>limit</code> to <code>0</code> (zero) indicates - no limitation on the size of block to attempt to cache. - <p> - The default is to cache blocks with no limit on block size - for serial I/O and to not cache blocks for parallel I/O. - <dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist</code> - <dd>IN: Dataset transfer property list identifier. - <dt><em>unsigned</em> <code>cache</code> - <dd>IN: A flag indicating whether caching is to be - set to on (<code>1</code>) or off (<code>0</code>). - <dt><em>unsigned</em> <code>limit</code> - <dd>IN: Maximum size of the hyperslab block to cache. - <code>0</code> (zero) indicates no limit. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5pset_hyper_cache_f - <dd> - <pre> -SUBROUTINE h5pset_hyper_cache_f(prp_id, cache, limit, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER, INTENT(IN) :: cache ! - INTEGER, INTENT(IN) :: limit ! Maximum size of the hyperslab - ! block to cache - ! 0 (zero) indicates no limit - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5pset_hyper_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_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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>ik</code> parameter type changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</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_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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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 type of data property for <code>MULTI</code> driver. - <dt><strong>Description:</strong> - <dd><code>H5Pset_multi_type</code> sets the type of data property in the - file access 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_SUPER</code> - </td><td> - Super block data - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_BTREE</code> - </td><td> - B-tree data - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_DRAW</code> - </td><td> - Dataset raw data - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_GHEAP</code> - </td><td> - Global heap data - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_LHEAP</code> - </td><td> - Local heap data - </td></tr> - <tr valign=top align=left><td> </td><td> - <code>H5FD_MEM_OHDR</code> - </td><td> - Object header data - </td></tr> - </table> - <p> - Use of this function is appropriate only 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 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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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 datatypes 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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The <code>flag</code> parameter - has changed from <em>INTEGER</em> to - <em>LOGICAL</em> to better match the C API.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The <code>size</code> parameter has - changed from type <em>hsize_t</em> to - <em>size_t</em>.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top">Function introduced in this release.</td> - </tr> - </table></ul> -</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"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.4</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</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: File creation property list - identifier.</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"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>ik</code> parameter type changed to - <em>unsigned</em>.</td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The <code>ik</code> parameter has - changed from type <em>int</em> to - <em>unsigned</em>.</td></tr> - </table></ul> -</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>) - <p> - <dt><strong>Purpose:</strong> - <dd>Sets up use of the SZIP compression filter. - <p> - <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://www.hdfgroup.org/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 in a dataset creation property list used - to create a dataset containing a non-allowed datatype, the call - to <a href="RM_H5D.html#Dataset-Create"><code>H5Dcreate</code></a> - will fail; - the conflict can be 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 applies the EC method as above. - </ul> - Other factors may affect results, but the above criteria - provide 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 can be 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> - SZIP compression is an optional HDF5 filter. - See the note below for information regarding its designed behavior, - particularly under circumstances where SZIP is not available - to an application. - <p> - <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> - <p> - <dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful; - otherwise returns a negative value. - <p> -<!-- - <dt><strong>Notes on Filter Behavior in HDF5:</strong> - <dd>SZIP is an optional filter in HDF5 and can therefore be set for - HDF5 datasets even though it is not available at the moment. - SZIP compression can then be applied to those datasets when the file - containing the dataset is moved to a system on which is available. - <p> - Consider a situation where one is creating files that will normally - be used only on systems where SZIP compression (encoding and decoding) - is routinely available. - One can create those files on system A, which lacks SZIP, - create chunked datasets in the files with SZIP defined in the - dataset creation property list, and even write data to those datasets. - The dataset object header will indicate that the SZIP filter has - been associated with this dataset. - But since system A does not have SZIP, dataset chunks will - be written without SZIP compression. - <p> - HDF5 has a mechanism for determining whether chunks are actually - written with filters specified in the object header, so until the file - is moved from system A, system A will be able to read the data. - Once the file is moved to system B, where SZIP encoding is available, - HDF5 will use SZIP to compress any 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. - <p> - The following table summarizes this behavior. - <div align=center> - <table border=0 width=80%> - <tr align=left valign=top> - <td width=20%> </td> - <td width=25%><b>SZIP<br>not available</b> - <td width=25%><b>SZIP available<br>with encode</b> - <td width=25%><b>SZIP available<br>decode only</b> - </tr><tr align=left valign=top> - <td><b><code>H5Pset_szip</code> </b></td> - <td>Will succeed.<br> </td> - <td>Will succeed.</td> - <td>Will succeed.</td> - </tr><tr align=left valign=top> - <td><b><code>H5Dwrite</code><br>with SZIP set</b></td> - <td>Will succeed;<br>data will not be compressed.</td> - <td>Will succeed;<br>data will be compressed.</td> - <td>Will succeed;<br>data will not be compressed.</td> - </tr><tr align=left valign=top> - <td><b><code>H5Dread</code><br>with SZIP set</b></td> - <td>Will succeed if data has not actually been compressed.</td> - <td>Will succeed.</td> - <td>Will succeed.</td> - </tr> - </table> - </div> - <p> - 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 a optional filter is unavailable. - <p> ---> - <dt><strong>Notes for Users Familiar with SZIP in Other Contexts:</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> - -<!-- NEW PAGE --> - <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. - <p> - <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>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> - -<!-- - <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> - - -<!-- - -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-SetCompression">H5Pset_compression</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Pset_compression</code>(<em>hid_t</em> <code>plist</code>, - <em>H5Z_method_t</em> <code>method</code>, - <em>unsigned int</em> <code>flags</code>, - <em>size_t</em> <code>cd_size</code>, - <em>const void</em> <code>*client_data</code> - ) - <dt><strong>Purpose:</strong> - <dd>Sets compression method. - <dt><strong>Description:</strong> - <dd><code>H5Pset_compression</code> sets the compression method - in a dataset creation property list. This is a catch-all - function for defining compression methods - and is intended to be called from a wrapper such as - <code>H5Pset_deflate</code>. The dataset creation property - list <em>plist</em> is adjusted to use the specified - compression method. The <em>flags</em> is an 8-bit vector - which is stored in the file as part of the compression message - and passed to the compress and uncompress functions. The - <em>client_data</em> is a byte array of length - <em>cd_size</em> which is copied to the file and passed to the - compress and uncompress methods. - <p> - The FLAGS, CD_SIZE, and CLIENT_DATA are copied to the - property list and eventually to the file and passed to the - compression functions. - <p> - See <a href="Datasets.html"><cite>The Dataset Interface (H5D)</cite></a> - in the <cite>HDF5 User's Guide</cite> for further information - regarding data compression. - <dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist</code> - <dd>IN: Identifier for the dataset creation property list. - <dt><em>H5Z_method_t</em> <code>method</code> - <dd>IN: Compression method, an integer from 16 to 225. - <dt><em>unsigned int</em> <code>flags</code> - <dd>IN: Compression flags. - <dt><em>size_t</em> <code>cd_size</code> - <dd>IN: Size of the byte array <code>client_data</code>. - <dt><em>const void</em> <code>*client_data</code> - <dd>IN: Client data byte array passed to the compression method. - </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" - target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> -</dl> - ---> - - -<!-- - -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetCompression">H5Pget_compression</a> - <dt><strong>Signature:</strong> - <dd><em>H5Z_method_t</em> <code>H5Pget_compression</code>(<em>hid_t</em> <code>plist</code>, - <em>unsigned int</em> <code>*flags</code>, - <em>size_t</em> <code>*cd_size</code>, - <em>void</em> <code>*client_data</code> - ) - <dt><strong>Purpose:</strong> - <dd>Gets compression method. - <dt><strong>Description:</strong> - <dd><code>H5Pget_compression</code> gets the compression method - information from a dataset creation property list. - The <code>client_data</code> buffer is initially - <code>cd_size</code> bytes. On return, <code>client_data</code> - will be initialized with at most that many bytes, and - <code>cd_size</code> will contain the actual size of the - client data, which might be larger than its original value. - <dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist</code> - <dd>IN: Identifier for the dataset creation property list. - <dt><em>unsigned int</em> <code>*flags</code> - <dd>OUT: Compression flags. - <dt><em>size_t</em> <code>*cd_size</code> - <dd>IN/OUT: Size of the <code>client_data</code> array. - <dt><em>void</em> <code>*client_data</code> - <dd>OUT: Byte array for the client data. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns compression method if successful; - otherwise returns a negative value. - <dt><strong>Non-C API(s):</strong> - <dd><a href="fortran/h5p_FORTRAN.html#h5pxxx" - target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> -</dl> - ---> - - -<!-- - -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Property-GetDeflate">H5Pget_deflate</a> - <dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Pget_deflate</code>(<em>hid_t</em> <code>plist</code> - ) - <dt><strong>Purpose:</strong> - <dd>Returns the deflate compression level from a dataset creation - property list. - <dt><strong>Description:</strong> - <dd><code>H5Pget_deflate</code> returns the deflate compression level - from a dataset creation property list that uses that method. - <dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist</code> - <dd>IN: Identifier for the dataset creation property list. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns compression level, a value between 0 and 9, if successful. - Otherwise returns a negative value. - <dt><strong>Non-C API(s):</strong> - <dd><a href="fortran/h5p_FORTRAN.html#h5pxxx" - target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> -</dl> - ---> - +<?php include("H5P/H5Pall_filters_avail.htm"); ?> +<?php include("H5P/H5Pclose.htm"); ?> +<?php include("H5P/H5Pclose_class.htm"); ?> +<?php include("H5P/H5Pcopy.htm"); ?> +<?php include("H5P/H5Pcopy_prop.htm"); ?> +<?php include("H5P/H5Pcreate.htm"); ?> +<?php include("H5P/H5Pcreate_class.htm"); ?> +<?php include("H5P/H5Premove_filter.htm"); ?> +<?php include("H5P/H5Pequal.htm"); ?> +<?php include("H5P/H5Pexist.htm"); ?> +<?php include("H5P/H5Pfill_value_defined.htm"); ?> +<?php include("H5P/H5Pget.htm"); ?> +<?php include("H5P/H5Pget_alignment.htm"); ?> +<?php include("H5P/H5Pget_alloc_time.htm"); ?> +<?php include("H5P/H5Pget_btree_ratios.htm"); ?> +<?php include("H5P/H5Pget_buffer.htm"); ?> +<?php include("H5P/H5Pget_cache.htm"); ?> +<?php include("H5P/H5Pget_chunk.htm"); ?> +<?php include("H5P/H5Pget_class.htm"); ?> +<?php include("H5P/H5Pget_class_name.htm"); ?> +<?php include("H5P/H5Pget_class_parent.htm"); ?> +<!-- unused file: H5P/H5Pget_compression.htm --> +<!-- unsued file: H5P/H5Pget_deflate.htm --> +<?php include("H5P/H5Pget_driver.htm"); ?> +<!-- unusued file: H5P/H5Pget_driver_info.htm --> +<?php include("H5P/H5Pget_dxpl_mpio.htm"); ?> +<?php include("H5P/H5Pget_dxpl_multi.htm"); ?> +<?php include("H5P/H5Pget_edc_check.htm"); ?> +<?php include("H5P/H5Pget_external.htm"); ?> +<?php include("H5P/H5Pget_external_count.htm"); ?> +<?php include("H5P/H5Pget_family_offset.htm"); ?> +<?php include("H5P/H5Pget_fapl_core.htm"); ?> +<?php include("H5P/H5Pget_fapl_family.htm"); ?> +<?php include("H5P/H5Pget_fapl_mpio.htm"); ?> +<?php include("H5P/H5Pget_fapl_mpiposix.htm"); ?> +<?php include("H5P/H5Pget_fapl_multi.htm"); ?> +<?php include("H5P/H5Pget_fapl_stream.htm"); ?> +<?php include("H5P/H5Pget_fclose_degree.htm"); ?> +<?php include("H5P/H5Pget_fill_time.htm"); ?> +<?php include("H5P/H5Pget_fill_value.htm"); ?> +<?php include("H5P/H5Pget_filter.htm"); ?> +<?php include("H5P/H5Pget_filter_by_id.htm"); ?> +<?php include("H5P/H5Pget_gc_references.htm"); ?> +<?php include("H5P/H5Pget_hyper_cache.htm"); ?> +<?php include("H5P/H5Pget_hyper_vector_size.htm"); ?> +<?php include("H5P/H5Pget_istore_k.htm"); ?> +<?php include("H5P/H5Pget_layout.htm"); ?> +<?php include("H5P/H5Pget_meta_block_size.htm"); ?> +<?php include("H5P/H5Pget_multi_type.htm"); ?> +<?php include("H5P/H5Pget_nfilters.htm"); ?> +<?php include("H5P/H5Pget_nprops.htm"); ?> +<?php include("H5P/H5Pget_preserve.htm"); ?> +<?php include("H5P/H5Pget_sieve_buf_size.htm"); ?> +<?php include("H5P/H5Pget_size.htm"); ?> +<?php include("H5P/H5Pget_sizes.htm"); ?> +<?php include("H5P/H5Pget_small_data_block_size.htm"); ?> +<?php include("H5P/H5Pget_sym_k.htm"); ?> +<?php include("H5P/H5Pget_userblock.htm"); ?> +<?php include("H5P/H5Pget_version.htm"); ?> +<?php include("H5P/H5Pget_vlen_mem_manager.htm"); ?> +<?php include("H5P/H5Pinsert.htm"); ?> +<?php include("H5P/H5Pisa_class.htm"); ?> +<?php include("H5P/H5Piterate.htm"); ?> +<?php include("H5P/H5Pmodify_filter.htm"); ?> +<?php include("H5P/H5Pregister.htm"); ?> +<?php include("H5P/H5Premove.htm"); ?> +<?php include("H5P/H5Pset.htm"); ?> +<?php include("H5P/H5Pset_alignment.htm"); ?> +<?php include("H5P/H5Pset_alloc_time.htm"); ?> +<?php include("H5P/H5Pset_btree_ratios.htm"); ?> +<?php include("H5P/H5Pset_buffer.htm"); ?> +<?php include("H5P/H5Pset_cache.htm"); ?> +<?php include("H5P/H5Pset_chunk.htm"); ?> +<!-- unused file: H5P/H5Pset_compression.htm --> +<?php include("H5P/H5Pset_deflate.htm"); ?> +<!-- unused file: H5P/H5Pset_driver.htm --> +<?php include("H5P/H5Pset_dxpl_mpio.htm"); ?> +<?php include("H5P/H5Pset_dxpl_multi.htm"); ?> +<?php include("H5P/H5Pset_edc_check.htm"); ?> +<?php include("H5P/H5Pset_external.htm"); ?> +<?php include("H5P/H5Pset_family_offset.htm"); ?> +<?php include("H5P/H5Pset_fapl_core.htm"); ?> +<?php include("H5P/H5Pset_fapl_family.htm"); ?> +<?php include("H5P/H5Pset_fapl_log.htm"); ?> +<?php include("H5P/H5Pset_fapl_mpio.htm"); ?> +<?php include("H5P/H5Pset_fapl_mpiposix.htm"); ?> +<?php include("H5P/H5Pset_fapl_multi.htm"); ?> +<?php include("H5P/H5Pset_fapl_sec2.htm"); ?> +<?php include("H5P/H5Pset_fapl_split.htm"); ?> +<?php include("H5P/H5Pset_fapl_stdio.htm"); ?> +<?php include("H5P/H5Pset_fapl_stream.htm"); ?> +<?php include("H5P/H5Pset_fclose_degree.htm"); ?> +<?php include("H5P/H5Pset_fill_time.htm"); ?> +<?php include("H5P/H5Pset_fill_value.htm"); ?> +<?php include("H5P/H5Pset_filter.htm"); ?> +<?php include("H5P/H5Pset_filter_callback.htm"); ?> +<?php include("H5P/H5Pset_fletcher32.htm"); ?> +<?php include("H5P/H5Pset_gc_references.htm"); ?> +<?php include("H5P/H5Pset_hyper_cache.htm"); ?> +<?php include("H5P/H5Pset_hyper_vector_size.htm"); ?> +<?php include("H5P/H5Pset_istore_k.htm"); ?> +<?php include("H5P/H5Pset_layout.htm"); ?> +<?php include("H5P/H5Pset_meta_block_size.htm"); ?> +<?php include("H5P/H5Pset_multi_type.htm"); ?> +<?php include("H5P/H5Pset_preserve.htm"); ?> +<?php include("H5P/H5Pset_shuffle.htm"); ?> +<?php include("H5P/H5Pset_sieve_buf_size.htm"); ?> +<?php include("H5P/H5Pset_sizes.htm"); ?> +<?php include("H5P/H5Pset_small_data_block_size.htm"); ?> +<?php include("H5P/H5Pset_sym_k.htm"); ?> +<?php include("H5P/H5Pset_szip.htm"); ?> +<?php include("H5P/H5Pset_userblock.htm"); ?> +<?php include("H5P/H5Pset_vlen_mem_manager.htm"); ?> +<?php include("H5P/H5Punregister.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -10688,7 +1100,7 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 30 December 2008"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> @@ -10696,3 +1108,4 @@ document.writeln("Last modified: 30 December 2008"); </body> </html> + diff --git a/doc/html/RM_H5R.html b/doc/html/RM_H5R.html index 4816522..af7c8bc 100644 --- a/doc/html/RM_H5R.html +++ b/doc/html/RM_H5R.html @@ -165,462 +165,11 @@ as the corresponding C function. <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Rcreate" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Reference-Create">H5Rcreate</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Rcreate</code>(<em>void *</em><code>ref</code>, - <em>hid_t</em> <code>loc_id</code>, - <em>const char *</em><code>name</code>, - <em>H5R_type_t</em> <code>ref_type</code>, - <em>hid_t</em> <code>space_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates a reference. -<dt><strong>Description:</strong> - <dd><code>H5Rcreate</code> creates the reference, <code>ref</code>, - of the type specified in <code>ref_type</code>, pointing to - the object <code>name</code> located at <code>loc_id</code>. - <p> - The HDF5 library maps the <em>void</em> type specified above - for <code>ref</code> to the type specified in <code>ref_type</code>, - which will be one of those appearing in the first column of - the following table. - The second column of the table lists the HDF5 constant associated - with each reference type. - <dir> - <table border=0> - <tr><td><em>hdset_reg_ref_t</em> </td> - <td><code>H5R_DATASET_REGION</code> </td> - <td>Dataset region reference</td></tr> - <tr><td><em>hobj_ref_t</em></td> - <td><code>H5R_OBJECT</code></td> - <td>Object reference</td></tr> - </table> - </dir> - <p> - The parameters <code>loc_id</code> and <code>name</code> are - used to locate the object. - <p> - The parameter <code>space_id</code> identifies the dataset region - that a dataset region reference points to. - This parameter is used only with dataset region references - and should be set to <code>-1</code> if the reference is an - object reference, <code>H5R_OBJECT</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>void *</em><code>ref</code></td> - <td valign="top">OUT: Reference created by the function - call.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: Location identifier used to locate the - object being pointed to.</td></tr> - <tr> - <td valign="top"><em>const char *</em><code>name</code></td> - <td valign="top">IN: Name of object at location - <code>loc_id</code>.</td></tr> - <tr> - <td valign="top"><em>H5R_type_t</em> <code>ref_type </code></td> - <td valign="top">IN: Type of reference.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">IN: Dataspace identifier with selection. - Used only for dataset region references; - pass as <code>-1</code> if reference is an object reference, - i.e., of type <code>H5R_OBJECT</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> h5rcreate_f - - <p><strong>To create an object reference</strong> - <dd> - <pre> -SUBROUTINE h5rcreate_f(loc_id, name, ref, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object at location - ! specified by loc_id identifier - TYPE(hobj_ref_t_f), INTENT(OUT) :: ref ! Object reference - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5rcreate_f - </pre></dt> - -<!-- NEW PAGE --> -<dt><strong>To create a region reference</strong> - <dd> - <pre> -SUBROUTINE h5rcreate_f(loc_id, name, space_id, ref, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset at location - ! specified by loc_id identifier - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataset's dataspace identifier - TYPE(hdset_reg_ref_t_f), INTENT(OUT) :: ref ! Dataset region reference - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5rcreate_f - </pre> - -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Rdereference" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Reference-Dereference">H5Rdereference</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Rdereference</code>(<em>hid_t</em> <code>obj_id</code>, - <em>H5R_type_t</em> <code>ref_type</code>, - <em>void *</em><code>ref</code> - ) -<dt><strong>Purpose:</strong> - <dd>Opens the HDF5 object referenced. -<dt><strong>Description:</strong> - <dd>Given a reference, <code>ref</code>, to an object - or a region in an object, <code>H5Rdereference</code> - opens that object and returns an identifier. - - <p>The parameter <code>obj_id</code> must be a valid identifier - for an object in the HDF5 file containing the referenced object, - including the file identifier. - - <p>The parameter <code>ref_type</code> specifies the reference type - of <code>ref</code>. - <code>ref_type</code> may contain either of the following values: - <ul> - <li><code>H5R_OBJECT</code> (<code>0</code>) - <li><code>H5R_DATASET_REGION</code> (<code>1</code>) - </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>obj_id</code></td> - <td valign="top">IN: Valid identifier for the file - containing the referenced object or any object in that file.</td></tr> - <tr> - <td valign="top"><em>H5R_type_t</em> <code>ref_type </code></td> - <td valign="top">IN: The reference type of <code>ref</code>.</td></tr> - <tr> - <td valign="top"><em>void *</em><code>ref</code></td> - <td valign="top">IN: Reference to open.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns identifier of referenced object if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5rdereference_f - - <p><strong>To dereference an object</strong> - <dd> - <pre> -SUBROUTINE h5rdereference_f(obj_id, ref, ref_obj_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Valid identifier - ! in file - TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference - INTEGER(HID_T), INTENT(OUT) :: ref_obj_id ! Identifier of - ! referenced object - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5rdereference_f - </pre> - -<dt><strong>To dereference a region</strong> - <dd> - <pre> -SUBROUTINE h5rdereference_f(obj_id, ref, ref_obj_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Valid identifier - ! in file - TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Object reference - INTEGER(HID_T), INTENT(OUT) :: ref_obj_id ! Identifier of - ! referenced object - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5rdereference_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 "H5Rget_obj_type" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Reference-GetObjType">H5Rget_obj_type</a> -<dt><strong>Signature:</strong> - <dd><em>H5G_obj_t</em> <code>H5Rget_obj_type</code>( - <em>hid_t</em> <code>loc_id</code>, - <em>H5R_type_t</em> <code>ref_type</code>, - <em>void *</em><code>ref</code> - ) -<p> -<dt><strong>Purpose:</strong> - <dd>Retrieves the type of object that an object reference points to. -<p> -<dt><strong>Description:</strong> - <dd>Given an object reference, <code>ref</code>, - <code>H5Rget_obj_type</code> - returns the type of the referenced object. - <p> - A <i>reference type</i> is the type of reference, either - an object reference or a dataset region reference. - An <i>object reference</i> points to an HDF5 object while - a <i>dataset region reference</i> points to a defined region within - a dataset. - <p> - The <i>referenced object</i> is the object the reference points to. - The <i>referenced object type</i>, - or the type of the referenced object, - is the type of the object that the reference points to. - <p> - The location identifier, <code>loc_id</code>, is the identifier - for either the dataset containing the object reference or - the group containing that dataset. - <p> - Valid reference types, to pass in as <code>ref_type</code>, - include the following: - <table border="0"> - <tr align=left valign=top><td> </td><td> - <code>H5R_OBJECT</code></td><td> - Object reference - </td></tr> - <tr align=left valign=top><td> </td><td> - <code>H5R_DATASET_REGION </code></td><td> - Dataset region reference - </td></tr> - </table> - <p> - If the application does not already know the object reference type, - that can be determined with three preliminary calls: - <ul> - <li>Call <code>H5Dget_type</code> on the dataset - containing the reference to get a datatype identifier - for the dataset’s datatype. - <li>Using that datatype identifier, - <code>H5Tget_class</code> returns a datatype class. - <li>If the datatype class is <code>H5T_REFERENCE</code>, - <code>H5Tequal</code> can then be used to determine whether - the reference’s datatype is - <code>H5T_STD_REF_OBJ</code> or - <code>H5T_STD_REF_DSETREG</code>: - <ul> - <li>If the datatype is <code>H5T_STD_REF_OBJ</code>, - the reference object type is <code>H5R_OBJECT</code>. - <li>If the datatype is <code>H5T_STD_REF_DSETREG</code>, - the reference object type is - <code>H5R_DATASET_REGION</code>. - </ul> - </ul> - <p> - When the function completes successfully, it returns one of - the following valid object type values - (defined in <code>H5Gpublic.h</code>): - <table border="0"> - <tr align=left valign=top><td> </td><td> - <code>H5G_LINK</code></td><td> - Object is a symbolic link. - </td></tr> - <tr align=left valign=top><td> </td><td> - <code>H5G_GROUP</code></td><td> - Object is a group. - </td></tr> - <tr align=left valign=top><td> </td><td> - <code>H5G_DATASET </code></td><td> - Object is a dataset. - </td></tr> - <tr align=left valign=top><td> </td><td> - <code>H5G_TYPE</code></td><td> - Object is a named datatype. - </td></tr> - </table> -<p> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: The dataset containing the reference object - or the group containing that dataset.</td></tr> - <tr> - <td valign="top"><em>H5R_type_t</em> <code>ref_type </code></td> - <td valign="top">IN: Type of reference to query.</td></tr> - <tr> - <td valign="top"><em>void *</em><code>ref</code></td> - <td valign="top">IN: Reference to query.</td></tr> - </table></ul> -<p> -<!-- NEW PAGE --> -<dt><strong>Returns:</strong> - <dd>Returns a valid object type if successful; - otherwise returns <code>H5G_UNKNOWN</code>. -<p> -<dt><strong>Fortran90 Interface:</strong> h5rget_object_type_f - <dd> - <pre> -SUBROUTINE h5rget_object_type_f(dset_id, ref, obj_type, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference - INTEGER, INTENT(OUT) :: obj_type ! Object type - ! H5G_UNKNOWN_F (-1) - ! H5G_LINK_F 0 - ! H5G_GROUP_F 1 - ! H5G_DATASET_F 2 - ! H5G_TYPE_F 3 - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - -END SUBROUTINE h5rget_object_type_f - </pre> - -<p> -<dt><strong>History:</strong> - <dd><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </td></tr> - </table> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Rget_object_type" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Reference-GetObjectType">H5Rget_object_type</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Rget_object_type</code>(<em>hid_t</em> <code>id</code>, - <em>void *</em><code>ref</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the type of object that an object reference points to. -<dt><strong>Description:</strong> - <dd>[<strong>NOTE:</strong> - <span class="1_4_compat"> - This function is provided only to enable backward compatibility - with HDF5 Releases 1.4.<i>x</i>. - This function is enabled only if the HDF5 library is configured - with the flag <code>H5_WANT_H5_V1_4_COMPAT</code> and is not - enabled in the binaries distributed by NCSA. - This function has been replaced in Release 1.6 by the function - <a href="#Reference-GetObjType"><code>H5Rget_obj_type</code></a> - and will eventually be deleted from the HDF5 distribution.</span>] - <p> - </p>Given a reference to an object <code>ref</code>, - <code>H5Rget_object_type</code> returns the - type of the object pointed to. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>id</code>, - <dd>IN: The dataset containing the reference object or - the location identifier of the object that the dataset - is located within. - <dt><em>void *</em><code>ref</code> - <dd>IN: Reference to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Returns an object type as defined in <code>H5Gpublic.h</code>; - otherwise returns <code>H5G_UNKNOWN</code>. - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Rget_region" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Reference-GetRegion">H5Rget_region</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Rget_region</code>(<em>hid_t</em> <code>dataset</code>, - <em>H5R_type_t</em> <code>ref_type</code>, - <em>void *</em><code>ref</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves a dataspace with the specified region selected. -<dt><strong>Description:</strong> - <dd>Given a reference to an object <code>ref</code>, - <code>H5Rget_region</code> creates a copy of the dataspace - of the dataset pointed to and defines a selection in the copy - which is the region pointed to. - <p> - The parameter <code>ref_type</code> specifies the reference type - of <code>ref</code>. - <code>ref_type</code> may contain the following value: - <ul> - <li><code>H5R_DATASET_REGION</code> (<code>1</code>) - </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dataset</code></td> - <td valign="top">IN: Dataset containing reference object.</td></tr> - <tr> - <td valign="top"><em>H5R_type_t</em> <code>ref_type </code></td> - <td valign="top">IN: The reference type of <code>ref</code>.</td></tr> - <tr> - <td valign="top"><em>void *</em><code>ref</code></td> - <td valign="top">IN: Reference to open.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a valid identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5rget_region_f - <dd> - <pre> -SUBROUTINE h5rget_region_f(dset_id, ref, space_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Dataset region reference - INTEGER(HID_T), INTENT(OUT) :: space_id ! Space identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5rget_region_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - +<?php include("H5R/H5Rcreate.htm"); ?> +<?php include("H5R/H5Rdereference.htm"); ?> +<?php include("H5R/H5Rget_obj_type.htm"); ?> +<?php include("H5R/H5Rget_object_type.htm"); ?> +<?php include("H5R/H5Rget_region.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -674,9 +223,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 19 November 2007"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5S.html b/doc/html/RM_H5S.html index 3ab3ac9..dbfb034 100644 --- a/doc/html/RM_H5S.html +++ b/doc/html/RM_H5S.html @@ -243,1679 +243,31 @@ of the <cite>HDF5 User's Guide.</cite>. <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Sclose" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-Close">H5Sclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Sclose</code>(<em>hid_t </em><code>space_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Releases and terminates access to a dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sclose</code> releases a dataspace. - Further access through the dataspace identifier is illegal. - Failure to release a dataspace with this call will - result in resource leaks. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">Identifier of dataspace to release.</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> h5sclose_f - <dd> - <pre> -SUBROUTINE h5sclose_f(space_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sclose_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 "H5Scopy" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-Copy">H5Scopy</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Scopy</code>(<em>hid_t </em><code>space_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates an exact copy of a dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Scopy</code> creates a new dataspace which is an exact - copy of the dataspace identified by <code>space_id</code>. - The dataspace identifier returned from this function should be - released with <code>H5Sclose</code> or resource leaks will occur. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">Identifier of dataspace to copy.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a dataspace identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5scopy_f - <dd> - <pre> -SUBROUTINE h5scopy_f(space_id, new_space_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER(HID_T), INTENT(OUT) :: new_space_id ! Identifier of dataspace copy - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5scopy_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 "H5Screate" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-Create">H5Screate</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Screate</code>(<em>H5S_class_t</em> <code>type</code>) -<dt><strong>Purpose:</strong> - <dd>Creates a new dataspace of a specified type. -<dt><strong>Description:</strong> - <dd><code>H5Screate</code> creates a new dataspace of a particular - <code>type</code>. - The types currently supported are <code>H5S_SCALAR</code> and - <code>H5S_SIMPLE</code>; - others are planned to be added later. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5S_class_t</em> <code>type </code></td> - <td valign="top">The type of dataspace to be created.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a dataspace identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5screate_f - <dd> - <pre> -SUBROUTINE h5screate_f(classtype, space_id, hdferr) - IMPLICIT NONE - INTEGER, INTENT(IN) :: classtype ! The type of the dataspace - ! to be created. Possible values - ! are: - ! H5S_SCALAR_F - ! H5S_SIMPLE_F - INTEGER(HID_T), INTENT(OUT) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5screate_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 "H5Screate_simple" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-CreateSimple">H5Screate_simple</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Screate_simple</code>(<em>int</em> <code>rank</code>, - <em>const hsize_t *</em> <code>dims</code>, - <em>const hsize_t *</em> <code>maxdims</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates a new simple dataspace and opens it for access. -<dt><strong>Description:</strong> - - <dd><code>H5Screate_simple</code> creates a new simple dataspace - and opens it for access. - <p> - <code>rank</code> is the number of dimensions used in the dataspace. - <p> - <code>dims</code> is an array specifying the size of each dimension - of the dataset while - <code>maxdims</code> is an array specifying the upper limit on - the size of each dimension. - <code>maxdims</code> may be the null pointer, in which case the - upper limit is the same as <code>dims</code>. - <p> - If an element of <code>maxdims</code> is - <code>H5S_UNLIMITED</code>, (<code>-1</code>), - the maximum size of the corresponding dimension is unlimited. - Otherwise, no element of <code>maxdims</code> should be - smaller than the corresponding element of <code>dims</code>. - <p> - The dataspace identifier returned from this function must be - released with <code>H5Sclose</code> or resource leaks will occur. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>int</em> <code>rank</code></td> - <td valign="top">Number of dimensions of dataspace.</td></tr> - <tr> - <td valign="top"><em>const hsize_t *</em> <code>dims</code></td> - <td valign="top">An array of the size of each dimension.</td></tr> - <tr> - <td valign="top"><em>const hsize_t *</em> <code>maxdims </code></td> - <td valign="top">An array of the maximum size of each dimension.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a dataspace identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5screate_simple_f - <dd> - <pre> -SUBROUTINE h5screate_simple_f(rank, dims, space_id, hdferr, maxdims) - IMPLICIT NONE - INTEGER, INTENT(IN) :: rank ! Number of dataspace dimensions - INTEGER(HSIZE_T), INTENT(IN) :: dims(*) ! Array with the dimension sizes - INTEGER(HID_T), INTENT(OUT) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(HSIZE_T), OPTIONAL, INTENT(IN) :: maxdims(*) - ! Array with the maximum - ! dimension sizes -END SUBROUTINE h5screate_simple_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 "H5Sextent_copy" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-ExtentCopy">H5Sextent_copy</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Sextent_copy</code>(<em>hid_t</em> <code>dest_space_id</code>, - <em>hid_t</em> <code>source_space_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Copies the extent of a dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sextent_copy</code> copies the extent from - <code>source_space_id</code> to <code>dest_space_id</code>. - This action may change the type of the dataspace. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dest_space_id</code></td> - <td valign="top">IN: The identifier for the dataspace to which - the extent is copied.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>source_space_id </code></td> - <td valign="top">IN: The identifier for the dataspace from which - the extent is copied.</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> h5sextent_copy_f - <dd> - <pre> -SUBROUTINE h5sextent_copy_f(dest_space_id, source_space_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dest_space_id ! Identifier of destination - ! dataspace - INTEGER(HID_T), INTENT(IN) :: source_space_id ! Identifier of source - ! dataspace - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sextent_copy_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 "H5Sget_select_bounds" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectBounds">H5Sget_select_bounds</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Sget_select_bounds</code>(<em>hid_t </em><code>space_id</code>, - <em>hsize_t *</em><code>start</code>, - <em>hsize_t *</em><code>end</code> - ) -<dt><strong>Purpose:</strong> - <dd>Gets the bounding box containing the current selection. -<dt><strong>Description:</strong> - <dd><code>H5Sget_select_bounds</code> retrieves the coordinates of - the bounding box containing the current selection and places - them into user-supplied buffers. - <p> - The <code>start</code> and <code>end</code> buffers must be large - enough to hold the dataspace rank number of coordinates. - <p> - The bounding box exactly contains the selection. - I.e., if a 2-dimensional element selection is currently - defined as containing the points (4,5), (6,8), and (10,7), - then the bounding box will be (4, 5), (10, 8). - <p> - The bounding box calculation includes the current offset of the - selection within the dataspace extent. - <p> - Calling this function on a <code>none</code> selection will - return <code>FAIL</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">IN: Identifier of dataspace to query.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>start</code></td> - <td valign="top">OUT: Starting coordinates of the bounding box.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>end</code></td> - <td valign="top">OUT: Ending coordinates of the bounding box, - i.e., the coordinates of the diagonally opposite corner.</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 h5sget_select_bounds_f(space_id, start, end, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id - ! Dataspace identifier - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start - ! Starting coordinates of the bounding box - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: end - ! Ending coordinates of the bounding box, - ! i.e., the coordinates of the diagonally - ! opposite corner - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5sget_select_bounds_f - </pre> - -<!--<dt><strong>Non-C API(s):</strong> - <dd> - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - The <code>start</code> and <code>end</code> - parameters have changed from type <em>hsize_t *</em> - to <em>hssize_t *</em>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Sget_select_elem_npoints" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectElemNPoints">H5Sget_select_elem_npoints</a> -<dt><strong>Signature:</strong> - <dd><em>hssize_t </em><code>H5Sget_select_elem_npoints</code>(<em>hid_t </em><code>space_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Gets the number of element points in the current selection. -<dt><strong>Description:</strong> - <dd><code>H5Sget_select_elem_npoints</code> returns - the number of element points in the current dataspace selection. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">IN: Identifier of dataspace to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of element points in the current dataspace selection if successful. - Otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5sget_select_elem_npoints_f - <dd> - <pre> -SUBROUTINE h5sget_select_elem_npoints_f(space_id, num_points, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: num_points ! Number of points in - ! the current elements selection - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5sget_select_elem_npoints_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 "H5Sget_select_elem_pointlist" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectElemPointList">H5Sget_select_elem_pointlist</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Sget_select_elem_pointlist</code>(<em>hid_t </em><code>space_id</code>, - <em>hsize_t </em><code>startpoint</code>, - <em>hsize_t </em><code>numpoints</code>, - <em>hsize_t *</em><code>buf</code> - ) -<dt><strong>Purpose:</strong> - <dd>Gets the list of element points currently selected. -<dt><strong>Description:</strong> - <dd><code>H5Sget_select_elem_pointlist</code> returns the list of - element points in the current dataspace selection. Starting with - the <code>startpoint</code>-th point in the list of points, - <code>numpoints</code> points are put into the user's buffer. - If the user's buffer fills up before <code>numpoints</code> - points are inserted, the buffer will contain only as many - points as fit. - <p> - The element point coordinates have the same dimensionality (rank) - as the dataspace they are located within. The list of element points - is formatted as follows: - <br> - <coordinate>, followed by - <br> - the next coordinate, - <br> - etc. - <br> - until all of the selected element points have been listed. - <p> - The points are returned in the order they will be iterated through - when the selection is read/written from/to disk. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">IN: Dataspace identifier of selection to query.</td></tr> - <tr> - <td valign="top"><em>hsize_t </em><code>startpoint </code></td> - <td valign="top">IN: Element point to start with.</td></tr> - <tr> - <td valign="top"><em>hsize_t </em><code>numpoints</code></td> - <td valign="top">IN: Number of element points to get.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>buf</code></td> - <td valign="top">OUT: List of element points selected.</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> h5sget_select_elem_pointlist_f - <dd> - <pre> -SUBROUTINE h5sget_select_elem_pointlist_f(space_id, startpoint, num_points, - buf, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER(HSIZE_T), INTENT(IN) :: startpoint ! Element point to start with - INTEGER, INTENT(OUT) :: num_points ! Number of points to get in - ! the current element selection - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf - ! List of points selected - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5sget_select_elem_pointlist_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 "H5Sget_select_hyper_blocklist" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperBlockList">H5Sget_select_hyper_blocklist</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Sget_select_hyper_blocklist</code>(<em>hid_t </em><code>space_id</code>, - <em>hsize_t </em><code>startblock</code>, - <em>hsize_t </em><code>numblocks</code>, - <em>hsize_t *</em><code>buf</code> - ) -<dt><strong>Purpose:</strong> - <dd>Gets the list of hyperslab blocks currently selected. -<dt><strong>Description:</strong> - <dd><code>H5Sget_select_hyper_blocklist</code> returns a list of - the hyperslab blocks currently selected. Starting with the - <code>startblock</code>-th block in the list of blocks, - <code>numblocks</code> blocks are put into the user's buffer. - If the user's buffer fills up before <code>numblocks</code> - blocks are inserted, the buffer will contain only as many - blocks as fit. - <p> - The block coordinates have the same dimensionality (rank) - as the dataspace they are located within. The list of blocks - is formatted as follows: - <br> - <"start" coordinate>, immediately followed by - <br> - <"opposite" corner coordinate>, followed by - <br> - the next "start" and "opposite" coordinates, - <br> - etc. - <br> - until all of the selected blocks have been listed. - <p> - No guarantee is implied as the order in which blocks are listed. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">IN: Dataspace identifier of selection to query.</td></tr> - <tr> - <td valign="top"><em>hsize_t </em><code>startblock </code></td> - <td valign="top">IN: Hyperslab block to start with.</td></tr> - <tr> - <td valign="top"><em>hsize_t </em><code>numblocks</code></td> - <td valign="top">IN: Number of hyperslab blocks to get.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>buf</code></td> - <td valign="top">OUT: List of hyperslab blocks selected.</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> h5sget_select_hyper_blocklist_f - <dd> - <pre> -SUBROUTINE h5sget_select_hyper_blocklist_f(space_id, startblock, num_blocks, - buf, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER(HSIZE_T), INTENT(IN) :: startblock ! Hyperslab block to start with - INTEGER, INTENT(OUT) :: num_blocks ! Number of hyperslab blocks to - ! get in the current hyperslab - ! selection - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf - ! List of hyperslab blocks selected - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5sget_select_hyper_blocklist_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 "H5Sget_select_hyper_nblocks" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperNBlocks">H5Sget_select_hyper_nblocks</a> -<dt><strong>Signature:</strong> - <dd><em>hssize_t </em><code>H5Sget_select_hyper_nblocks</code>(<em>hid_t </em><code>space_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Get number of hyperslab blocks. -<dt><strong>Description:</strong> - <dd><code>H5Sget_select_hyper_nblocks</code> returns the - number of hyperslab blocks in the current dataspace selection. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">IN: Identifier of dataspace to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of hyperslab blocks in - the current dataspace selection if successful. - Otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5sget_select_hyper_nblocks_f - <dd> - <pre> -SUBROUTINE h5sget_select_hyper_nblocks_f(space_id, num_blocks, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: num_blocks ! Number of hyperslab blocks in - ! the current hyperslab selection - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5sget_select_hyper_nblocks_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 "H5Sget_select_npoints" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectNpoints">H5Sget_select_npoints</a> -<dt><strong>Signature:</strong> - <dd><em>hssize_t</em> <code>H5Sget_select_npoints</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Determines the number of elements in a dataspace selection. -<dt><strong>Description:</strong> - <dd><code>H5Sget_select_npoints</code> determines the number of elements - in the current selection of a dataspace. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">Dataspace identifier.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of elements in the selection if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5sget_select_npoints_f - <dd> - <pre> -SUBROUTINE h5sget_select_npoints_f(space_id, npoints, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER(HSSIZE_T), INTENT(OUT) :: npoints ! Number of elements in the - ! selection - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sget_select_npoints_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 "H5Sget_select_type" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-GetSelectType">H5Sget_select_type</a> -<dt><strong>Signature:</strong> - <dd><em>H5S_sel_type</em> <code>H5Sget_select_type</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Determines the type of the dataspace selection. -<dt><strong>Description:</strong> - <dd><code>H5Sget_select_type</code> retrieves the - type of selection currently defined for the dataspace - <code>space_id</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">Dataspace identifier.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the dataspace selection type, a value of - the enumerated datatype <code>H5S_sel_type</code>, - if successful. - Valid return values are as follows: - <center> - <table width=90% border=0> - <tr><td valign=top> - <code>H5S_SEL_NONE</code> - </td><td valign=top> - No selection is defined. - </td></tr><tr><td valign=top> - <code>H5S_SEL_POINTS</code> - </td><td valign=top> - A sequence of points is selected. - </td></tr><tr><td valign=top> - <code>H5S_SEL_HYPERSLABS</code> - </td><td valign=top> - A hyperslab or compound hyperslab is selected. - </td></tr><tr><td valign=top> - <code>H5S_SEL_ALL</code> - </td><td valign=top> - The entire dataset is selected. - </td></tr> - </table> - </center> - Otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5sget_select_type_f - <dd> - <pre> -SUBROUTINE h5sget_select_type_f(space_id, type, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: type ! Selection type - ! Valid values are: - ! H5S_SEL_ERROR_F - ! H5S_SEL_NONE_F - ! H5S_SEL_POINTS_F - ! H5S_SEL_HYPERSLABS_F - ! H5S_SEL_ALL_F - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5sget_select_type_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Sget_simple_extent_dims" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-ExtentDims">H5Sget_simple_extent_dims</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Sget_simple_extent_dims</code>(<em>hid_t</em> <code>space_id</code>, - <em>hsize_t *</em><code>dims</code>, - <em>hsize_t *</em><code>maxdims</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves dataspace dimension size and maximum size. -<dt><strong>Description:</strong> - <dd><code>H5Sget_simple_extent_dims</code> returns the size and maximum sizes - of each dimension of a dataspace through the <code>dims</code> - and <code>maxdims</code> parameters. - <p> - Either or both of <code>dims</code> and <code>maxdims</code> - may be NULL. - <p> - If a value in the returned array <code>maxdims</code> is - <code>H5S_UNLIMITED</code> (</code>-1</code>), - the maximum size of that dimension is unlimited. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">IN: Identifier of the dataspace object to query</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>dims</code></td> - <td valign="top">OUT: Pointer to array to store the size of each dimension.</td></tr> - <tr> - <td valign="top"><em>hsize_t *</em><code>maxdims </code></td> - <td valign="top">OUT: Pointer to array to store the maximum size of each dimension.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of dimensions in the dataspace if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_dims_f - <dd> - <pre> -SUBROUTINE h5sget_simple_extent_dims_f(space_id, dims, maxdims, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims - ! Array to store dimension sizes - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: maxdims - ! Array to store max dimension sizes - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! Dataspace rank on success - ! and -1 on failure -END SUBROUTINE h5sget_simple_extent_dims_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 "H5Sget_simple_extent_ndims" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-ExtentNdims">H5Sget_simple_extent_ndims</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Sget_simple_extent_ndims</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Determines the dimensionality of a dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sget_simple_extent_ndims</code> determines the dimensionality (or rank) - of a dataspace. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">Identifier of the dataspace</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of dimensions in the dataspace if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_ndims_f - <dd> - <pre> -SUBROUTINE h5sget_simple_extent_ndims_f(space_id, rank, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: rank ! Number of dimensions - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sget_simple_extent_ndims_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 "H5Sget_simple_extent_npoints" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-ExtentNpoints">H5Sget_simple_extent_npoints</a> -<dt><strong>Signature:</strong> - <dd><em>hssize_t</em> <code>H5Sget_simple_extent_npoints</code>(<em>hid_t </em><code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Determines the number of elements in a dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sget_simple_extent_npoints</code> determines the number of elements - in a dataspace. For example, a simple 3-dimensional dataspace - with dimensions 2, 3, and 4 would have 24 elements. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">ID of the dataspace object to query</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of elements in the dataspace if successful; - otherwise returns 0. -<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_npoints_f - <dd> - <pre> -SUBROUTINE h5sget_simple_extent_npoints_f(space_id, npoints, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER(HSIZE_T), INTENT(OUT) :: npoints ! Number of elements in dataspace - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sget_simple_extent_npoints_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 "H5Sget_simple_extent_type" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-ExtentType">H5Sget_simple_extent_type</a> -<dt><strong>Signature:</strong> - <dd><em>H5S_class_t</em> <code>H5Sget_simple_extent_type</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Determine the current class of a dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sget_simple_extent_type</code> queries a dataspace to determine the - current class of a dataspace. - <p> - The function returns a class name, one of the following: - <code>H5S_SCALAR</code>, - <code>H5S_SIMPLE</code>, or - <code>H5S_NONE</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">Dataspace identifier.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a dataspace class name if successful; - otherwise H5S_NO_CLASS (-1). -<dt><strong>Fortran90 Interface:</strong> h5sget_simple_extent_type_f - <dd> - <pre> -SUBROUTINE h5sget_simple_extent_type_f(space_id, classtype, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: classtype ! Class type - ! Possible values are: - ! H5S_NO_CLASS_F - ! H5S_SCALAR_F - ! H5S_SIMPLE_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sget_simple_extent_type_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 "H5Sis_simple" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-IsSimple">H5Sis_simple</a> -<dt><strong>Signature:</strong> - <dd><em>htri_t </em><code>H5Sis_simple</code>(<em>hid_t </em><code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Determines whether a dataspace is a simple dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sis_simple</code> determines whether a dataspace is - a simple dataspace. [Currently, all dataspace objects are simple - dataspaces, complex dataspace support will be added in the future] -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">Identifier of the dataspace to query</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>When successful, returns a positive value, for <code>TRUE</code>, - or <code>0</code> (zero), for <code>FALSE</code>. - Otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5sis_simple_f - <dd> - <pre> -SUBROUTINE h5sis_simple_f(space_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - LOGICAL, INTENT(OUT) :: flag ! Flag, indicates if dataspace - ! is simple or not: - ! TRUE or FALSE - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sis_simple_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 "H5Soffset_simple" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-OffsetSimple">H5Soffset_simple</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Soffset_simple</code>(<em>hid_t</em> <code>space_id</code>, - <em>const hssize_t *</em><code>offset</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets the offset of a simple dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Soffset_simple</code> sets the offset of a - simple dataspace <code>space_id</code>. The <code>offset</code> - array must be the same number of elements as the number of - dimensions for the dataspace. If the <code>offset</code> - array is set to <TT>NULL</TT>, the offset for the dataspace - is reset to 0. - <p> - This function allows the same shaped selection to be moved - to different locations within a dataspace without requiring it - to be redefined. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">IN: The identifier for the dataspace object to reset.</td></tr> - <tr> - <td valign="top"><em>const hssize_t *</em><code>offset </code></td> - <td valign="top">IN: The offset at which to position the selection.</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> h5soffset_simple_f - <dd> - <pre> -SUBROUTINE h5soffset_simple_f(space_id, offset, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER(HSSIZE_T), DIMENSION(*), INTENT(IN) :: offset - ! The offset at which to position - ! the selection - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5soffset_simple_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 "H5Sselect_all" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectAll">H5Sselect_all</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Sselect_all</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Selects the entire dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sselect_all</code> selects the entire extent - of the dataspace <code>space_id</code>. - <p> - More specifically, <code>H5Sselect_all</code> selects - the special <tt>5S_SELECT_ALL</tt> region for the dataspace - <code>space_id</code>. <tt>H5S_SELECT_ALL</tt> selects the - entire dataspace for any dataspace it is applied to. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">IN: The identifier for the dataspace in which the - selection is being made.</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> h5sselect_all_f - <dd> - <pre> -SUBROUTINE h5sselect_all_f(space_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sselect_all_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 "H5Sselect_elements" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectElements">H5Sselect_elements</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Sselect_elements</code>(<em>hid_t </em><code>space_id</code>, - <em>H5S_seloper_t</em> <code>op</code>, - <em>size_t</em> <code>num_elements</code>, - <em>const hsize_t *</em><code>coord</code> - ) -<dt><strong>Purpose:</strong> - <dd>Selects array elements to be included in the selection for a dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sselect_elements</code> selects array elements to be - included in the selection for the <code>space_id</code> dataspace. - <p> - The number of elements selected is set in the - <code>num_elements</code> parameter. - <p> - The <code>coord</code> array is a two-dimensional array of size - <code>num_elements</code> by <code><i>dataspace_rank</i></code> - containing a list of of zero-based values specifying the - coordinates in the dataset of the selected elements. - The order of the element coordinates in the - <code>coord</code> array specifies the order in which - the array elements are iterated through when I/O is performed. - Duplicate coordinate locations are not checked for. - <p> - The selection operator <code>op</code> determines how the - new selection is to be combined with the previously existing - selection for the dataspace. - The following operators are supported: - <center> - <table width=90% border=0> - <tr><td valign=top> - <code>H5S_SELECT_SET</code> - </td><td valign=top> - Replaces the existing selection with the parameters from - this call. - Overlapping blocks are not supported with this operator. -<!-- </td></tr><tr><td valign=top> - <code>H5S_SELECT_OR</code> - </td><td valign=top> ---> Adds the new selection to the existing selection. - </td></tr><tr><td valign=top> - <code>H5S_SELECT_APPEND</code> - </td><td valign=top> - Adds the new selection following the last element of the - existing selection. - </td></tr><tr><td valign=top> - <code>H5S_SELECT_PREPEND </code> - </td><td valign=top> - Adds the new selection preceding the first element of the - existing selection. - </td></tr> - </table> - </center> -<!-- When operator <code>H5S_SELECT_OR</code> - is used to combine a new selection with an existing selection, - the selection ordering is reset to C array ordering. ---> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">Identifier of the dataspace.</td></tr> - <tr> - <td valign="top"><em>H5S_seloper_t</em> <code>op</code></td> - <td valign="top">Operator specifying how the new selection is to be - combined with the existing selection for the dataspace.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>num_elements </code></td> - <td valign="top">Number of elements to be selected.</td></tr> - <tr> - <td valign="top"><em>const hsize_t *</em><code>coord</code></td> - <td valign="top">A 2-dimensional array of 0-based values specifying - the coordinates of the elements being selected.</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> h5sselect_elements_f - <dd> - <pre> -SUBROUTINE h5sselect_elements_f(space_id, operator, rank, num_elements, - coord, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(IN) :: operator ! Flag, valid values are: - ! H5S_SELECT_SET_F - ! H5S_SELECT_APPEND_F - ! H5S_SELECT_PREPEND_F - INTEGER, INTENT(IN) :: rank ! Number of dataspace - ! dimensions</pre> -<!-- NEW PAGE --> -<pre> INTEGER(SIZE_T), INTENT(IN) :: num_elements - ! Number of elements to be - ! selected - INTEGER(HSIZE_T), DIMENSION(*,*), INTENT(IN) :: coord - ! A 1-based array containing the - ! coordinates of the selected - ! elements - ! NOTE: Reversed dimension declaration - ! compared to the C specification - ! of coord(num_elements, rank) - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sselect_elements_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top"> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>coord</code> parameter type changed to - <em>const hsize_t</em>.</td> - <td valign="top"> </td> - <td valign="top"> - <code>coord</code> parameter type changed to - <code>INTEGER(HSIZE_T)</code>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Sselect_hyperslab" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectHyperslab">H5Sselect_hyperslab</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Sselect_hyperslab</code>(<em>hid_t</em> <code>space_id</code>, - <em>H5S_seloper_t</em> <code>op</code>, - <em>const hsize_t *</em><code>start</code>, - <em>const hsize_t *</em><code>stride</code>, - <em>const hsize_t *</em><code>count</code>, - <em>const hsize_t *</em><code>block</code> - ) -<dt><strong>Purpose:</strong> - <dd>Selects a hyperslab region to add to the current selected region. -<dt><strong>Description:</strong> - <dd><code>H5Sselect_hyperslab</code> selects a hyperslab region - to add to the current selected region for the dataspace - specified by <code>space_id</code>. - <p> - The <code>start</code>, <code>stride</code>, <code>count</code>, - and <code>block</code> arrays must be the same size as the rank - of the dataspace. For example, if the dataspace is 4-dimensional, - each of these parameters must be a 1-dimensional array of size - <code>4</code>. - <p> - The selection operator <code>op</code> determines how the new - selection is to be combined with the already existing selection - for the dataspace. - The following operators are supported: - <center> - <table width=90% border=0> - <tr><td valign=top> - <code>H5S_SELECT_SET</code> - </td><td valign=top> - Replaces the existing selection with the parameters from this call. - Overlapping blocks are not supported with this operator. - </td></tr><tr><td valign=top> - <code>H5S_SELECT_OR</code> - </td><td valign=top> - Adds the new selection to the existing selection. - - (Binary OR) - </td></tr><tr><td valign=top> - <code>H5S_SELECT_AND</code> - </td><td valign=top> - Retains only the overlapping portions of the new selection and - the existing selection. - - (Binary AND) - </td></tr><tr><td valign=top> - <code>H5S_SELECT_XOR</code> - </td><td valign=top> - Retains only the elements that are members of the new selection or - the existing selection, excluding elements that are members of - both selections. - - (Binary exclusive-OR, XOR) - </td></tr><tr><td valign=top> - <code>H5S_SELECT_NOTB </code> - </td><td valign=top> - Retains only elements of the existing selection that are not in - the new selection. - </td></tr><tr><td valign=top> - <code>H5S_SELECT_NOTA</code> - </td><td valign=top> - Retains only elements of the new selection that are not in - the existing selection. - </td></tr> - </table> - </center> - - <p> - The <code>start</code> array specifies the offset of the - starting element of the specified hyperslab. - <p> - The <code>stride</code> array chooses array locations - from the dataspace with each value in the <code>stride</code> - array determining how many elements to move in each dimension. - Setting a value in the <code>stride</code> array to <code>1</code> - moves to - each element in that dimension of the dataspace; setting a value - of <code>2</code> in allocation in the <code>stride</code> array - moves to every other element in that dimension of the dataspace. - In other words, the <code>stride</code> determines the - number of elements to move from the <code>start</code> location - in each dimension. - Stride values of <code>0</code> are not allowed. - If the <code>stride</code> parameter is <code>NULL</code>, - a contiguous hyperslab is selected (as if each value in the - <code>stride</code> array were set to <code>1</code>). - <p> - The <code>count</code> array determines how many blocks to - select from the dataspace, in each dimension. - <p> - The <code>block</code> array determines - the size of the element block selected from the dataspace. - If the <code>block</code> parameter is set to <code>NULL</code>, - the block size defaults to a single element in each dimension - (as if each value in the <code>block</code> array were set to - <code>1</code>). - <p> - For example, consider a 2-dimensional dataspace with - hyperslab selection settings as follows: - the <code>start</code> offset is specified as [1,1], - <code>stride</code> is [4,4], - <code>count</code> is [3,7], and - <code>block</code> is [2,2]. - In C, these settings will specify a hyperslab consisting of - 21 2x2 blocks of array elements starting with location (1,1) - with the selected blocks at locations - (1,1), (5,1), (9,1), (1,5), (5,5), etc.; - in Fortran, they will specify a hyperslab consisting of - 21 2x2 blocks of array elements starting with location (2,2) - with the selected blocks at locations - (2,2), (6,2), (10,2), (2,6), (6,6), etc. - <p> - Regions selected with this function call default to C order - iteration when I/O is performed. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">IN: Identifier of dataspace selection to modify</td></tr> - <tr> - <td valign="top"><em>H5S_seloper_t</em> <code>op</code></td> - <td valign="top">IN: Operation to perform on current selection.</td></tr> - <tr> - <td valign="top"><em>const hsize_t *</em><code>start</code></td> - <td valign="top">IN: Offset of start of hyperslab</td></tr> - <tr> - <td valign="top"><em>const hsize_t *</em><code>count</code></td> - <td valign="top">IN: Number of blocks included in hyperslab.</td></tr> - <tr> - <td valign="top"><em>const hsize_t *</em><code>stride </code></td> - <td valign="top">IN: Hyperslab stride.</td></tr> - <tr> - <td valign="top"><em>const hsize_t *</em><code>block</code></td> - <td valign="top">IN: Size of block in hyperslab.</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> h5sselect_hyperslab_f - <dd> - <pre> -SUBROUTINE h5sselect_hyperslab_f(space_id, operator, start, count, - hdferr, stride, block) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(IN) :: op ! Flag, valid values are: - ! H5S_SELECT_SET_F - ! H5S_SELECT_OR_F - INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start - ! Starting coordinates of hyperslab - INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count - ! Number of blocks to select - ! from dataspace - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure - INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: stride - ! Array of how many elements to - ! move in each direction - INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: block - ! Size of the element block -END SUBROUTINE h5sselect_hyperslab_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top"> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>start[]</code> parameter type changed to - <em>const hsize_t</em>.</td> - <td valign="top"> </td> - <td valign="top"> - <code>start</code> parameter type changed to - <code>INTEGER(HSIZE_T)</code>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Sselect_none" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectNone">H5Sselect_none</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Sselect_none</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Resets the selection region to include no elements. -<dt><strong>Description:</strong> - <dd><code>H5Sselect_none</code> resets the selection region - for the dataspace <code>space_id</code> to include no elements. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">IN: The identifier for the dataspace in which the - selection is being reset.</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> h5sselect_none_f - <dd> - <pre> -SUBROUTINE h5sselect_none_f(space_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sselect_none_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 "H5Sselect_valid" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectValid">H5Sselect_valid</a> -<dt><strong>Signature:</strong> - <dd><em>htri_t</em> <code>H5Sselect_valid</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Verifies that the selection is within the extent of the dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sselect_valid</code> verifies that the selection - for the dataspace <code>space_id</code> is within the extent - of the dataspace if the current offset for the dataspace is used. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">The identifier for the dataspace being queried.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a positive value, for <code>TRUE</code>, - if the selection is contained within the extent - or <code>0</code> (zero), for <code>FALSE</code>, if it is not. - Returns a negative value on error conditions - such as the selection or extent not being defined. -<dt><strong>Fortran90 Interface:</strong> h5sselect_valid_f - <dd> - <pre> -SUBROUTINE h5sselect_valid_f(space_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - LOGICAL, INTENT(OUT) :: flag ! TRUE if the selection is - ! contained within the extent, - ! FALSE otherwise. - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sselect_valid_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 "H5Sset_extent_none" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SetExtentNone">H5Sset_extent_none</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Sset_extent_none</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Removes the extent from a dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sset_extent_none</code> removes the extent from - a dataspace and sets the type to <tt>H5S_NO_CLASS</tt>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id </code></td> - <td valign="top">The identifier for the dataspace from which - the extent is to be removed.</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> h5sset_extent_none_f - <dd> - <pre> -SUBROUTINE h5sset_extent_none_f(space_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sset_extent_none_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 "H5Sset_extent_simple" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SetExtentSimple">H5Sset_extent_simple</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Sset_extent_simple</code>(<em>hid_t</em> <code>space_id</code>, - <em>int</em> <code>rank</code>, - <em>const hsize_t *</em><code>current_size</code>, - <em>const hsize_t *</em><code>maximum_size</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets or resets the size of an existing dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sset_extent_simple</code> sets or resets the size of - an existing dataspace. - <p> - <code>rank</code> is the dimensionality, or number of - dimensions, of the dataspace. - <p> - <code>current_size</code> is an array of size <code>rank</code> - which contains the new size of each dimension in the dataspace. - <code>maximum_size</code> is an array of size <code>rank</code> - which contains the maximum size of each dimension in the - dataspace. - <p> - Any previous extent is removed from the dataspace, the dataspace - type is set to <code>H5S_SIMPLE</code>, and the extent is set as - specified. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>space_id</code></td> - <td valign="top">Dataspace identifier.</td> - <tr> - <td valign="top"><em>int</em> <code>rank</code></td> - <td valign="top">Rank, or dimensionality, of the dataspace.</td> - <tr> - <td valign="top"><em>const hsize_t *</em><code>current_size </code></td> - <td valign="top">Array containing current size of dataspace.</td> - <tr> - <td valign="top"><em>const hsize_t *</em><code>maximum_size</code></td> - <td valign="top">Array containing maximum size of dataspace.</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> h5sset_extent_simple_f - <dd> - <pre> -SUBROUTINE h5sset_extent_simple_f(space_id, rank, current_size, - maximum_size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(IN) :: rank ! Dataspace rank - INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: current_size - ! Array with the new sizes - ! of dimensions - INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: - ! Array with the new maximum - ! sizes of dimensions - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5sset_extent_simple_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - - -<!-- NOT YET IMPLEMENTED (R1.2 -- 9908) - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-ExtentClass">H5Sextent_class</a> -<dt><strong>Signature:</strong> - <dd><em>H5S_class_t</em> <code>H5Sextent_class</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Purpose:</strong> - <dd>Determine the current class of a dataspace. -<dt><strong>Description:</strong> - <dd><code>H5Sextent_class</code> queries a dataspace to determine the - current class of a dataspace. - <p> - The function returns a class name, one of the following: - <code>H5S_SCALAR</code>, - <code>H5S_SIMPLE</code>. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>Dataspace identifier. - </dl> -<dt><strong>Returns:</strong> - <dd>Returns a dataspace class name if successful; - otherwise H5S_NO_CLASS (-1). -<dt><strong>Non-C API(s):</strong> - <dd><a href="fortran/h5s_FORTRAN.html#h5sextent_class_f" - target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> -</dl> - ---> - - -<!--<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-CombineHyperslab">H5Scombine_hyperslab</a> - - - - -<dt><strong>Non-C API(s):</strong> - <dd><a href="fortran/h5s_FORTRAN.html#h5scombine_hyperslab_f" - target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> - --> <!-- - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<!--</dl> ---> - - -<!--<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-CombineSelect">H5Scombine_select</a> - -<dt><strong>Non-C API(s):</strong> - <dd><a href="fortran/h5s_FORTRAN.html#h5scombine_select_f" - target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> ---> <!-- - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<!--</dl> ---> - - -<!--<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SelectSelect">H5Sselect_select</a> - -<dt><strong>Non-C API(s):</strong> - <dd><a href="fortran/h5s_FORTRAN.html#h5sselect_select_f" - target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a> ---> <!-- - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<!--</dl> ---> - +<?php include("H5S/H5Sclose.htm"); ?> +<?php include("H5S/H5Scopy.htm"); ?> +<?php include("H5S/H5Screate.htm"); ?> +<?php include("H5S/H5Screate_simple.htm"); ?> +<?php include("H5S/H5Sextent_copy.htm"); ?> +<?php include("H5S/H5Sget_select_bounds.htm"); ?> +<?php include("H5S/H5Sget_select_elem_npoints.htm"); ?> +<?php include("H5S/H5Sget_select_elem_pointlist.htm"); ?> +<?php include("H5S/H5Sget_select_hyper_blocklist.htm"); ?> +<?php include("H5S/H5Sget_select_hyper_nblocks.htm"); ?> +<?php include("H5S/H5Sget_select_npoints.htm"); ?> +<?php include("H5S/H5Sget_select_type.htm"); ?> +<?php include("H5S/H5Sget_simple_extent_dims.htm"); ?> +<?php include("H5S/H5Sget_simple_extent_ndims.htm"); ?> +<?php include("H5S/H5Sget_simple_extent_npoints.htm"); ?> +<?php include("H5S/H5Sget_simple_extent_type.htm"); ?> +<?php include("H5S/H5Sis_simple.htm"); ?> +<?php include("H5S/H5Soffset_simple.htm"); ?> +<?php include("H5S/H5Sselect_all.htm"); ?> +<?php include("H5S/H5Sselect_elements.htm"); ?> +<?php include("H5S/H5Sselect_hyperslab.htm"); ?> +<?php include("H5S/H5Sselect_none.htm"); ?> +<?php include("H5S/H5Sselect_valid.htm"); ?> +<?php include("H5S/H5Sset_extent_none.htm"); ?> +<?php include("H5S/H5Sset_extent_simple.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -1969,9 +321,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 21 January 2009"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5T.html b/doc/html/RM_H5T.html index 6cc4c01..77310d8 100644 --- a/doc/html/RM_H5T.html +++ b/doc/html/RM_H5T.html @@ -391,3844 +391,68 @@ in the <cite>HDF5 User's Guide</cite> for further information, including a compl <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tarray_create" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-ArrayCreate">H5Tarray_create</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Tarray_create</code>( - <em>hid_t</em> <code>base</code>, - <em>int</em> <code>rank</code>, - <em>const hsize_t</em> <code>dims[/*rank*/]</code>, - <em>const int</em> <code>perm[/*rank*/]</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates an array datatype object. -<dt><strong>Description:</strong> - <dd><code>H5Tarray_create</code> creates a new array datatype object. - <p> - <code>base</code> is the datatype of every element of the array, - i.e., of the number at each position in the array. - <p> - <code>rank</code> is the number of dimensions and the - size of each dimension is specified in the array <code>dims</code>. - The value of <code>rank</code> is currently limited to - <code>H5S_MAX_RANK</code> and must be greater than <code>0</code> - (zero). - All dimension sizes specified in <code>dims</code> must be greater - than <code>0</code> (zero). - <p> - The array <code>perm</code> is designed to contain the dimension - permutation, i.e. C versus FORTRAN array order. - - <b><i>(The parameter </i><code>perm</code><i> is currently unused and is not yet implemented.)</i></b> - -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>base</code></td> - <td valign="top">IN: Datatype identifier for the array base datatype.</td></tr> - <tr> - <td valign="top"><em>int</em> <code>rank</code></td> - <td valign="top">IN: Rank of the array.</td></tr> - <tr> - <td valign="top"><em>const hsize_t</em> <code>dims[/*rank*/] </code></td> - <td valign="top">IN: Size of each array dimension.</td></tr> - <tr> - <td valign="top"><em>const int</em> <code>perm[/*rank*/]</code></td> - <td valign="top">IN: Dimension permutation. - - <b><i>(Currently not implemented.)</i></b></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> h5tarray_create_f - <dd> - <pre> -SUBROUTINE h5tarray_create_f(base_id, rank, dims, type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: base_id ! Identifier of array base datatype - INTEGER, INTENT(IN) :: rank ! Rank of the array - INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims - ! Sizes of each array dimension - INTEGER(HID_T), INTENT(OUT) :: type_id ! Identifier of the array datatype - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tarray_create_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tclose" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Close">H5Tclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tclose</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Releases a datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tclose</code> releases a datatype. Further access - through the datatype identifier is illegal. Failure to release - a datatype with this call will result in resource leaks. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to release.</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> h5tclose_f - <dd> - <pre> -SUBROUTINE h5tclose_f(type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5tclose_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 "H5Tcommit" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Commit">H5Tcommit</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em><code>H5Tcommit</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em> <code>name</code>, - <em>hid_t</em> <code>type</code> - ) -<dt><strong>Purpose:</strong> - <dd>Commits a transient datatype to a file, creating a new named datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tcommit</code> commits a transient datatype - (not immutable) to a file, turned it into a named datatype. - The <code>loc_id</code> is either a file or group identifier - which, when combined with <code>name</code>, refers to a new - named datatype. - <p> - As is the case for any object in a group, - the length of the name of a named datatype is not limited. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: A file or group identifier.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>name </code></td> - <td valign="top">IN: A datatype name.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>type</code></td> - <td valign="top">IN: A datatype 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> h5tcommit_f - <dd> - <pre> -SUBROUTINE h5tcommit_f(loc_id, name, type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Datatype name within file or group - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5tcommit_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 "H5Tcommitted" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Committed">H5Tcommitted</a> -<dt><strong>Signature:</strong> - <dd><em>htri_t</em><code>H5Tcommitted</code>(<em>hid_t</em> <code>type</code>) -<dt><strong>Purpose:</strong> - <dd>Determines whether a datatype is a named type or a transient type. -<dt><strong>Description:</strong> - <dd><code>H5Tcommitted</code> queries a type to determine whether - the type specified by the <code>type</code> identifier - is a named type or a transient type. If this function returns - a positive value, then the type is named (that is, it has been - committed, perhaps by some other application). Datasets which - return committed datatypes with <code>H5Dget_type()</code> are - able to share the datatype with other datasets in the same file. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type </code></td> - <td valign="top">IN: Datatype identifier.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>When successful, returns a positive value, for <code>TRUE</code>, - if the datatype has been committed, or <code>0</code> (zero), - for <code>FALSE</code>, if the datatype has not been committed. - Otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tcommitted_f - <dd> - <pre> -SUBROUTINE h5tcommitted_f(type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tcommitted_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 "H5Tconvert" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Convert">H5Tconvert</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tconvert</code>(<em>hid_t</em> <code>src_id</code>, - <em>hid_t</em> <code>dst_id</code>, - <em>size_t</em> <code>nelmts</code>, - <em>void *</em><code>buf</code>, - <em>void *</em><code>background</code>, - <em>hid_t</em> <code>plist_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Converts data from between specified datatypes. -<dt><strong>Description:</strong> - <dd><code>H5Tconvert</code> converts <code>nelmts</code> elements - from the type specified by the <code>src_id</code> identifier - to type <code>dst_id</code>. - The source elements are packed in <code>buf</code> and on return - the destination will be packed in <code>buf</code>. - That is, the conversion is performed in place. - The optional background buffer is an array of <code>nelmts</code> - values of destination type which are merged with the converted - values to fill in cracks (for instance, <code>background</code> - might be an array of structs with the <code>a</code> and - <code>b</code> fields already initialized and the conversion - of <code>buf</code> supplies the <code>c</code> and <code>d</code> - field values). - <p> - The parameter <code>plist_id</code> contains the dataset transfer - property list identifier which is passed to the conversion functions. - As of Release 1.2, this parameter is only used to pass along the - variable-length datatype custom allocation information. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>src_id</code></td> - <td valign="top">Identifier for the source datatype.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>dst_id</code></td> - <td valign="top">Identifier for the destination datatype.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>nelmts</code></td> - <td valign="top">Size of array <code>buf</code>.</td></tr> - <tr> - <td valign="top"><em>void *</em><code>buf</code></td> - <td valign="top">Array containing pre- and post-conversion values.</td></tr> - <tr> - <td valign="top"><em>void *</em><code>background </code></td> - <td valign="top">Optional background buffer.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>plist_id</code></td> - <td valign="top">Dataset transfer 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> - <dd>None. -<!-- - <pre> -SUBROUTINE - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.3</td> - <td valign="top"> - <code>nelmts</code> parameter type changed to - <em>size_t</em>.</td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - <code>nelmts</code> parameter type changed to - <em>hsize_t</em>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tcopy" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Copy">H5Tcopy</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Tcopy</code>(<em>hid_t </em><code>type_id</code>) -<dt><strong>Purpose:</strong> - <dd>Copies an existing datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tcopy</code> copies an existing datatype. - The returned type is always transient and unlocked. - <p> - The <code>type_id</code> argument can be either a datatype - identifier, a predefined datatype (defined in - <code>H5Tpublic.h</code>), or a dataset identifier. - If <code>type_id</code> is a dataset identifier instead of a - datatype identifier, then this function returns a transient, - modifiable datatype which is a copy of the dataset's datatype. - <p> - The datatype identifier returned should be released with - <code>H5Tclose</code> or resource leaks will occur. -<!-- - <p> - Native datatypes supported by the library are: - <ul> <dl> - <dt>H5T_NATIVE_CHAR - <dd> Native character type, declare dataset array as 'char' - <dt>H5T_NATIVE_UCHAR - <dd> Native unsigned character type, declare dataset array as 'unsigned char' - <dt>H5T_NATIVE_SHORT - <dd> Native short type, declare dataset array as 'short' - <dt>H5T_NATIVE_USHORT - <dd> Native unsigned short type, declare dataset array as 'unsigned short' - <dt>H5T_NATIVE_INT - <dd> Native int type, declare dataset array as 'int' - <dt>H5T_NATIVE_UINT - <dd> Native unsigned int type, declare dataset array as 'unsigned int' - <dt>H5T_NATIVE_LONG - <dd> Native long type, declare dataset array as 'unsigned long' - <dt>H5T_NATIVE_ULONG - <dd> Native unsigned long type, declare dataset array as 'unsigned long' - <dt>H5T_NATIVE_LLONG - <dd> Native long long type, declare dataset array as 'unsigned long long' - <dt>H5T_NATIVE_ULLONG - <dd> Native unsigned long long type, declare dataset array as 'unsigned long long' - <dt>H5T_NATIVE_INT8 - <dd> Native signed 8-bit type, declare dataset array as 'int8' - <dt>H5T_NATIVE_UINT8 - <dd> Native unsigned 8-bit type, declare dataset array as 'uint8' - <dt>H5T_NATIVE_INT16 - <dd> Native signed 16-bit type, declare dataset array as 'int16' - <dt>H5T_NATIVE_UINT16 - <dd> Native unsigned 16-bit type, declare dataset array as 'uint16' - <dt>H5T_NATIVE_INT32 - <dd> Native signed 32-bit type, declare dataset array as 'int32' - <dt>H5T_NATIVE_UINT32 - <dd> Native unsigned 32-bit type, declare dataset array as 'uint32' - <dt>H5T_NATIVE_INT64 - <dd> Native signed 64-bit type, declare dataset array as 'uint64' - <dt>H5T_NATIVE_UINT64 - <dd> Native unsigned 64-bit type, declare dataset array as 'uint64' - <dt>H5T_NATIVE_FLOAT - <dd> Native single-precision float type, declare dataset array as 'float' - <dt>H5T_NATIVE_DOUBLE - <dd> Native double-precision float type, declare dataset array as 'double' - <dt>H5T_NATIVE_HSIZE - <dd> Native size_t type, declare dataset array as 'hsize_t' - <dt>H5T_NATIVE_HSSIZE - <dd> Native signed size_t type, declare dataset array as 'hssize_t' - <dt>H5T_NATIVE_HERR - <dd> Native error type, declare dataset array as 'herr_t' - <dt>H5T_NATIVE_HBOOL - <dd> Native boolean type, declare dataset array as 'hbool_t' - </dl> </ul> ---> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to copy. Can be a datatype - identifier, a predefined datatype (defined in - <code>H5Tpublic.h</code>), or a dataset identifier.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a datatype identifier if successful; - otherwise returns a negative value -<dt><strong>Fortran90 Interface:</strong> h5tcopy_f - <dd> - <pre> -SUBROUTINE h5tcopy_f(type_id, new_type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER(HID_T), INTENT(OUT) :: new_type_id ! Identifier of datatype's copy - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5tcopy_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 "H5Tcreate" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Create">H5Tcreate</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Tcreate</code>(<em>H5T_class_t </em><code>class</code>, - <em>size_t</em><code>size</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates a new datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tcreate</code> creates a new datatype of the specified - class with the specified number of bytes. - <p> - The following datatype classes are supported with this function: - <ul> - <li><code>H5T_COMPOUND</code> - <li><code>H5T_OPAQUE</code> - <li><code>H5T_ENUM</code> - </ul> - <p> - Use <code>H5Tcopy</code> to create integer or floating-point datatypes. - <p> - The datatype identifier returned from this function should be - released with <code>H5Tclose</code> or resource leaks will result. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5T_class_t</em> <code>class </code></td> - <td valign="top">Class of datatype to create.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>size</code></td> - <td valign="top">The number of bytes in the datatype to create.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns datatype identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tcreate_f - <dd> - <pre> -SUBROUTINE h5tcreate_f(class, size, type_id, hdferr) - IMPLICIT NONE - INTEGER, INTENT(IN) :: class ! Datatype class can be one of - ! H5T_COMPOUND_F (6) - ! H5T_ENUM_F (8) - ! H5T_OPAQUE_F (9) - INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the datatype - INTEGER(HID_T), INTENT(OUT) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tcreate_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 "H5Tdetect_class" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-DetectClass">H5Tdetect_class</a> -<dt><strong>Signature:</strong> - <dd><em>htri_t </em><code>H5Tdetect_class</code>(<em>hid_t</em> <code>dtype_id</code>, - <em>H5T_class_t</em><code>dtype_class</code> - ) -<dt><strong>Purpose:</strong> - <dd>Determines whether a datatype contains any datatypes of the - given datatype class. -<dt><strong>Description:</strong> - <dd><code>H5Tdetect_class</code> determines whether the datatype - specified in <code>dtype_id</code> contains any datatypes of the - datatype class specified in <code>dtype_class</code>. - <p> - This function is useful primarily in recursively examining - all the fields and/or base types - of compound, array, and variable-length datatypes. - <p> - Valid class identifiers are as defined in - <a href="#Datatype-GetClass"><code>H5Tget_class</code></a>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dtype_id</code></td> - <td valign="top">Datatype identifier.</td></tr> - <tr> - <td valign="top"><em>H5T_class_t</em> <code>dtype_class </code></td> - <td valign="top">Datatype class.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns <code>TRUE</code> or <code>FALSE</code> 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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tenum_create" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-EnumCreate">H5Tenum_create</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Tenum_create</code>(<em>hid_t</em> <code>parent_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates a new enumeration datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tenum_create</code> creates a new enumeration datatype - based on the specified base datatype, <code>parent_id</code>, - which must be an integer type. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>parent_id </code></td> - <td valign="top">IN: Datatype identifier for the base datatype.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the datatype identifier for the new enumeration datatype if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tenum_create_f - <dd> - <pre> -SUBROUTINE h5tenum_create_f(parent_id, new_type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: parent_id ! Datatype identifier for - ! the base datatype - INTEGER(HID_T), INTENT(OUT) :: new_type_id ! Datatype identifier for the - ! new enumeration datatype - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tenum_create_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 "H5Tenum_insert" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-EnumInsert">H5Tenum_insert</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tenum_insert</code>(<em>hid_t</em> <code>type</code>, - <em>const char</em> *<code>name</code>, - <em>void</em> *<code>value</code> - ) -<dt><strong>Purpose:</strong> - <dd>Inserts a new enumeration datatype member. -<dt><strong>Description:</strong> - <dd><code>H5Tenum_insert</code> inserts a - new enumeration datatype member into an enumeration datatype. - <p> - <code>type</code> is the enumeration datatype, - <code>name</code> is the name of the new member, and - <code>value</code> points to the value of the new member. - <p> - <code>name</code> and <code>value</code> must both - be unique within <code>type</code>. - <p> - <code>value</code> points to data which is of the - datatype defined when the enumeration datatype was created. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type</code></td> - <td valign="top">IN: Datatype identifier for the enumeration datatype.</td></tr> - <tr> - <td valign="top"><em>const char</em> *<code>name </code></td> - <td valign="top">IN: Name of the new member.</td></tr> - <tr> - <td valign="top"><em>void</em> *<code>value</code></td> - <td valign="top">IN: Pointer to the value of the new 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> h5tenum_insert_f - <dd> - <pre> -SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the new member - INTEGER, INTENT(IN) :: value ! Value of the new member - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tenum_insert_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 "H5Tenum_nameof" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-EnumNameOf">H5Tenum_nameof</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tenum_nameof</code>( - <em>hid_t</em> <code>type</code>, - <em>void</em> *<code>value</code>, - <em>char</em> *<code>name</code>, - <em>size_t</em> <code>size</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the symbol name corresponding to a specified - member of an enumeration datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tenum_nameof</code> finds the symbol name that - corresponds to the specified <code>value</code> - of the enumeration datatype <code>type</code>. - <p> - At most <code>size</code> characters of the symbol - name are copied into the <code>name</code> buffer. - If the entire symbol name and null terminator - do not fit in the <code>name</code> buffer, then as - many characters as possible are copied - (not null terminated) and the function fails. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type</code></td> - <td valign="top">IN: Enumeration datatype identifier.</td></tr> - <tr> - <td valign="top"><em>void</em> *<code>value </code></td> - <td valign="top">IN: Value of the enumeration datatype.</td></tr> - <tr> - <td valign="top"><em>char</em> *<code>name</code></td> - <td valign="top">OUT: Buffer for output of the symbol name.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>size</code></td> - <td valign="top">IN: Anticipated size of the symbol name, - in bytes (characters).</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value if successful. - Otherwise returns a negative value - and, if <code>size</code> allows it, - the first character of <code>name</code> is - set to <code>NULL</code>. -<dt><strong>Fortran90 Interface:</strong> h5tenum_nameof_f - <dd> - <pre> -SUBROUTINE h5tenum_nameof_f(type_id, value, namelen, name, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: value ! Value of the enumeration datatype - INTEGER(SIZE_T), INTENT(IN) :: namelen ! Length of the name - CHARACTER(LEN=*), INTENT(OUT) :: name ! Name of the enumeration datatype - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tenum_nameof_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 "H5Tenum_valueof" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-EnumValueOf">H5Tenum_valueof</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tenum_valueof</code>( - <em>hid_t</em> <code>type</code>, - <em>char</em> *<code>name</code>, - <em>void</em> *<code>value</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the value corresponding to a specified member of an enumeration datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tenum_valueof</code> finds the value that - corresponds to the specified <code>name</code> - of the enumeration datatype <code>type</code>. - <p> - The <code>value</code> argument should be at least - as large as the value of <code>H5Tget_size(type)</code> - in order to hold the result. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type</code></td> - <td valign="top">IN: Enumeration datatype identifier.</td></tr> - <tr> - <td valign="top"><em>const char</em> *<code>name </code></td> - <td valign="top">IN: Symbol name of the enumeration - datatype.</td></tr> - <tr> - <td valign="top"><em>void</em> *<code>value</code></td> - <td valign="top">OUT: Buffer for output of the value - of the enumeration datatype.</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> h5tenum_valueof_f - <dd> - <pre> -SUBROUTINE h5tenum_valueof_f(type_id, name, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the enumeration datatype - INTEGER, INTENT(OUT) :: value ! Value of the enumeration datatype - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tenum_valueof_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 "H5Tequal" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Equal">H5Tequal</a> -<dt><strong>Signature:</strong> - <dd><em>htri_t </em><code>H5Tequal</code>(<em>hid_t </em><code>type_id1</code>, - <em>hid_t</em><code>type_id2</code> - ) -<dt><strong>Purpose:</strong> - <dd>Determines whether two datatype identifiers refer to the same datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tequal</code> determines whether two datatype identifiers - refer to the same datatype. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id1 </code></td> - <td valign="top">Identifier of datatype to compare.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id2</code></td> - <td valign="top">Identifier of datatype to compare.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>When successful, returns a positive value, for <code>TRUE</code>, - if the datatype identifiers refer to the same datatype, - or <code>0</code> (zero), for <code>FALSE</code>. - Otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tequal_f - <dd> - <pre> -SUBROUTINE h5tequal_f(type1_id, type2_id, flag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type1_id ! Datatype identifier - INTEGER(HID_T), INTENT(IN) :: type2_id ! Datatype identifier - LOGICAL, INTENT(OUT) :: flag ! TRUE/FALSE flag to indicate - ! if two datatypes are equal - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tequal_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 "H5Tfind" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Find">H5Tfind</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_conv_t</em> <code>H5Tfind</code>(<em>hid_t</em> <code>src_id</code>, - <em>hid_t</em> <code>dst_id</code>, - <em>H5T_cdata_t **</em><code>pcdata</code> - ) -<dt><strong>Purpose:</strong> - <dd>Finds a conversion function. -<dt><strong>Description:</strong> - <dd><code>H5Tfind</code> finds a conversion function that can - handle a conversion from type <code>src_id</code> to type - <code>dst_id</code>. - The <code>pcdata</code> argument is a pointer to a pointer - to type conversion data which was created and initialized - by the soft type conversion function of this path when the - conversion function was installed on the path. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>src_id</code></td> - <td valign="top">IN: Identifier for the source datatype.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>dst_id</code></td> - <td valign="top">IN: Identifier for the destination datatype.</td></tr> - <tr> - <td valign="top"><em>H5T_cdata_t **</em><code>pcdata </code></td> - <td valign="top">OUT: Pointer to type conversion data.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a pointer to a suitable conversion function if successful. - Otherwise returns NULL. -<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 "H5Tget_array_dims" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetArrayDims">H5Tget_array_dims</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Tget_array_dims</code>( - <em>hid_t</em> <code>adtype_id</code>, - <em>hsize_t </em><code>dims[]</code>, - <em>int </em><code>perm[]</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves sizes of array dimensions and dimension permutations. -<dt><strong>Description:</strong> - <dd><code>H5Tget_array_dims</code> returns the sizes of the dimensions - and the dimension permutations of the specified array datatype object. - <p> - The sizes of the dimensions are returned in the array <code>dims</code>. - The dimension permutations, i.e., C versus FORTRAN array order, - are returned in the array <code>perm</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>adtype_id </code></td> - <td valign="top">IN: Datatype identifier of array object.</td></tr> - <tr> - <td valign="top"><em>hsize_t </em><code>dims[]</code></td> - <td valign="top">OUT: Sizes of array dimensions.</td></tr> - <tr> - <td valign="top"><em>int </em><code>perm[]</code></td> - <td valign="top">OUT: Dimension permutations.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the non-negative number of dimensions of the array type if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tget_array_dims_f - <dd> - <pre> -SUBROUTINE h5tget_array_dims_f(type_id, dims, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Identifier of the array datatype - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims - ! Buffer to store array datatype - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_array_dims_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tget_array_ndims" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetArrayNdims">H5Tget_array_ndims</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Tget_array_ndims</code>( - <em>hid_t</em> <code>adtype_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the rank of an array datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_array_ndims</code> returns the rank, - the number of dimensions, of an array datatype object. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>adtype_id </code></td> - <td valign="top">IN: Datatype identifier of array object.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the rank of the array if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tget_array_ndims_f - <dd> - <pre> -SUBROUTINE h5tget_array_ndims_f(type_id, ndims, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Identifier of the array datatype - INTEGER, INTENT(OUT) :: ndims ! Number of array dimensions - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_array_ndims_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.4.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tget_class" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetClass">H5Tget_class</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_class_t </em><code>H5Tget_class</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the datatype class identifier. -<dt><strong>Description:</strong> - <dd><code>H5Tget_class</code> returns the datatype class identifier. - <p> - Valid class identifiers, as defined in <code>H5Tpublic.h</code>, are: - <ul><li><code>H5T_INTEGER</code> - <li><code>H5T_FLOAT</code> - <li><code>H5T_TIME</code> - <li><code>H5T_STRING</code> - <li><code>H5T_BITFIELD</code> - <li><code>H5T_OPAQUE</code> - <li><code>H5T_COMPOUND</code> - <li><code>H5T_REFERENCE</code> - <li><code>H5T_ENUM</code> - <li><code>H5T_VLEN</code> - <li><code>H5T_ARRAY</code> - </ul> - <p> - Note that the library returns <code>H5T_STRING</code> for - both fixed-length and variable-length strings. - <p> - Note that the time datatype class, <code>H5T_TIME</code>, - is not fully supported in the current version of the HDF5 Library. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns datatype class identifier if successful; - otherwise <code>H5T_NO_CLASS</code> (-1). -<dt><strong>Fortran90 Interface:</strong> h5tget_class_f - <dd> - <pre> -SUBROUTINE h5tget_class_f(type_id, class, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: class ! Datatype class, possible values are: - ! H5T_NO_CLASS_F - ! H5T_INTEGER_F - ! H5T_FLOAT_F - ! H5T_TIME_F - ! H5T_STRING_F - ! H5T_BITFIELD_F - ! H5T_OPAQUE_F - ! H5T_COMPOUND_F - ! H5T_REFERENCE_F - ! H5T_ENUM_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5tget_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 "H5Tget_cset" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetCset">H5Tget_cset</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_cset_t </em><code>H5Tget_cset</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the character set type of a string datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_cset</code> retrieves the character set type - of a string datatype. Valid character set types are: - <table> - <tr><td> - </td><td><code>H5T_CSET_ASCII</code> - </td><td>(<code>0</code>) - </td><td> - </td><td>Character set is US ASCII. - </td></tr> - </table> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a valid character set type if successful; - otherwise <code>H5T_CSET_ERROR</code> (-1). -<dt><strong>Fortran90 Interface:</strong> h5tget_cset_f - <dd> - <pre> -SUBROUTINE h5tget_cset_f(type_id, cset, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: cset ! Character set type of a string - ! datatype - ! Possible values of padding type are: - ! H5T_CSET_ASCII_F = 0 - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_cset_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 "H5Tget_ebias" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetEbias">H5Tget_ebias</a> -<dt><strong>Signature:</strong> - <dd><em>size_t </em><code>H5Tget_ebias</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the exponent bias of a floating-point type. -<dt><strong>Description:</strong> - <dd><code>H5Tget_ebias</code> retrieves the exponent bias of a floating-point type. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the bias if successful; - otherwise 0. -<dt><strong>Fortran90 Interface:</strong> h5tget_ebias_f - <dd> - <pre> -SUBROUTINE h5tget_ebias_f(type_id, ebias, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: ebias ! Datatype exponent bias - ! of a floating-point type - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_ebias_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 "H5Tget_fields" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetFields">H5Tget_fields</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tget_fields</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t *</em><code>spos</code>, - <em>size_t *</em><code>epos</code>, - <em>size_t *</em><code>esize</code>, - <em>size_t *</em><code>mpos</code>, - <em>size_t *</em><code>msize</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves floating point datatype bit field information. -<dt><strong>Description:</strong> - <dd><code>H5Tget_fields</code> retrieves information about the locations of the various - bit fields of a floating point datatype. The field positions are bit - positions in the significant region of the datatype. Bits are - numbered with the least significant bit number zero. - Any (or even all) of the arguments can be null pointers. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">IN: Identifier of datatype to query.</td></tr> - <tr> - <td valign="top"><em>size_t *</em><code>spos</code></td> - <td valign="top">OUT: Pointer to location to return floating-point sign bit.</td></tr> - <tr> - <td valign="top"><em>size_t *</em><code>epos</code></td> - <td valign="top">OUT: Pointer to location to return exponent bit-position.</td></tr> - <tr> - <td valign="top"><em>size_t *</em><code>esize</code></td> - <td valign="top">OUT: Pointer to location to return size of exponent in bits.</td></tr> - <tr> - <td valign="top"><em>size_t *</em><code>mpos</code></td> - <td valign="top">OUT: Pointer to location to return mantissa bit-position.</td></tr> - <tr> - <td valign="top"><em>size_t *</em><code>msize</code></td> - <td valign="top">OUT: Pointer to location to return size of mantissa in bits.</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> h5tget_fields_f - <dd> - <pre> -SUBROUTINE h5tget_fields_f(type_id, epos, esize, mpos, msize, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: epos ! Exponent bit-position - INTEGER, INTENT(OUT) :: esize ! Size of exponent in bits - INTEGER, INTENT(OUT) :: mpos ! Mantissa bit-position - INTEGER, INTENT(OUT) :: msize ! Size of mantissa in bits - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_fields_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 "H5Tget_inpad" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetInpad">H5Tget_inpad</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_pad_t </em><code>H5Tget_inpad</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the internal padding type for unused bits in floating-point datatypes. -<dt><strong>Description:</strong> - <dd><code>H5Tget_inpad</code> retrieves the internal padding type for - unused bits in floating-point datatypes. - Valid padding types are: - <ul> <dl> - <dt>H5T_PAD_ZERO (<code>0</code>) - <dd>Set background to zeros. - <dt>H5T_PAD_ONE (<code>1</code>) - <dd>Set background to ones. - <dt>H5T_PAD_BACKGROUND (<code>2</code>) - <dd>Leave background alone. - </dl> </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a valid padding type if successful; - otherwise <code>H5T_PAD_ERROR</code> (-1). -<dt><strong>Fortran90 Interface:</strong> h5tget_inpad_f - <dd> - <pre> -SUBROUTINE h5tget_inpad_f(type_id, padtype, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: padtype ! Padding type for unused bits - ! in floating-point datatypes - ! Possible values of padding type are: - ! H5T_PAD_ZERO_F = 0 - ! H5T_PAD_ONE_F = 1 - ! H5T_PAD_BACKGROUND_F = 2 - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_inpad_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 "H5Tget_member_class" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetMemberClass">H5Tget_member_class</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_class_t</em> <code>H5Tget_member_class</code>( - <em>hid_t</em> <code>cdtype_id</code>, - <em>unsigned </em><code>member_no</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns datatype class of compound datatype member. -<dt><strong>Description:</strong> - <dd>Given a compound datatype, <code>cdtype_id</code>, the function - <code>H5Tget_member_class</code> returns the datatype class of - the compound datatype member specified by <code>member_no</code>. - <p> - Valid class identifiers are as defined in - <a href="#Datatype-GetClass"><code>H5Tget_class</code></a>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>cdtype_id </code></td> - <td valign="top">IN: Datatype identifier of compound object.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>member_no</code></td> - <td valign="top">IN: Compound object member number.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the datatype class, a non-negative value, if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tget_member_class_f - <dd> - <pre> -SUBROUTINE h5tget_member_class_f(type_id, member_no, class, hdferr) - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: member_no ! Member number - INTEGER, INTENT(OUT) :: class ! Member class - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_member_class_f - </pre> - <!-- - <dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>membno</code> parameter type changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tget_member_index" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetMemberIndex">H5Tget_member_index</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Tget_member_index</code>(<em>hid_t </em><code>type_id</code>, - <em>const char *</em> <code>field_name</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the index of a compound or enumeration datatype member. -<dt><strong>Description:</strong> - <dd><code>H5Tget_member_index</code> retrieves the index of a field - of a compound datatype or an element of an enumeration datatype. - <p> - The name of the target field or element is specified in - <code>field_name</code>. - <p> - Fields are stored in no particular order - with index values of 0 through <em>N</em>-1, where <em>N</em> is - the value returned by <code>H5Tget_nmembers</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>field_name </code></td> - <td valign="top">Name of the field or member whose index is to be retrieved.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a valid field or member index if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tget_member_index_f - <dd> - <pre> -SUBROUTINE h5tget_member_index_f(type_id, name, index, hdferr) - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Member name - INTEGER, INTENT(OUT) :: index ! Member index - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_member_index_f - </pre> - <!-- - <dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> </td> - <td valign="top"> </td> - <td valign="top" align="left"> - Function introduced in this release.</td></tr> - <tr> - <td valign="top">1.4.4</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> </td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tget_member_name" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetMemberName">H5Tget_member_name</a> -<dt><strong>Signature:</strong> - <dd><em>char *</em> <code>H5Tget_member_name</code>(<em>hid_t </em><code>type_id</code>, - <em>unsigned</em> <code>field_idx</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the name of a compound or enumeration datatype member. -<dt><strong>Description:</strong> - <dd><code>H5Tget_member_name</code> retrieves the name of a field - of a compound datatype or an element of an enumeration datatype. - <p> - The index of the target field or element is specified in - <code>field_idx</code>. - Compound datatype fields and enumeration datatype elements - are stored in no particular order - with index values of 0 through <em>N</em>-1, where <em>N</em> - is the value returned by <code>H5Tget_nmembers</code>. - <p> - A buffer to receive the name of the field is - allocated with <code>malloc()</code> and the caller is responsible - for freeing the memory used. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>field_idx</code></td> - <td valign="top">Zero-based index of the field or element whose name - is to be retrieved.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a valid pointer to a string allocated with - <code>malloc()</code> if successful; - otherwise returns NULL. -<dt><strong>Fortran90 Interface:</strong> h5tget_member_name_f - <dd> - <pre> -SUBROUTINE h5tget_member_name_f(type_id,index, member_name, namelen, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: index ! Field index (0-based) of - ! the field name to retrieve - CHARACTER(LEN=*), INTENT(OUT) :: member_name ! Name of a field of - ! a compound datatype - INTEGER, INTENT(OUT) :: namelen ! Length of the name - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_member_name_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>membno</code> parameter type changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tget_member_offset" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetMemberOffset">H5Tget_member_offset</a> -<dt><strong>Signature:</strong> - <dd><em>size_t</em> <code>H5Tget_member_offset</code>(<em>hid_t </em><code>type_id</code>, - <em>unsigned</em> <code>memb_no</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the offset of a field of a compound datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_member_offset</code> retrieves the - byte offset of the beginning of a field within a - compound datatype with respect to the beginning - of the compound data type datum. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>memb_no</code></td> - <td valign="top">Number of the field whose offset is requested.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the byte offset of the field if successful; - otherwise returns <code>0</code> (zero). - Note that zero is a valid offset and that this function - will fail only if a call to <code>H5Tget_member_class()</code> - fails with the same arguments. -<dt><strong>Fortran90 Interface:</strong> h5tget_member_offset_f - <dd> - <pre> -SUBROUTINE h5tget_member_offset_f(type_id, member_no, offset, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: member_no ! Number of the field - ! whose offset is requested - INTEGER(SIZE_T), INTENT(OUT) :: offset ! Byte offset of the the - ! beginning of the field - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_member_offset_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>membno</code> parameter type changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tget_member_type" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetMemberType">H5Tget_member_type</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Tget_member_type</code>(<em>hid_t </em><code>type_id</code>, - <em>unsigned</em> <code>field_idx</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the datatype of the specified member. -<dt><strong>Description:</strong> - <dd><code>H5Tget_member_type</code> returns the datatype of the specified member. The caller - should invoke H5Tclose() to release resources associated with the type. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>field_idx</code></td> - <td valign="top">Field index (0-based) of the field type to retrieve.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the identifier of a copy of the datatype of the field - if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tget_member_type_f - <dd> - <pre> -SUBROUTINE h5tget_member_type_f(type_id, field_idx, datatype, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: field_idx ! Field index (0-based) of the - ! field type to retrieve - INTEGER(HID_T), INTENT(OUT) :: datatype ! Identifier of a copy of - ! the datatype of the field - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_member_type_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>membno</code> parameter type changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tget_member_value" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetMemberValue">H5Tget_member_value</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tget_member_value</code>(<em>hid_t</em> <code>type</code> - <em>unsigned</em> <code>memb_no</code>, - <em>void</em> *<code>value</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the value of an enumeration datatype member. -<dt><strong>Description:</strong> - <dd><code>H5Tget_member_value</code> returns the value of - the enumeration datatype member <code>memb_no</code>. - <p> - The member value is returned in a user-supplied buffer - pointed to by <code>value</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type</code></td> - <td valign="top">IN: Datatype identifier for the enumeration datatype.</td></tr> - <tr> - <td valign="top"><em>unsigned</em> <code>memb_no</code>,</td> - <td valign="top">IN: Number of the enumeration datatype member.</td></tr> - <tr> - <td valign="top"><em>void</em> *<code>value </code></td> - <td valign="top">OUT: Pointer to a buffer for output of the - value of the enumeration datatype 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> h5tget_member_value_f - <dd> - <pre> -SUBROUTINE h5tget_member_value_f(type_id, member_no, value, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: member_no ! Number of the enumeration - ! datatype member - INTEGER, INTENT(OUT) :: value ! Value of the enumeration datatype - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_member_value_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History</strong>:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.4</td> - <td valign="top"> - <code>membno</code> parameter type changed to - <em>unsigned</em>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tget_native_type" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetNativeType">H5Tget_native_type</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Tget_native_type</code>(<em>hid_t</em> <code>type_id</code>, - <em>H5T_direction_t</em> <code>direction</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the native datatype of a specified datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_native_type</code> returns the equivalent native datatype - for the datatype specified in <code>type_id</code>. - <p> - <code>H5Tget_native_type</code> is a high-level function designed - primarily to facilitate use of the <code>H5Dread</code> function, - for which users otherwise must undertake a multi-step process to - determine the native datatype of a dataset prior to reading it - into memory. - It can be used not only to determine - the native datatype for atomic datatypes, - but also to determine the native datatypes of the individual components - of a compound datatype, an enumerated datatype, an array datatype, or - a variable-length datatype. - For example, if <code>dtype_id</code> is a compound datatype, - the returned datatype identifier will be for - a similar compound datatype with - each element converted to the corresponding native datatype. - <p> - <code>H5Tget_native_type</code> selects the matching native datatype - from the following list: - <pre> H5T_NATIVE_CHAR - H5T_NATIVE_SHORT - H5T_NATIVE_INT - H5T_NATIVE_LONG - H5T_NATIVE_LLONG - - H5T_NATIVE_UCHAR - H5T_NATIVE_USHORT - H5T_NATIVE_UINT - H5T_NATIVE_ULONG - H5T_NATIVE_ULLONG - - H5T_NATIVE_FLOAT - H5T_NATIVE_DOUBLE - H5T_NATIVE_LDOUBLE</pre> - <p> - The <code>direction</code> parameter indicates the order - in which the library searches for a native datatype match. - Valid values for <code>direction</code> are as follows: - <table border=0> - <tr valign=top><td> </td><td> - <code>H5T_DIR_ASCEND</code></td><td> - Searches the above list in ascending size of the datatype,<br> - i.e., from top to bottom. (Default) - </td></tr> - <tr valign=top><td> </td><td> - <code>H5T_DIR_DESCEND</code> </td><td> - Searches the above list in descending size of the datatype,<br> - i.e., from bottom to top. - </td></tr> - </table> - <p> - <code>H5Tget_native_type</code> is designed primarily for - use with integer and floating point datatypes. - String, time, bitfield, opaque, and reference datatypes are returned - as a copy of <code>type_id</code>. - <p> - The identifier returned by <code>H5Tget_native_type</code> - should eventually be closed by calling <code>H5Tclose</code> - to release resources. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Datatype identifier for the dataset datatype.</td></tr> - <tr> - <td valign="top"><em>H5T_direction_t</em> <code>direction </code></td> - <td valign="top">Direction of search.</td></tr> - </table></ul> -<!-- NEW PAGE --> -<dt><strong>Returns:</strong> - <dd>Returns the native datatype identifier for the - specified dataset datatype 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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tget_nmembers" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetNmembers">H5Tget_nmembers</a> -<dt><strong>Signature:</strong> - <dd><em>int </em><code>H5Tget_nmembers</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the number of elements in a compound or enumeration datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_nmembers</code> retrieves - the number of fields in a compound datatype or - the number of members of an enumeration datatype. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of elements if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tget_nmembers_f - <dd> - <pre> -SUBROUTINE h5tget_nmembers_f(type_id, num_members, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: num_members ! Number of fields in a - ! compound datatype - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_nmembers_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 "H5Tget_norm" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetNorm">H5Tget_norm</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_norm_t </em><code>H5Tget_norm</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves mantissa normalization of a floating-point datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_norm</code> retrieves the mantissa normalization of - a floating-point datatype. Valid normalization types are: - <ul> <dl> - <dt>H5T_NORM_IMPLIED (<code>0</code>) - <dd>MSB of mantissa is not stored, always 1 - <dt>H5T_NORM_MSBSET (<code>1</code>) - <dd>MSB of mantissa is always 1 - <dt>H5T_NORM_NONE (<code>2</code>) - <dd>Mantissa is not normalized - </dl> </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a valid normalization type if successful; - otherwise <code>H5T_NORM_ERROR</code> (-1). -<dt><strong>Fortran90 Interface:</strong> h5tget_norm_f - <dd> - <pre> -SUBROUTINE h5tget_norm_f(type_id, norm, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id - ! Datatype identifier - INTEGER, INTENT(OUT) :: norm ! Mantissa normalization of a - ! floating-point datatype - ! Valid normalization types are: - ! H5T_NORM_IMPLIED_F(0) - ! MSB of mantissa is not - ! stored, always 1 - ! H5T_NORM_MSBSET_F(1) - ! MSB of mantissa is always 1 - ! H5T_NORM_NONE_F(2) - ! Mantissa is not normalized - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_norm_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 "H5Tget_offset" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetOffset">H5Tget_offset</a> -<dt><strong>Signature:</strong> - <dd><em>int </em><code>H5Tget_offset</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the bit offset of the first significant bit. -<dt><strong>Description:</strong> - <dd><code>H5Tget_offset</code> retrieves the bit offset of the first significant bit. - The significant bits of an atomic datum can be offset from the beginning - of the memory for that datum by an amount of padding. The `offset' - property specifies the number of bits of padding that appear to the - "right of" the value. That is, if we have a 32-bit datum with 16-bits - of precision having the value 0x1122 then it will be laid out in - memory as (from small byte address toward larger byte addresses): - <br> - <br> - - <table border align=center cellpadding=4 width="80%"> - <tr align=center> - <th width="20%">Byte Position</th> - <th width="20%">Big-Endian Offset=0</th> - <th width="20%">Big-Endian Offset=16</th> - <th width="20%">Little-Endian Offset=0</th> - <th width="20%">Little-Endian Offset=16</th> - </tr> - <tr align=center> - <td>0:</td> - <td>[ pad]</td> - <td>[0x11]</td> - <td>[0x22]</td> - <td>[ pad]</td> - </tr> - <tr align=center> - <td>1:</td> - <td>[ pad]</td> - <td>[0x22]</td> - <td>[0x11]</td> - <td>[ pad]</td> - </tr> - <tr align=center> - <td>2:</td> - <td>[0x11]</td> - <td>[ pad]</td> - <td>[ pad]</td> - <td>[0x22]</td> - </tr> - <tr align=center> - <td>3:</td> - <td>[0x22]</td> - <td>[ pad]</td> - <td>[ pad]</td> - <td>[0x11]</td> - </tr> - </table> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns an offset value if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tget_offset_f - <dd> - <pre> -SUBROUTINE h5tget_offset_f(type_id, offset, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: offset ! Datatype bit offset of the - ! first significant bit - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_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 "H5Tget_order" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetOrder">H5Tget_order</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_order_t </em><code>H5Tget_order</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the byte order of an atomic datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_order</code> returns the byte order of an - atomic datatype. - <p> - Possible return values are: - <ul><dl> - <dt><code>H5T_ORDER_LE</code> (<code>0</code>) - <dd>Little endian byte ordering (default). - <dt><code>H5T_ORDER_BE</code> (<code>1</code>) - <dd>Big endian byte ordering. - <dt><code>H5T_ORDER_VAX</code> (<code>2</code>) - <dd>VAX mixed byte ordering (not currently supported). - </dl></ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a byte order constant if successful; - otherwise <code>H5T_ORDER_ERROR</code> (-1). -<dt><strong>Fortran90 Interface:</strong> h5tget_order_f - <dd> - <pre> -SUBROUTINE h5tget_order_f(type_id, order, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: order ! Datatype byte order - ! Possible values are: - ! H5T_ORDER_LE_F - ! H5T_ORDER_BE_F - ! H5T_ORDER_VAX_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5tget_order_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 "H5Tget_overflow" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetOverflow">H5Tget_overflow</a> -<dt><strong>Signature:</strong> - - -H5Tget_overflow () - <dd><em>H5T_overflow_t</em> <code>H5Tget_overflow</code>(<code>void</code>) -<dt><strong>Purpose:</strong> - <dd>Returns a pointer to the current global overflow function. -<dt><strong>Description:</strong> - <dd><code>H5Tset_overflow</code> returns a pointer - to the current global overflow function. - This is an application-defined function that is called whenever a - datatype conversion causes an overflow. -<dt><strong>Parameters:</strong> - <dl> - <dt>None. - </dl> -<dt><strong>Returns:</strong> - <dd>Returns a pointer to an application-defined function if successful. - Otherwise returns NULL; this can happen if no overflow handling - function is registered. -<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 "H5Tget_pad" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetPad">H5Tget_pad</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tget_pad</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_pad_t *</em> <code>lsb</code>, - <em>H5T_pad_t *</em> <code>msb</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the padding type of the least and most-significant bit padding. -<dt><strong>Description:</strong> - <dd><code>H5Tget_pad</code> retrieves the padding type of the least and most-significant - bit padding. Valid types are: - <ul> <dl> - <dt>H5T_PAD_ZERO (<code>0</code>) - <dd>Set background to zeros. - <dt>H5T_PAD_ONE (<code>1</code>) - <dd>Set background to ones. - <dt>H5T_PAD_BACKGROUND (<code>2</code>) - <dd>Leave background alone. - </dl> </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">IN: Identifier of datatype to query.</td></tr> - <tr> - <td valign="top"><em>H5T_pad_t *</em> <code>lsb </code></td> - <td valign="top">OUT: Pointer to location to return least-significant - bit padding type.</td></tr> - <tr> - <td valign="top"><em>H5T_pad_t *</em> <code>msb</code></td> - <td valign="top">OUT: Pointer to location to return most-significant - bit padding type.</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> h5tget_pad_f - <dd> - <pre> -SUBROUTINE h5tget_pad_f(type_id, lsbpad, msbpad, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: lsbpad ! Padding type of the - ! least significant bit - INTEGER, INTENT(OUT) :: msbpad ! Padding type of the - ! most significant bit - ! Possible values of - ! padding type are: - ! H5T_PAD_ZERO_F = 0 - ! H5T_PAD_ONE_F = 1 - ! H5T_PAD_BACKGROUND_F = 2 - ! H5T_PAD_ERROR_F = -1 - ! H5T_PAD_NPAD_F = 3 - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_pad_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 "H5Tget_precision" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetPrecision">H5Tget_precision</a> -<dt><strong>Signature:</strong> - <dd><em>size_t </em><code>H5Tget_precision</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the precision of an atomic datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_precision</code> returns the precision of an atomic - datatype. The precision is the number of significant bits which, - unless padding is present, is 8 times larger than the value returned - by <code>H5Tget_size</code>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the number of significant bits if successful; - otherwise 0. -<dt><strong>Fortran90 Interface:</strong> h5tget_precision_f - <dd> - <pre> -SUBROUTINE h5tget_precision_f(type_id, precision, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: precision ! Datatype precision - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_precision_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 "H5Tget_sign" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetSign">H5Tget_sign</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_sign_t </em><code>H5Tget_sign</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the sign type for an integer type. -<dt><strong>Description:</strong> - <dd><code>H5Tget_sign</code> retrieves the sign type for an integer type. - Valid types are: - <ul> <dl> - <dt>H5T_SGN_NONE (<code>0</code>) - <dd>Unsigned integer type. - <dt>H5T_SGN_2 (<code>1</code>) - <dd>Two's complement signed integer type. - </dl> </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a valid sign type if successful; - otherwise <code>H5T_SGN_ERROR</code> (-1). -<dt><strong>Fortran90 Interface:</strong> h5tget_sign_f - <dd> - <pre> -SUBROUTINE h5tget_sign_f(type_id, sign, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: sign ! Sign type for an integer type - ! Possible values are: - ! Unsigned integer type - ! H5T_SGN_NONE_F = 0 - ! Two's complement signed - ! integer type - ! H5T_SGN_2_F = 1 - ! or error value - ! H5T_SGN_ERROR_F = -1 - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_sign_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 "H5Tget_size" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetSize">H5Tget_size</a> -<dt><strong>Signature:</strong> - <dd><em>size_t </em><code>H5Tget_size</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the size of a datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_size</code> returns the size of a datatype in bytes. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the size of the datatype in bytes if successful; - otherwise 0. -<dt><strong>Fortran90 Interface:</strong> h5tget_size_f - <dd> - <pre> -SUBROUTINE h5tget_size_f(type_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER(SIZE_T), INTENT(OUT) :: size ! Datatype size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5tget_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 "H5Tget_strpad" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetStrpad">H5Tget_strpad</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_str_t </em><code>H5Tget_strpad</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves the storage mechanism for a string datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_strpad</code> retrieves the storage mechanism - for a string datatype, as defined in - <a href="#Datatype-SetStrpad"><code>H5Tset_strpad</code></a>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to query.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a valid string storage mechanism if successful; - otherwise <code>H5T_STR_ERROR</code> (-1). -<dt><strong>Fortran90 Interface:</strong> h5tget_strpad_f - <dd> - <pre> -SUBROUTINE h5tget_strpad_f(type_id, strpad, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id - ! Datatype identifier - INTEGER, INTENT(OUT) :: strpad ! String padding method for a string datatype - ! Possible values of padding type are: - ! Pad with zeros (as C does): - ! H5T_STR_NULLPAD_F(0) - ! Pad with spaces (as FORTRAN does): - ! H5T_STR_SPACEPAD_F(1) - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_strpad_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 "H5Tget_super" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetSuper">H5Tget_super</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Tget_super</code>(<em>hid_t</em> <code>type</code> - ) -<dt><strong>Purpose:</strong> - <dd>Returns the base datatype from which a datatype is derived. -<dt><strong>Description:</strong> - <dd><code>H5Tget_super</code> returns the base datatype from which the - datatype <code>type</code> is derived. - <P> - In the case of an enumeration type, the return value is an integer type. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type </code></td> - <td valign="top">Datatype identifier for the derived datatype.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns the datatype identifier for the base datatype if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tget_super_f - <dd> - <pre> -SUBROUTINE h5tget_super_f(type_id, base_type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER(HID_T), INTENT(OUT) :: type_id ! Base datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_super_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 "H5Tget_tag" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetTag">H5Tget_tag</a> -<dt><strong>Signature:</strong> - <dd><em>char</em> *<code>H5Tget_tag</code>(<em>hid_t</em> <code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Gets the tag associated with an opaque datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tget_tag</code> returns the tag associated with - the opaque datatype <code>type_id</code>. - <P> - The tag is returned via a pointer to an - allocated string, which the caller must free. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Datatype identifier for the opaque datatype.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a pointer to an allocated string if successful; - otherwise returns <code>NULL</code>. -<dt><strong>Fortran90 Interface:</strong> h5tget_tag_f - <dd> - <pre> -SUBROUTINE h5tget_tag_f(type_id, tag,taglen, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(OUT) :: tag ! Unique ASCII string with which the - ! opaque datatype is to be tagged - INTEGER, INTENT(OUT) :: taglen ! Length of tag - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tget_tag_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 "H5Tinsert" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Insert">H5Tinsert</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tinsert</code>(<em>hid_t </em><code>type_id</code>, - <em>const char *</em> <code>name</code>, - <em>size_t</em> <code>offset</code>, - <em>hid_t</em> <code>field_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Adds a new member to a compound datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tinsert</code> adds another member to the compound datatype - <code>type_id</code>. The new member has a <code>name</code> which - must be unique within the compound datatype. - The <code>offset</code> argument defines the start of the member - in an instance of the compound datatype, and <code>field_id</code> - is the datatype identifier of the new member. - <P> - Note: Members of a compound datatype do not have to be atomic datatypes; - a compound datatype can have a member which is a compound datatype. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of compound datatype to modify.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>name </code></td> - <td valign="top">Name of the field to insert.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>offset</code></td> - <td valign="top">Offset in memory structure of the field to insert.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>field_id</code></td> - <td valign="top">Datatype identifier of the field to insert.</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> h5tinsert_f - <dd> - <pre> -SUBROUTINE h5tinsert_f(type_id, name, offset, field_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the field to insert - INTEGER(SIZE_T), INTENT(IN) :: offset ! Offset in memory structure - ! of the field to insert - INTEGER(HID_T), INTENT(IN) :: field_id ! Datatype identifier of the - ! new member - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tinsert_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 "H5Tis_variable_str" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-IsVariableString">H5Tis_variable_str</a> -<dt><strong>Signature:</strong> - <dd><em>htri_t </em><code>H5Tis_variable_str</code>(<em>hid_t </em><code>dtype_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Determines whether datatype is a variable-length string. -<dt><strong>Description:</strong> - <dd><code>H5Tis_variable_str</code> determines whether the datatype - identified in <code>dtype_id</code> is a variable-length string. - <p> - This function can be used to distinguish between - fixed and variable-length string datatypes. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>dtype_id </code></td> - <td valign="top">Datatype identifier.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns <code>TRUE</code> or <code>FALSE</code> if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tis_variable_str_f - <dd> - <pre> -SUBROUTINE h5tis_variable_str_f(type_id, status, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - LOGICAL, INTENT(OUT) :: status ! Logical flag: - ! .TRUE. if datatype is a - ! variable string - ! .FALSE. otherwise - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tis_variable_str_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tlock" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Lock">H5Tlock</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tlock</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Locks a datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tlock</code> locks the datatype specified by the - <code>type_id</code> identifier, making it read-only and - non-destructible. This is normally done by the library for - predefined datatypes so the application does not - inadvertently change or delete a predefined type. - Once a datatype is locked it can never be unlocked. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to lock.</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 "H5Topen" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Open">H5Topen</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em><code>H5Topen</code>(<em>hid_t</em> <code>loc_id</code>, - <em>const char *</em> <code>name</code> - ) -<dt><strong>Purpose:</strong> - <dd>Opens a named datatype. -<dt><strong>Description:</strong> - <dd><code>H5Topen</code> opens a named datatype at the location - specified by <code>loc_id</code> and returns an identifier - for the datatype. <code>loc_id</code> is either a file or - group identifier. The identifier should eventually be closed - by calling <code>H5Tclose</code> to release resources. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>loc_id</code></td> - <td valign="top">IN: A file or group identifier.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>name </code></td> - <td valign="top">IN: A datatype name, defined within the file - or group identified by <code>loc_id</code>.</td></tr> - </table></ul> -<dt><strong>Returns:</strong> - <dd>Returns a named datatype identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5topen_f - <dd> - <pre> -SUBROUTINE h5topen_f(loc_id, name, type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Datatype name within file or - ! group - INTEGER(HID_T), INTENT(out) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5topen_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 "H5Tpack" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Pack">H5Tpack</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tpack</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Recursively removes padding from within a compound datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tpack</code> recursively removes padding from within a compound - datatype to make it more efficient (space-wise) to store that data. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to modify.</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> h5tpack_f - <dd> - <pre> -SUBROUTINE h5tpack_f(type_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tpack_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 "H5Tregister" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Register">H5Tregister</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tregister</code>(<em>H5T_pers_t</em> <code>pers</code>, - <em>const char *</em> <code>name</code>, - <em>hid_t </em><code>src_id</code>, - <em>hid_t</em> <code>dst_id</code>, - <em>H5T_conv_t</em> <code>func</code> - ) -<dt><strong>Purpose:</strong> - <dd>Registers a conversion function. -<dt><strong>Description:</strong> - <dd><code>H5Tregister</code> registers a hard or soft conversion function - for a datatype conversion path. - <p> - The parameter <code>pers</code> indicates whether a conversion function - is <em>hard</em> (<code>H5T_PERS_HARD</code>) - or <em>soft</em> (<code>H5T_PERS_SOFT</code>). - <p> - A conversion path can have only one hard function. - When <code>pers</code> is <code>H5T_PERS_HARD</code>, - <code>func</code> replaces any previous hard function. - If <code>pers</code> is <code>H5T_PERS_HARD</code> and - <code>func</code> is the null pointer, then any hard function - registered for this path is removed. - <p> - When <code>pers</code> is <code>H5T_PERS_SOFT</code>, - <code>H5Tregister</code> - adds the function to the end of the master soft list and replaces - the soft function in all applicable existing conversion paths. - Soft functions are used when determining which conversion function - is appropriate for this path. - <p> - The <code>name</code> is used only for debugging and should be a - short identifier for the function. - <p> - The path is specified by the source and destination datatypes - <code>src_id</code> and <code>dst_id</code>. - For soft conversion functions, only the class of these types is important. - <p> - The type of the conversion function pointer is declared as: - <dir> -<pre><code>typedef</code> <em>herr_t </em>(<code>*H5T_conv_t</code>) (<em>hid_t </em><code>src_id</code>, - <em>hid_t </em><code>dst_id</code>, - <em>H5T_cdata_t *</em><code>cdata</code>, - <em>size_t </em><code>nelmts</code>, - <em>size_t </em><code>buf_stride</code>, - <em>size_t </em><code>bkg_stride</code>, - <em>void *</em><code>buf</code>, - <em>void *</em><code>bkg</code>, - <em>hid_t </em><code>dset_xfer_plist</code>)</pre> - </dir> - <p> - The <code>H5T_cdata_t</code> struct is declared as: - <dir> -<pre><code>typedef</code> <em>struct </em><code>*H5T_cdata_t</code> (<em>H5T_cmd_t </em><code>command</code>, - <em>H5T_bkg_t </em><code>need_bkg</code>, - <em>hbool_t *</em><code>recalc</code>, - <em>void *</em><code>priv</code>)</pre> - </dir> - <p> - The <code>H5T_conv_t</code> parameters and - the elements of the <code>H5T_cdata_t</code> struct - are described more fully in the - “<a href="Datatypes.html#Datatypes-DataConversion" - target="WinUG">Data Conversion</a>” - section of “The Datatype Interface (H5T)” - in the <cite>HDF5 User's Guide</cite>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5T_pers_t</em> <code>pers</code></td> - <td valign="top"><code>H5T_PERS_HARD</code> for hard conversion functions; - <code>H5T_PERS_SOFT</code> for soft conversion functions.</td></tr> - <tr> - <td valign="top"><em>const char *</em> <code>name</code></td> - <td valign="top">Name displayed in diagnostic output.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>src_id</code></td> - <td valign="top">Identifier of source datatype.</td></tr> - <tr> - <td valign="top"><em>hid_t</em> <code>dst_id</code></td> - <td valign="top">Identifier of destination datatype.</td></tr> - <tr> - <td valign="top"><em>H5T_conv_t</em> <code>func </code></td> - <td valign="top">Function to convert between source and destination datatypes.</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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.3</td> - <td valign="top"> - The following change occurred in the - <code>H5Tconv_t</code> function:<br> - - <code>nelmts</code> parameter type changed to - <em>size_t</em>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tset_cset" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetCset">H5Tset_cset</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_cset</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_cset_t</em> <code>cset</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets character set to be used. -<dt><strong>Description:</strong> - <dd><code>H5Tset_cset</code> sets the character set to be used. - <p> - HDF5 is able to distinguish between character sets of different - nationalities and to convert between them to the extent possible. - Valid character set types are: - <table> - <tr><td> - </td><td><code>H5T_CSET_ASCII</code> - </td><td>(<code>0</code>) - </td><td> - </td><td>Character set is US ASCII. - </td></tr> - </table> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of datatype to modify.</td></tr> - <tr> - <td valign="top"><em>H5T_cset_t</em> <code>cset </code></td> - <td valign="top">Character set type.</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> h5tset_cset_f - <dd> - <pre> -SUBROUTINE h5tset_cset_f(type_id, cset, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id - ! Datatype identifier - INTEGER, INTENT(IN) :: cset ! Character set type of a string datatype - ! Possible values of padding type are: - ! H5T_CSET_ASCII_F = 0 - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_cset_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 "H5Tset_ebias" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetEbias">H5Tset_ebias</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_ebias</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em> <code>ebias</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets the exponent bias of a floating-point type. -<dt><strong>Description:</strong> - <dd><code>H5Tset_ebias</code> sets the exponent bias of a floating-point type. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to set.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>ebias</code></td> - <td valign="top">Exponent bias 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> h5tset_ebias_f - <dd> - <pre> -SUBROUTINE h5tset_ebias_f(type_id, ebias, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: ebias ! Datatype exponent bias - ! of a floating-point type, - ! which cannot be 0 - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_ebias_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 "H5Tset_fields" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetFields">H5Tset_fields</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_fields</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em> <code>spos</code>, - <em>size_t</em> <code>epos</code>, - <em>size_t</em> <code>esize</code>, - <em>size_t</em> <code>mpos</code>, - <em>size_t</em> <code>msize</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets locations and sizes of floating point bit fields. -<dt><strong>Description:</strong> - <dd><code>H5Tset_fields</code> sets the locations and sizes of the various - floating-point bit fields. The field positions are bit positions in the - significant region of the datatype. Bits are numbered with the least - significant bit number zero. - - <P>Fields are not allowed to extend beyond the number of bits of - precision, nor are they allowed to overlap with one another. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to set.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>spos</code></td> - <td valign="top">Sign position, i.e., the bit offset of the floating-point - sign bit.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>epos</code></td> - <td valign="top">Exponent bit position.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>esize</code></td> - <td valign="top">Size of exponent in bits.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>mpos</code></td> - <td valign="top">Mantissa bit position.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>msize</code></td> - <td valign="top">Size of mantissa in bits.</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> h5tset_fields_f - <dd> - <pre> -SUBROUTINE h5tset_fields_f(type_id, epos, esize, mpos, msize, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: epos ! Exponent bit-position - INTEGER, INTENT(IN) :: esize ! Size of exponent in bits - INTEGER, INTENT(IN) :: mpos ! Mantissa bit-position - INTEGER, INTENT(IN) :: msize ! Size of mantissa in bits - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_fields_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 "H5Tset_inpad" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetInpad">H5Tset_inpad</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_inpad</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_pad_t</em> <code>inpad</code> - ) -<dt><strong>Purpose:</strong> - <dd>Fills unused internal floating point bits. -<dt><strong>Description:</strong> - <dd>If any internal bits of a floating point type are unused - (that is, those significant bits which are not part of the - sign, exponent, or mantissa), then <code>H5Tset_inpad</code> will be filled - according to the value of the padding value property <code>inpad</code>. - Valid padding types are: - <ul> <dl> - <dt>H5T_PAD_ZERO (<code>0</code>) - <dd>Set background to zeros. - <dt>H5T_PAD_ONE (<code>1</code>) - <dd>Set background to ones. - <dt>H5T_PAD_BACKGROUND (<code>2</code>) - <dd>Leave background alone. - </dl> </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of datatype to modify.</td></tr> - <tr> - <td valign="top"><em>H5T_pad_t</em> <code>pad </code></td> - <td valign="top">Padding type.</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> h5tset_inpad_f - <dd> - <pre> -SUBROUTINE h5tset_inpad_f(type_id, padtype, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id - ! Datatype identifier - INTEGER, INTENT(IN) :: padtype ! Padding type for unused bits - ! in floating-point datatypes. - ! Possible values of padding type are: - ! H5T_PAD_ZERO_F = 0 - ! H5T_PAD_ONE_F = 1 - ! H5T_PAD_BACKGROUND_F = 2 - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_inpad_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 "H5Tset_norm" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetNorm">H5Tset_norm</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_norm</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_norm_t</em> <code>norm</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets the mantissa normalization of a floating-point datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tset_norm</code> sets the mantissa normalization of - a floating-point datatype. Valid normalization types are: - <ul> <dl> - <dt>H5T_NORM_IMPLIED (<code>0</code>) - <dd>MSB of mantissa is not stored, always 1 - <dt>H5T_NORM_MSBSET (<code>1</code>) - <dd>MSB of mantissa is always 1 - <dt>H5T_NORM_NONE (<code>2</code>) - <dd>Mantissa is not normalized - </dl> </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of datatype to set.</td></tr> - <tr> - <td valign="top"><em>H5T_norm_t</em> <code>norm </code></td> - <td valign="top">Mantissa normalization type.</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> h5tset_norm_f - <dd> - <pre> -SUBROUTINE h5tset_norm_f(type_id, norm, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id - ! Datatype identifier - INTEGER, INTENT(IN) :: norm ! Mantissa normalization of a - ! floating-point datatype - ! Valid normalization types are: - ! H5T_NORM_IMPLIED_F(0) - ! MSB of mantissa is not stored, - ! always 1 - ! H5T_NORM_MSBSET_F(1) - ! MSB of mantissa is always 1 - ! H5T_NORM_NONE_F(2) - ! Mantissa is not normalized - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_norm_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 "H5Tset_offset" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetOffset">H5Tset_offset</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_offset</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em> <code>offset</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets the bit offset of the first significant bit. -<dt><strong>Description:</strong> - <dd><code>H5Tset_offset</code> sets the bit offset of the first significant bit. The - significant bits of an atomic datum can be offset from the beginning of - the memory for that datum by an amount of padding. The `offset' - property specifies the number of bits of padding that appear to the - "right of" the value. That is, if we have a 32-bit datum with 16-bits - of precision having the value 0x1122 then it will be laid out in - memory as (from small byte address toward larger byte addresses): - <br> - <br> - - <table border align=center cellpadding=4 width="80%"> - <tr align=center> - <th width="20%">Byte Position</th> - <th width="20%">Big-Endian Offset=0</th> - <th width="20%">Big-Endian Offset=16</th> - <th width="20%">Little-Endian Offset=0</th> - <th width="20%">Little-Endian Offset=16</th> - </tr> - <tr align=center> - <td>0:</td> - <td>[ pad]</td> - <td>[0x11]</td> - <td>[0x22]</td> - <td>[ pad]</td> - </tr> - <tr align=center> - <td>1:</td> - <td>[ pad]</td> - <td>[0x22]</td> - <td>[0x11]</td> - <td>[ pad]</td> - </tr> - <tr align=center> - <td>2:</td> - <td>[0x11]</td> - <td>[ pad]</td> - <td>[ pad]</td> - <td>[0x22]</td> - </tr> - <tr align=center> - <td>3:</td> - <td>[0x22]</td> - <td>[ pad]</td> - <td>[ pad]</td> - <td>[0x11]</td> - </tr> - </table> - -<P>If the offset is incremented then the total size is -incremented also if necessary to prevent significant bits of -the value from hanging over the edge of the datatype. - -<P>The offset of an H5T_STRING cannot be set to anything but -zero. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to set.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>offset</code></td> - <td valign="top">Offset of first significant bit.</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> h5tset_offset_f - <dd> - <pre> -SUBROUTINE h5tset_offset_f(type_id, offset, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: offset ! Datatype bit offset of - ! the first significant bit - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_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 "H5Tset_order" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetOrder">H5Tset_order</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_order</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_order_t</em><code>order</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets the byte ordering of an atomic datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tset_order</code> sets the byte ordering of an atomic datatype. - Byte orderings currently supported are: - <ul> <dl> - <dt>H5T_ORDER_LE (<code>0</code>) - <dd> Little-endian byte ordering (default). - <dt>H5T_ORDER_BE (<code>1</code>) - <dd> Big-endian byte ordering. - <dt>H5T_ORDER_VAX (<code>2</code>) - <dd>VAX mixed byte ordering (not currently supported). - </dl> </ul> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of datatype to set.</td></tr> - <tr> - <td valign="top"><em>H5T_order_t</em> <code>order </code></td> - <td valign="top">Byte ordering constant.</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> h5tset_order_f - <dd> - <pre> -SUBROUTINE h5tset_order_f(type_id, order, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: order ! Datatype byte order - ! Possible values are: - ! H5T_ORDER_LE_F - ! H5T_ORDER_BE_F - ! H5T_ORDER_VAX_F - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5tset_order_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 "H5Tset_overflow" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetOverflow">H5Tset_overflow</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tset_overflow</code>(<em>H5T_overflow_t</em> <code>func</code>) -<dt><strong>Purpose:</strong> - <dd>Sets the overflow handler to a specified function. -<dt><strong>Description:</strong> - <dd><code>H5Tset_overflow</code> sets the overflow handler - to be the function specified by <code>func</code>. - <code>func</code> will be called for all datatype conversions that - result in an overflow. - <p> - See the definition of <code>H5T_overflow_t</code> in - <code>H5Tpublic.h</code> for documentation - of arguments and return values. - The prototype for <code>H5T_overflow_t</code> is as follows:<br> - <code>herr_t (*H5T_overflow_t)(hid_t src_id, hid_t dst_id, - void *src_buf, void *dst_buf); - </code> - <p> - The NULL pointer may be passed to remove the overflow handler. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5T_overflow_t</em> <code>func </code></td> - <td valign="top">Overflow 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 "H5Tset_pad" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetPad">H5Tset_pad</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_pad</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_pad_t</em> <code>lsb</code>, - <em>H5T_pad_t</em> <code>msb</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets the least and most-significant bits padding types. -<dt><strong>Description:</strong> - <dd><code>H5Tset_pad</code> sets the least and most-significant bits padding types. - <dl> <ul> - <dt>H5T_PAD_ZERO (<code>0</code>) - <dd>Set background to zeros. - <dt>H5T_PAD_ONE (<code>1</code>) - <dd>Set background to ones. - <dt>H5T_PAD_BACKGROUND (<code>2</code>) - <dd>Leave background alone. - </ul> </dl> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of datatype to set.</td></tr> - <tr> - <td valign="top"><em>H5T_pad_t</em> <code>lsb </code></td> - <td valign="top">Padding type for least-significant bits.</td></tr> - <tr> - <td valign="top"><em>H5T_pad_t</em> <code>msb</code></td> - <td valign="top">Padding type for most-significant bits.</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> h5tset_pad_f - <dd> - <pre> -SUBROUTINE h5tset_pad_f(type_id, lsbpad, msbpad, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: lsbpad ! Padding type of the - ! least significant bit - INTEGER, INTENT(IN) :: msbpad ! Padding type of the - ! most significant bit - ! Possible values of padding - ! type are: - ! H5T_PAD_ZERO_F = 0 - ! H5T_PAD_ONE_F = 1 - ! H5T_PAD_BACKGROUND_F = 2 - ! H5T_PAD_ERROR_F = -1 - ! H5T_PAD_NPAD_F = 3 - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_pad_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 "H5Tset_precision" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetPrecision">H5Tset_precision</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_precision</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em><code>precision</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets the precision of an atomic datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tset_precision</code> sets the precision of an atomic datatype. - The precision is the number of significant bits which, unless padding - is present, is 8 times larger than the value returned by - <code>H5Tget_size</code>. - <P>If the precision is increased then the offset is decreased and then - the size is increased to insure that significant bits do not "hang - over" the edge of the datatype. - <P>Changing the precision of an H5T_STRING automatically changes the - size as well. The precision must be a multiple of 8. - <P>When decreasing the precision of a floating point type, set the - locations and sizes of the sign, mantissa, and exponent fields - first. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of datatype to set.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>precision </code></td> - <td valign="top">Number of bits of precision for datatype.</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> h5tset_precision_f - <dd> - <pre> -SUBROUTINE h5tset_precision_f(type_id, precision, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER, INTENT(IN) :: precision ! Datatype precision - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_precision_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 "H5Tset_sign" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetSign">H5Tset_sign</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_sign</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_sign_t</em> <code>sign</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets the sign property for an integer type. -<dt><strong>Description:</strong> - <dd><code>H5Tset_sign</code> sets the sign property for an integer type. - <dl> - <dt>H5T_SGN_NONE (<code>0</code>) - <dd>Unsigned integer type. - <dt>H5T_SGN_2 (<code>1</code>) - <dd>Two's complement signed integer type. - </dl> -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of datatype to set.</td></tr> - <tr> - <td valign="top"><em>H5T_sign_t</em> <code>sign </code></td> - <td valign="top">Sign type.</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> h5tset_sign_f - <dd> - <pre> -SUBROUTINE h5tset_sign_f(type_id, sign, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id - ! Datatype identifier - INTEGER, INTENT(IN) :: sign ! Sign type for an integer type - ! Possible values are: - ! Unsigned integer type - ! H5T_SGN_NONE_F = 0 - ! Two's complement signed integer type - ! H5T_SGN_2_F = 1 - ! or error value - ! H5T_SGN_ERROR_F=-1 - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_sign_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 "H5Tset_size" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetSize">H5Tset_size</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_size</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em><code>size</code> - ) -<dt><strong>Purpose:</strong> - <dd>Sets the total size for an atomic datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tset_size</code> sets the total size in bytes, - <code>size</code>, for a datatype. If the datatype is atomic and size - is decreased so that the significant bits of the datatype extend beyond - the edge of the new size, then the `offset' property is decreased - toward zero. If the `offset' becomes zero and the significant - bits of the datatype still hang over the edge of the new size, then - the number of significant bits is decreased. - The size set for a string should include space for the null-terminator - character, otherwise it will not be stored on (or retrieved from) disk. - Adjusting the size of a string automatically sets the precision - to 8*<code>size</code>. A compound datatype may increase in size, - but may not shrink. All datatypes must have a positive size. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id </code></td> - <td valign="top">Identifier of datatype to change size.</td></tr> - <tr> - <td valign="top"><em>size_t</em> <code>size</code></td> - <td valign="top">Size in bytes to modify datatype.</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> h5tset_size_f - <dd> - <pre> -SUBROUTINE h5tset_size_f(type_id, size, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - INTEGER(SIZE_T), INTENT(IN) :: size ! Datatype size - INTEGER, INTENT(OUT) :: hdferr ! Error code - ! 0 on success and -1 on failure -END SUBROUTINE h5tset_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 "H5Tset_strpad" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetStrpad">H5Tset_strpad</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_strpad</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_str_t</em> <code>strpad</code> - ) -<dt><strong>Purpose:</strong> - <dd>Defines the storage mechanism for character strings. -<dt><strong>Description:</strong> - <dd><code>H5Tset_strpad</code> defines the storage mechanism for the string. - <p> - The method used to store character strings differs with the - programming language: - <ul> - <li>C usually null terminates strings while - <li>Fortran left-justifies and space-pads strings. - </ul> - Valid string padding values, as passed in the parameter - <code>strpad</code>, are as follows: - <ul> <dl> - <dt>H5T_STR_NULLTERM (<code>0</code>) - <dd>Null terminate (as C does) - <dt>H5T_STR_NULLPAD (<code>1</code>) - <dd>Pad with zeros - <dt>H5T_STR_SPACEPAD (<code>2</code>) - <dd>Pad with spaces (as FORTRAN does) - </dl> </ul> - <p> - When converting from a longer string to a shorter string, - the behavior is as follows. - If the short string is <code>H5T_STR_NULLPAD</code> or - <code>H5T_STR_SPACEPAD</code>, then the string is simply truncated. - If the short string is <code>H5T_STR_NULLTERM</code>, it is - truncated and a null terminator is appended. - <p> - When converting from a shorter string to a longer string, - the long string is padded on the end by appending nulls or spaces. - - -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">Identifier of datatype to modify.</td></tr> - <tr> - <td valign="top"><em>H5T_str_t</em> <code>strpad </code></td> - <td valign="top">String padding type.</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> h5tset_strpad_f - <dd> - <pre> -SUBROUTINE h5tset_strpad_f(type_id, strpad, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id - ! Datatype identifier - INTEGER, INTENT(IN) :: strpad ! String padding method for a string datatype - ! Possible values of padding type are: - ! Pad with zeros (as C does): - ! H5T_STR_NULLPAD_F(0) - ! Pad with spaces (as FORTRAN does): - ! H5T_STR_SPACEPAD_F(1) - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_strpad_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 "H5Tset_tag" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetTag">H5Tset_tag</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tset_tag</code>(<em>hid_t</em> <code>type_id</code> - <em>const char</em> *<code>tag</code> - ) -<dt><strong>Purpose:</strong> - <dd>Tags an opaque datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tset_tag</code> tags an opaque datatype <code>type_id</code> - with a descriptive ASCII identifier,<code> tag</code>. - <p> - <code>tag</code> is intended to provide a concise description; - the maximum size is hard-coded in the HDF5 Library as 256 bytes - (<code>H5T_OPAQUE_TAG_MAX</code>). -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>type_id</code></td> - <td valign="top">IN: Datatype identifier for the opaque datatype to be tagged.</td></tr> - <tr> - <td valign="top"><em>const char</em> *<code>tag </code></td> - <td valign="top">IN: Descriptive ASCII string with which the - opaque datatype is to be tagged.</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> h5tset_tag_f - <dd> - <pre> -SUBROUTINE h5tset_tag_f(type_id, tag, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier - CHARACTER(LEN=*), INTENT(IN) :: tag ! Unique ASCII string with which the - ! opaque datatype is to be tagged - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tset_tag_f - </pre> - -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.5</td> - <td valign="top"> - The <code>H5T_OPAQUE_TAG_MAX</code> macro constant, - specifying the maximum size of an opaque datatype tag, - was added in <code>H5Tpublic.h</code>.</td></tr> - </table></ul> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tunregister" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Unregister">H5Tunregister</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tunregister</code>(<em>H5T_conv_t</em> <code>func</code> - ) -<dt><strong>Purpose:</strong> - <dd>Removes a conversion function from all conversion paths. -<dt><strong>Description:</strong> - <dd><code>H5Tunregister</code> removes a conversion function from all conversion paths. - <P> - The conversion function pointer type declaration is described in - <a href="#Datatype-Register">H5Tregister</a>. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5T_conv_t</em> <code>func </code></td> - <td valign="top">Function to remove from conversion paths.</td> - </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"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.3</td> - <td valign="top"> - The following change occurred in the - <code>H5Tconv_t</code> function:<br> - - <code>nelmts</code> parameter type changed to - <em>size_t</em>.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Tvlen_create" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-VLCreate">H5Tvlen_create</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Tvlen_create</code>(<em>hid_t </em><code>base_type_id</code> - ) -<dt><strong>Purpose:</strong> - <dd>Creates a new variable-length datatype. -<dt><strong>Description:</strong> - <dd><code>H5Tvlen_create</code> creates a new variable-length (VL) datatype. - <p> - The base datatype will be the datatype that the sequence is composed of, - characters for character strings, vertex coordinates for polygon lists, etc. - The base type specified for the VL datatype can be of any HDF5 datatype, - including another VL datatype, a compound datatype or an atomic datatype. - <p> - When necessary, use <code>H5Tget_super</code> to determine the base type - of the VL datatype. - <p> - The datatype identifier returned from this function should be - released with <code>H5Tclose</code> or resource leaks will result. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>hid_t</em> <code>base_type_id </code></td> - <td valign="top">Base type of datatype to create.</td></tr> - </table></ul> -<dt><strong>See Also:</strong> - <dd><a href="RM_H5D.html#Dataset-GetVLBuf">H5Dget_vlen_buf_size</a> - <dd><a href="RM_H5D.html#Dataset-VLReclaim">H5Dvlen_reclaim</a> -<dt><strong>Returns:</strong> - <dd>Returns datatype identifier if successful; - otherwise returns a negative value. -<dt><strong>Fortran90 Interface:</strong> h5tvlen_create_f - <dd> - <pre> -SUBROUTINE h5tvlen_create_f(type_id, vltype_id, hdferr) - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of base type - ! Base type can only be atomic - INTEGER(HID_T), INTENT(OUT) :: vltype_id ! VL datatype identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -END SUBROUTINE h5tvlen_create_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.4.5</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - +<?php include("H5T/H5Tarray_create.htm"); ?> +<?php include("H5T/H5Tclose.htm"); ?> +<?php include("H5T/H5Tcommit.htm"); ?> +<?php include("H5T/H5Tcommitted.htm"); ?> +<?php include("H5T/H5Tconvert.htm"); ?> +<?php include("H5T/H5Tcopy.htm"); ?> +<?php include("H5T/H5Tcreate.htm"); ?> +<?php include("H5T/H5Tdetect_class.htm"); ?> +<?php include("H5T/H5Tenum_create.htm"); ?> +<?php include("H5T/H5Tenum_insert.htm"); ?> +<?php include("H5T/H5Tenum_nameof.htm"); ?> +<?php include("H5T/H5Tenum_valueof.htm"); ?> +<?php include("H5T/H5Tequal.htm"); ?> +<?php include("H5T/H5Tfind.htm"); ?> +<?php include("H5T/H5Tget_array_dims.htm"); ?> +<?php include("H5T/H5Tget_array_ndims.htm"); ?> +<?php include("H5T/H5Tget_class.htm"); ?> +<?php include("H5T/H5Tget_cset.htm"); ?> +<?php include("H5T/H5Tget_ebias.htm"); ?> +<?php include("H5T/H5Tget_fields.htm"); ?> +<?php include("H5T/H5Tget_inpad.htm"); ?> +<?php include("H5T/H5Tget_member_class.htm"); ?> +<?php include("H5T/H5Tget_member_index.htm"); ?> +<?php include("H5T/H5Tget_member_name.htm"); ?> +<?php include("H5T/H5Tget_member_offset.htm"); ?> +<?php include("H5T/H5Tget_member_type.htm"); ?> +<?php include("H5T/H5Tget_member_value.htm"); ?> +<?php include("H5T/H5Tget_native_type.htm"); ?> +<?php include("H5T/H5Tget_nmembers.htm"); ?> +<?php include("H5T/H5Tget_norm.htm"); ?> +<?php include("H5T/H5Tget_offset.htm"); ?> +<?php include("H5T/H5Tget_order.htm"); ?> +<?php include("H5T/H5Tget_overflow.htm"); ?> +<?php include("H5T/H5Tget_pad.htm"); ?> +<?php include("H5T/H5Tget_precision.htm"); ?> +<?php include("H5T/H5Tget_sign.htm"); ?> +<?php include("H5T/H5Tget_size.htm"); ?> +<?php include("H5T/H5Tget_strpad.htm"); ?> +<?php include("H5T/H5Tget_super.htm"); ?> +<?php include("H5T/H5Tget_tag.htm"); ?> +<?php include("H5T/H5Tinsert.htm"); ?> +<?php include("H5T/H5Tis_variable_str.htm"); ?> +<?php include("H5T/H5Tlock.htm"); ?> +<?php include("H5T/H5Topen.htm"); ?> +<?php include("H5T/H5Tpack.htm"); ?> +<?php include("H5T/H5Tregister.htm"); ?> +<?php include("H5T/H5Tset_cset.htm"); ?> +<?php include("H5T/H5Tset_ebias.htm"); ?> +<?php include("H5T/H5Tset_fields.htm"); ?> +<?php include("H5T/H5Tset_inpad.htm"); ?> +<?php include("H5T/H5Tset_norm.htm"); ?> +<?php include("H5T/H5Tset_offset.htm"); ?> +<?php include("H5T/H5Tset_order.htm"); ?> +<?php include("H5T/H5Tset_overflow.htm"); ?> +<?php include("H5T/H5Tset_pad.htm"); ?> +<?php include("H5T/H5Tset_precision.htm"); ?> +<?php include("H5T/H5Tset_sign.htm"); ?> +<?php include("H5T/H5Tset_size.htm"); ?> +<?php include("H5T/H5Tset_strpad.htm"); ?> +<?php include("H5T/H5Tset_tag.htm"); ?> +<?php include("H5T/H5Tunregister.htm"); ?> +<?php include("H5T/H5Tvlen_create.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -4282,10 +506,11 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 21 January 2009"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/RM_H5Z.html b/doc/html/RM_H5Z.html index cea9ebf..fd2e8e6 100644 --- a/doc/html/RM_H5Z.html +++ b/doc/html/RM_H5Z.html @@ -171,503 +171,10 @@ data compression. <!-- NEW PAGE --> <!-- HEADER RIGHT " " --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Zfilter_avail" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Compression-FilterAvail">H5Zfilter_avail</a> - <dt><strong>Signature:</strong> - <dd><em>htri_t</em> <code>H5Zfilter_avail</code>(<em>H5Z_filter_t</em> <code>filter</code>) - <dt><strong>Purpose:</strong> - <dd>Determines whether a filter is available. - <dt><strong>Description:</strong> - <dd><code>H5Zfilter_avail</code> determines whether the filter - specified in <code>filter</code> is available to the application. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5Z_filter_t</em> <code>filter </code></td> - <td valign="top">IN: Filter identifier. - See the introduction to this section of the reference manual - for a list of valid filter identifiers.</td></tr> - </table></ul> - <dt><strong>Returns:</strong> - <dd>Returns a Boolean value (<code>TRUE</code>/<code>FALSE</code>) - if successful; - otherwise returns a negative value. - <dt><strong>Fortran90 Interface:</strong> h5zfilter_avail_f - <dd> - <pre> -SUBROUTINE h5zfilter_avail_f(filter, status, hdferr) - IMPLICIT NONE - INTEGER, INTENT(IN) :: filter ! Filter - ! Valid values are: - ! H5Z_FILTER_DEFLATE_F - ! H5Z_FILTER_SHUFFLE_F - ! H5Z_FILTER_FLETCHER32_F - ! H5Z_FILTER_SZIP_F - LOGICAL, INTENT(OUT) :: status ! Flag indicating whether - ! filter is available: - ! .TRUE. - ! .FALSE. -END SUBROUTINE h5zfilter_avail_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Zget_filter_info" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Compression-GetFilterInfo">H5Zget_filter_info</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> - <code>H5Zget_filter_info</code>( - <em>H5Z_filter_t</em> <code>filter</code>, - <em>unsigned int *</em><code>filter_config_flags</code> - ) -<dt><strong>Purpose:</strong> - <dd>Retrieves information about a filter. -<dt><strong>Description:</strong> - <dd> - <code>H5Zget_filter_info</code> retrieves information about a filter. - At present, this means that the function retrieves a - filter's configuration flags, indicating whether the filter is - configured to decode data, to encode data, neither, or both. - <p> - If <code>filter_config_flags</code> is not set to <small>NULL</small> - prior to the function call, the returned parameter contains a - bit field specifying the available filter configuration. - The configuration flag values can then be determined through - a series of bitwise <small>AND</small> operations, as described below. - <p> - Valid filter configuration flags include the following: - <table> - <tr valign="top"><td><code> </code></td> - <td><code>H5Z_FILTER_CONFIG_ENCODE_ENABLED</code> </td> - <td>Encoding is enabled for this filter. - <br> - In Fortran, <code>H5Z_FILTER_ENCODE_ENABLED_F</code>. - </td></tr> - <tr valign="top"><td> </td> - <td><code>H5Z_FILTER_CONFIG_DECODE_ENABLED</code> </td> - <td>Decoding is enabled for this filter. - <br> - In Fortran, <code>H5Z_FILTER_DECODE_ENABLED_F</code>. - </td></tr> - <tr><td> </td> - <td colspan="2" align="right"><small>(These flags - are defined for C in the HDF5 Library source code file - <code>H5Zpublic.h</code>.)</small> - </td></tr> - </table> - A bitwise <small>AND</small> of the returned - <code>filter_config_flags</code> and a valid - filter configuration flag will reveal whether - the related configuration option is available. - For example, if the value of - <br> - <code> - H5Z_FILTER_CONFIG_ENCODE_ENABLED - & - filter_config_flags</code> - <br> - is true, i.e., greater than <code>0</code> (zero), - the queried filter is configured to encode data; - if the value is <code>FALSE</code>, - i.e., equal to <code>0</code> (zero), - the filter is not so configured. - <p> - If a filter is not encode-enabled, the corresponding - <code>H5Pset_*</code> function will return an error if the - filter is added to a dataset creation property list (which is - required if the filter is to be used to encode that dataset). - For example, if the <code>H5Z_FILTER_CONFIG_ENCODE_ENABLED</code> - flag is not returned for the SZIP filter, - <code>H5Z_FILTER_SZIP</code>, a call to <code>H5Pset_szip</code> - will fail. - <p> - If a filter is not decode-enabled, the application will not be - able to read an existing file encoded with that filter. - <p> - This function should be called, and the returned - <code>filter_config_flags</code> analyzed, before calling - any other function, such as <code>H5Pset_szip</code>, - that might require a particular filter configuration. - -<dt><strong>Parameters:</strong> - <dl> - <dt><em>H5Z_filter_t</em> <code>filter</code> - <dd>IN: Identifier of the filter to query. - See the introduction to this section of the reference manual - for a list of valid filter identifiers. - <dt><em>unsigned int *</em><code>filter_config_flags</code> - <dd>OUT: A bit field encoding the returned filter information - </dl> -<dt><strong>Returns:</strong> - <dd>Returns a non-negative value on success, - a negative value on failure. - -<!-- NEW PAGE --> -<dt><strong>Fortran90 Interface:</strong> - <dd> - <pre> -SUBROUTINE h5zget_filter_info_f(filter, config_flags, hdferr) - - IMPLICIT NONE - INTEGER, INTENT(IN) :: filter ! Filter, may be one of the - ! following: - ! H5Z_FILTER_DEFLATE_F - ! H5Z_FILTER_SHUFFLE_F - ! H5Z_FILTER_FLETCHER32_F - ! H5Z_FILTER_SZIP_F - INTEGER, INTENT(OUT) :: config_flags ! Bit field indicating whether - ! a filter's encoder and/or - ! decoder are available - INTEGER, INTENT(OUT) :: hdferr ! Error code - -END SUBROUTINE h5zfilter_avail_f - </pre> - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td> - <td valign="top" align="left"> - </td> - <td valign="top" align="left"> - <strong>Fortran90</strong></td></tr> - <tr> - <td valign="top">1.6.3</td> - <td valign="top"> - Function introduced in this release.</td> - <td valign="top"> </td> - <td valign="top"> - Fortran subroutine introduced in this - release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Zregister" --> -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Compression-Register">H5Zregister</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Zregister</code>(<em>const H5Z_class_t *</em><code>filter_class</code>) - ) -<dt><strong>Purpose:</strong> - <dd>Registers new filter. -<dt><strong>Description:</strong> - <dd><code>H5Zregister</code> registers a new filter with the - HDF5 library. - <p> - Making a new filter available to an application is a two-step - process. The first step is to write - the three filter callback functions described below: - <code>can_apply</code>, <code>set_local</code>, and <code>filter</code>. - This call to <code>H5Zregister</code>, - <span class="termEmphasis">registering</span> the filter with the - library, is the second step. - The <code>can_apply</code> and <code>set_local</code> - fields can be set to <code>NULL</code> - if they are not required for the filter being registered. - <p> - <code>H5Zregister</code> accepts a single parameter, a pointer to - a buffer for the <code>filter_class</code> data structure. - That data structure is defined as follows: - <pre> - typedef struct H5Z_class_t { - H5Z_filter_t id; - const char *name; - H5Z_can_apply_func_t can_apply; - H5Z_set_local_func_t set_local; - H5Z_func_t filter; - } H5Z_class_t; - </pre> - - <p> - <code>id</code> is the identifier for the new filter. - This is a user-defined value between - <code>H5Z_FILTER_RESERVED</code> and <code>H5Z_FILTER_MAX</code>, - both of which are defined in the HDF5 source file - <code>H5Zpublic.h</code>. - <p> - <code>name</code> is used for debugging, - may contain a descriptive name for the filter, - and may be the null pointer. - <p> - <code>can_apply</code>, described in detail below, - is a user-defined callback function which determines whether - the combination of the dataset creation property list values, - the datatype, and the dataspace represent a valid combination - to apply this filter to. - <p> - <code>set_local</code>, described in detail below, - is a user-defined callback function which sets any parameters that - are specific to this dataset, based on the combination of the - dataset creation property list values, the datatype, and the - dataspace. - <p> - <code>filter</code>, described in detail below, - is a user-defined callback function which performs the action - of the filter. - <p> - The statistics associated with a filter are not reset - by this function; they accumulate over the life of the library. - - <p> - <strong>The callback functions</strong> - <br> - Before <code>H5Zregister</code> can link a filter into an - application, three callback functions must be defined - as described in the HDF5 Library header file <code>H5Zpublic.h</code>. - - <p> - <u>The <i>can apply</i> callback function</u> is defined as follows:<br> - <dir> - <em>typedef herr_t</em> (*<code>H5Z_can_apply_func_t</code>) - (<em>hid_t</em> <code>dcpl_id</code>, - <em>hid_t</em> <code>type_id</code>, - <em>hid_t</em> <code>space_id</code>) - </dir> - <p> - Before a dataset is created, the <i>can apply</i> callbacks for - any filters used in the dataset creation property list are called - with the dataset's dataset creation property list, <code>dcpl_id</code>, - the dataset's datatype, <code>type_id</code>, and - a dataspace describing a chunk, <code>space_id</code>, - (for chunked dataset storage). - <p> - This callback must determine whether the combination of the - dataset creation property list settings, the datatype, and the - dataspace represent a valid combination to which to apply this filter. - For example, an invalid combination may involve - the filter not operating correctly on certain datatypes, - on certain datatype sizes, or on certain sizes of the chunk dataspace. - <p> - This callback can be the <code>NULL</code> pointer, in which case - the library will assume that the filter can be applied to a dataset with - any combination of dataset creation property list values, datatypes, - and dataspaces. - <p> - The <i>can apply</i> callback function must return - a positive value for a valid combination, - zero for an invalid combination, and - a negative value for an error. - - <p> - <u>The <i>set local</i> callback function</u> is defined as follows:<br> - <dir> - <em>typedef herr_t</em> (*<code>H5Z_set_local_func_t</code>) - (<em>hid_t</em> <code>dcpl_id</code>, - <em>hid_t</em> <code>type_id</code>, - <em>hid_t</em> <code>space_id</code>) - </dir> - <p> - After the <i>can apply</i> callbacks are checked for a new dataset, - the <i>set local</i> callback functions for any filters used in the - dataset creation property list are called. - These callbacks receive - <code>dcpl_id</code>, the dataset's private copy of the dataset - creation property list passed in to <code>H5Dcreate</code> - (i.e. not the actual property list passed in to <code>H5Dcreate</code>); - <code>type_id</code>, the datatype identifier passed in to - <code>H5Dcreate</code>, - which is not copied and should not be modified; and - <code>space_id</code>, a dataspace describing the chunk - (for chunked dataset storage), which should also not be modified. - <p> - The <i>set local</i> callback must set any filter parameters that are - specific to this dataset, based on the combination of the - dataset creation property list values, the datatype, and the dataspace. - For example, some filters perform different actions based on - different datatypes, datatype sizes, numbers of dimensions, - or dataspace sizes. - <p> - The <i>set local</i> callback may be the <code>NULL</code> pointer, - in which case, the library will assume that there are - no dataset-specific settings for this filter. - <p> - The <i>set local</i> callback function must return - a non-negative value on success and - a negative value for an error. - - <p> - <u>The <i>filter operation</i> callback function</u>, - defining the filter's operation on the data, is defined as follows: - <dir> - <em>typedef size_t</em> (*<code>H5Z_func_t</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>, - <em>size_t</em> <code>nbytes</code>, - <em>size_t *</em><code>buf_size</code>, - <em>void **</em><code>buf</code>) - </dir> - - <p> - The parameters <code>flags</code>, <code>cd_nelmts</code>, - and <code>cd_values</code> are the same as for the function - <a href="RM_H5P.html#Property-SetFilter"><code>H5Pset_filter</code></a>. - The one exception is that an additional flag, - <code>H5Z_FLAG_REVERSE</code>, is set when - the filter is called as part of the input pipeline. - <p> - The parameter <code>*buf</code> points to the input buffer - which has a size of <code>*buf_size</code> bytes, - <code>nbytes</code> of which are valid data. - <p> - The filter should perform the transformation in place if - possible. If the transformation cannot be done in place, - then the filter should allocate a new buffer with - <code>malloc()</code> and assign it to <code>*buf</code>, - assigning the allocated size of that buffer to - <code>*buf_size</code>. - The old buffer should be freed by calling <code>free()</code>. - <p> - If successful, the <i>filter operation</i> callback function - returns the number of valid bytes of data contained in <code>*buf</code>. - In the case of failure, the return value is <code>0</code> (zero) - and all pointer arguments are left unchanged. -<dt><strong>Note:</strong> - <dd>The <code>H5Zregister</code> interface is substantially revised - from the HDF5 Release 1.4.x series. - The <code>H5Z_class_t</code> struct and - the <i>set local</i> and <i>can apply</i> callback functions - first appeared in HDF5 Release 1.6. -<dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>const H5Z_class_t *</em><code>filter_class </code></td> - <td valign="top">IN: A pointer to a buffer for the struct - containing filter-definition information.</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> - - </pre> ---> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - This function is substantially revised in - Release 1.6.0 with a new <code>H5Z_class_t</code> - struct and new <em>set local</em> and <em>can apply</em> - callback functions.</td></tr> - </table></ul> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "H5Zunregister" --> -<hr> -<dl> - <dt><strong>Name:</strong> <a name="Compression-Unregister">H5Zunregister</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Zunregister</code>(<em>H5Z_filter_t</em> <code>filter</code>) - <dt><strong>Purpose:</strong> - <dd>Unregisters a filter. - <dt><strong>Description:</strong> - <dd><code>H5Zunregister</code> unregisters the filter - specified in <code>filter</code>. - <p> - After a call to <code>H5Zunregister</code>, the filter - specified in <code>filter</code> will no longer be - available to the application. - <dt><strong>Parameters:</strong> - <ul><table> - <tr> - <td valign="top"><em>H5Z_filter_t</em> <code>filter </code></td> - <td valign="top">IN: Identifier of the filter to be unregistered. - See the introduction to this section of the reference manual - for a list of identifiers for standard filters - distributed with the HDF5 Library.</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> h5zunregister_f - <dd> - <pre> -SUBROUTINE h5zunregister_f(filter, hdferr) - IMPLICIT NONE - INTEGER, INTENT(IN) :: filter ! Filter; one of the possible values: - ! 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, and -1 on failure -END SUBROUTINE h5zunregister_f - </pre> - - <!--<dt><strong>Non-C API(s):</strong> - <dd> - - <img src="Graphics/Java.gif"> - <img src="Graphics/C++.gif"> - --> - <dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>C</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Function introduced in this release.</td></tr> - </table></ul> -</dl> - +<?php include("H5Z/H5Zfilter_avail.htm"); ?> +<?php include("H5Z/H5Zget_filter_info.htm"); ?> +<?php include("H5Z/H5Zregister.htm"); ?> +<?php include("H5Z/H5Zunregister.htm"); ?> <!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> @@ -721,9 +228,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 26 November 2008"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/Tools.html b/doc/html/Tools.html index 144b02e..bee7012 100644 --- a/doc/html/Tools.html +++ b/doc/html/Tools.html @@ -190,2840 +190,24 @@ installed with HDF5. --> <!-- NEW PAGE --> -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5dump" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-Dump">h5dump</a> -<dt><strong>Syntax:</strong> - <dd><code>h5dump - [</code><em>OPTIONS</em><code>]</code> <em>file</em> -<dt><strong>Purpose:</strong> - <dd>Displays HDF5 file contents. -<dt><strong>Description:</strong> - <dd><code>h5dump</code> enables the user to examine - the contents of an HDF5 file and dump those contents, in human - readable form, to an ASCII file. - <p> - <code>h5dump</code> dumps HDF5 file content to standard output. - It can display the contents of the entire HDF5 file or - selected objects, which can be groups, datasets, a subset of a - dataset, links, attributes, or datatypes. - </p> - <p> - The <code>--header</code> option displays object header - information only. - </p> - <p> - Names are the absolute names of the objects. <code>h5dump</code> - displays objects in the order same as the command order. If a - name does not start with a slash, <code>h5dump</code> begins - searching for the specified object starting at the root group. - </p> - <p> - If an object is hard linked with multiple names, - <code>h5dump</code> displays the content of the object in the - first occurrence. Only the link information is displayed in later - occurrences. - </p> - <p> - <code>h5dump</code> assigns a name for any unnamed datatype in - the form of - <code>#</code><em>oid1</em><code>:</code><em>oid2</em>, where - <em>oid1</em> and <em>oid2</em> are the object identifiers - assigned by the library. The unnamed types are displayed within - the root group. - </p> - <p> - Datatypes are displayed with standard type names. For example, - if a dataset is created with <code>H5T_NATIVE_INT</code> type - and the standard type name for integer on that machine is - <code>H5T_STD_I32BE</code>, <code>h5dump</code> displays - <code>H5T_STD_I32BE</code> as the type of the dataset. - </p> - <p> - <code>h5dump</code> can also dump a subset of a dataset. - This feature operates in much the same way as hyperslabs in HDF5; - the parameters specified on the command line are passed to the - function <a href="RM_H5S.html#Dataspace-SelectHyperslab"> - <code>H5Sselect_hyperslab</code></a> and the resulting selection - is displayed. - </p> - <p> - The <code>h5dump</code> output is described in detail in the - <a href="ddl.html"><cite>DDL for HDF5</cite></a>, the - <cite>Data Description Language</cite> document. - </p> - <p> - <em>Note</em>: It is not permissible to specify multiple - attributes, datasets, datatypes, groups, or soft links with one - flag. For example, one may not issue the command - <br> - - <font size=-1>WRONG:</font> - <code>h5dump -a /attr1 /attr2 foo.h5</code> - </br> - to display both <code>/attr1</code> and <code>/attr2</code>. - One must issue the following command: - <br> - - <font size=-1>CORRECT:</font> - <code>h5dump -a /attr1 -a /attr2 foo.h5</code> - </br> - </p> - <p> - It's possible to select the file driver with which to open the - HDF5 file by using the --filedriver (-f) command-line option. - Acceptable values for the --filedriver option are: "sec2", - "family", "split", "multi", and "stream". If the file driver flag - isn't specified, then the file will be opened with each driver in - turn and in the order specified above until one driver succeeds - in opening the file. - </p> - <p> - One byte integer type data is displayed in decimal by default. When - displayed in ASCII, a non-printable code is displayed in 3 octal - digits preceeded by a back-slash unless there is a C language escape - sequence for it. For example, CR and LF are printed as \r and \n. - Though the NUL code is represented as \0 in C, it is printed as - \000 to avoid ambiguity as illustrated in the following 1 byte - char data (since this is not a string, embedded NUL is possible). - <pre> - 141 142 143 000 060 061 062 012 - a b c \0 0 1 2 \n </pre> - h5dump prints them as "abc\000012\n". But if h5dump prints NUL as \0, - the output is "abc\0012\n" which is ambiguous. - </p> - -<dt><strong>XML Output:</strong> - <dd>With the <code>--xml</code> option, <code>h5dump</code> generates - XML output. This output contains a complete description of the file, - marked up in XML. The XML conforms to the HDF5 Document Type - Definition (DTD) available at - <a href="http://www.hdfgroup.org/DTDs/HDF5-File.dtd"> - <code>http://www.hdfgroup.org/DTDs/HDF5-File.dtd</code></a>. - <p> - The XML output is suitable for use with other tools, including the - <a href="http://www.hdfgroup.org/hdf-java-html" - target="ToolsExt">HDF5 Java Tools</a>. - -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><code>-h</code> or - <code>--help</code></dt> - <dd>Print a usage message and exit.</dd> - <dt><code>-n</code> or - <code>--contents</code></dt> - <dd>Print a list of the file contents and exit.</dd> - <dt><code>-B</code> or - <code>--bootblock</code></dt> - <dd>Print the contents of the boot block.</dd> - <dt><code>-H</code> or - <code>--header</code></dt> - <dd>Print the header only; no data is displayed.</dd> - <dt><code>-A</code> - <dd>Print the header and value of attributes; - data of datasets is not displayed.</dd> - <dt><code>-i</code> or - <code>--object-ids</code></dt> - <dd>Print the object ids.</dd> - <dt><code>-r</code> or - <code>--string</code></dt> - <dd>Print 1-bytes integer datasets as ASCII.</dd> - <dt><code>-e</code></dt> - <dd>Escape non-printing characters.</dd> - <dt><code>-V</code> or - <code>--version</code></dt> - <dd>Print version number and exit.</dd> - <dt><code>-a <em>P</em></code> or - <code>--attribute=<em>P</em></code></dt> - <dd>Print the specified attribute.</dd> - <dt><code>-d <em>P</em></code> or - <code>--dataset=<em>P</em></code></dt> - <dd>Print the specified dataset.</dd> - <dt><code>-y</code></dt> - <dd>Do not print array indices with data.</dd> - <dt><code>-p</code> or - <code>--properties</code></dt> - <dd>Print dataset filters, storage layout, and fill value.</dd> - <dt><code>-f <em>D</em></code> or - <code>--filedriver=<em>D</em></code></dt> - <dd>Specify which driver to open the file with.</dd> - <dt><code>-g <em>P</em></code> or - <code>--group=<em>P</em></code></dt> - <dd>Print the specified group and all members.</dd> - <dt><code>-l <em>P</em></code> or - <code>--soft-link=<em>P</em></code></dt> - <dd>Print the value(s) of the specified soft link.</dd> - <dt><code>-o <em>F</em></code> or - <code>--output=<em>F</em></code></dt> - <dd>Output raw data into file F.</dd> - <dt><code>-t <em>P</em></code> or - <code>--datatype=<em>P</em></code></dt> - <dd>Print the specified named datatype.</dd> - <dt><code>-w <em>N</em></code> or - <code>--width=<em>N</em></code></dt> - <dd>Set the number of columns of output.</dd> - <dt><code>-b <em>B</em></code> or - <code>--binary=<em>B</em></code></dt> - <dd>Output dataset to a binary file - using the datatype specified by <code><em>B</em></code>. - <br> - <code><em>B</em></code> must have one of the following values: - <br> - - <code>LE </code> - Little-endian - <br> - - <code>BE </code> - Big-endian - <br> - - <code>MEMORY </code> - Memory datatype - <br> - - <code>FILE </code> - File datatype - <br> - Recommended usage is with the <code>-d</code> and <code>-o</code> - options. - </dd> - <dt><code>-x <em></em></code> or - <code>--xml</code></dt> - <dd>Output XML using XML schema (default) instead of DDL.</dd> - <dt><code>-u <em></em></code> or - <code>--use-dtd</code></dt> - <dd>Output XML using XML DTD instead of DDL.</dd> - <dt><code>-D <em>U</em></code> or - <code>--xml-dtd=<em>U</em></code></dt> - <dd>In XML output, refer to the DTD or schema at <em>U</em> - instead of the default schema/DTD.</dd> - <dt><code>-X <em>S</em></code> or - <code>--xml-dns=<em>S</em></code></dt> - <dd>In XML output, (XML Schema) use qualified names in the XML:<br> - - ":": no namespace, default: "hdf5:"</dd> - <dt><code>--</code></dt> - <dd>Indicates that the following argument is not an option. - E.g., to dump a file called `-f', use h5dump -- -f. - <br> - <i>(This option is necessary only when the name of the file to - be examined starts with a dash (<code>-</code>), which could - confuse the tool’s command-line parser.)</i> - <dt><em>file</em></dt> - <dd>The file to be examined.</dd> - - <dt> - <dt>The next four options enable subsetting, which is - accomplished by selecting a hyperslab from a dataset. - These options mirror the techniques used by an HDF5 - application when performing hyperslab selection. - The <code>start</code> and <code>count</code> parameters - are mandatory if subsetting is to be performed; - the <code>stride</code> and <code>block</code> parameters - are optional and will default to <code>1</code> (one). - <dt><code>-s <em>L</em></code> or - <code>--start=<em>L</em></code></dt> - <dd>Offset of start of subsetting selection. - <br> - Default: the beginning of the dataset.</dd> - <dt><code>-S <em>L</em></code> or - <code>--stride=<em>L</em></code></dt> - <dd>Hyperslab stride. - <br> - Default: 1 in all dimensions.</dd> - <dt><code>-c <em>L</em></code> or - <code>--count=<em>L</em></code></dt> - <dd>Number of blocks to include in the selection.</dd> - <dt><code>-k <em>L</em></code> or - <code>--block=<em>L</em></code></dt> - <dd>Size of block in hyperslab. - <br> - Default: 1 in all dimensions.</dd> - - <dt> - <dt>Subsetting parameters can also be expressed in a convenient - compact form, as follows: - <br> - - <code>--dataset="/foo/mydataset[START;STRIDE;COUNT;BLOCK]"</code> - <br> - All of the semicolons (<code>;</code>) are required, even when - a parameter value is not specified. - When not specified, default parameter values are used. - - <dt> - <dt>The option parameters listed above are defined as follows: - <dd><em>D</em> -- which file driver to use in opening the - file. Acceptable values are "sec2", "family", "split", - "multi", and "stream". Without the file driver flag the - file will be opened with each driver in turn and in the - order specified above until one driver succeeds in - opening the file.</dd> - <dd><em>P</em> -- The full path from the root group to - the object</dd> - <dd><em>F</em> -- A filename</dd> - <dd><em>N</em> -- An integer greater than 1</dd> - <dd><em>L</em> -- A list of integers, the number of which is - equal to the number of dimensions in the dataspace being - queried</dd> - <dd><em>U</em> -- A URI (as defined in - [<a href="http://www.ietf.org/rfc/rfc2396.txt">IETF RFC 2396</a>], - updated by - [<a href="http://www.ietf.org/rfc/rfc2732.txt">IETF RFC 2732</a>]) - that refers to the DTD to be used to validate the XML</dd> - </dl> - <p> - -<dt><strong>Examples:</strong> - <ol> - <li>Dump the group <code>/GroupFoo/GroupBar</code> in the file - <code>quux.h5</code>: - <blockquote> - <code>h5dump -g /GroupFoo/GroupBar quux.h5</code> - </blockquote> - <li>Dump the dataset <code>Fnord</code>, which is in the group - <code>/GroupFoo/GroupBar</code> in the file <code>quux.h5</code>: - <blockquote> - <code>h5dump -d /GroupFoo/GroupBar/Fnord quux.h5</code> - </blockquote> - <li>Dump the attribute <code>metadata</code> of the dataset - <code>Fnord</code>, which is in group - <code>/GroupFoo/GroupBar</code> in the file <code>quux.h5</code>: - <blockquote> - <code>h5dump -a /GroupFoo/GroupBar/Fnord/metadata quux.h5</code> - </blockquote> - <li>Dump the attribute <code>metadata</code> which is an - attribute of the root group in the file <code>quux.h5</code>: - <blockquote> - <code>h5dump -a /metadata quux.h5</code> - </blockquote> - <li>Produce an XML listing of the file <code>bobo.h5</code>, - saving the listing in the file <code>bobo.h5.xml</code>: - <blockquote> - <code>h5dump --xml bobo.h5 > bobo.h5.xml</code> - </blockquote> - <li>Dump a subset of the dataset <code>/GroupFoo/databar/</code> - in the file <code>quux.h5</code> - <blockquote> - <code>h5dump -d /GroupFoo/databar --start="1,1" --stride="2,3" - <br> - --count="3,19" --block="1,1" quux.h5</code> - </blockquote> - <li>The same example, using the short form to specify the - subsetting parameters: - <blockquote> - <code>h5dump -d "/GroupFoo/databar[1,1;2,3;3,19;1,1]" quux.h5</code> - </blockquote> - <li>Dump a binary copy of the dataset <code>/GroupD/FreshData/</code> - in the file <code>quux.h5</code>, with data written in little-endian - form, to the output file <code>FreshDataD.bin</code>:<br> - <code> - h5dump -d "/GroupD/FreshData" -b LE -o "FreshDataD.bin" - quux.h5</code> - <br> - </ol> -<dt><strong>Current Status:</strong> - <dd>The current version of <code>h5dump</code> displays the - following information: - <ul> - <li>Group - <ul> - <li>group attribute (see Attribute) - <li>group member - </ul> - <li>Dataset - <ul> - <li>dataset attribute (see Attribute) - <li>dataset type (see Datatype) - <li>dataset space (see Dataspace) - <li>dataset data - </ul> - <li>Attribute - <ul> - <li>attribute type (see Datatype) - <li>attribute space (see Dataspace) - <li>attribute data - </ul> - <li>Datatype - <ul> - <li>integer type - <br> - - H5T_STD_I8BE, H5T_STD_I8LE, H5T_STD_I16BE, ... - <li>floating point type - <br> - - H5T_IEEE_F32BE, H5T_IEEE_F32LE, H5T_IEEE_F64BE, ... - <li>string type - <li>compound type - <br> - - named, unnamed and transient compound type - <br> - - integer, floating or string type member - <li>opaque types - <li>reference type - <br> - - object references - <br> - - data regions - <li>enum type - <li>variable-length datatypes - <br> - - atomic types only - <br> - - scalar or single dimensional array of variable-length - types supported - </ul> - <li>Dataspace - <ul> - <li>scalar and simple space - </ul> - <li>Soft link - <li>Hard link - <li>Loop detection - </ul> - -<dt><strong>See Also:</strong> - <ul> - <li>HDF5 Data Description Language syntax at - <a href="ddl.html"><cite>DDL for HDF5</cite></a> - - <li>HDF5 XML Schema at - <a href="http://www.hdfgroup.org/DTDs/HDF5-File.xsd">http://www.hdfgroup.org/DTDs/HDF5-File.xsd</a> - - <li>HDF5 XML information at - <a href="http://www.hdfgroup.org/HDF5/XML">http://www.hdfgroup.org/HDF5/XML/</a> - </ul> - -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5ls" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-Ls">h5ls</a> -<dt><strong>Syntax:</strong> - <dd><code>h5ls - [</code><em>OPTIONS</em><code>]</code><em> - file</em><code> - [</code><em>OBJECTS...</em><code>]</code> -<dt><strong>Purpose:</strong> - <dd>Prints information about a file or dataset. -<dt><strong>Description:</strong> - <dd><code>h5ls</code> prints selected information about file objects - in the specified format. -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><code>-h</code> or - <code>-?</code> or - <code>--help</code> - <dd>Print a usage message and exit. - <dt><code>-a</code> or - <code>--address</code> - <dd>Print addresses for raw data. - <dt><code>-d</code> or <code>--data</code> - <dd>Print the values of datasets. - <dt><code>-e</code> or - <code>--errors</code> - <dd>Show all HDF5 error reporting. - <dt><code>-f</code> or - <code>--full</code> - <dd>Print full path names instead of base names. - <dt><code>-g</code> or - <code>--group</code> - <dd>Show information about a group, not its contents. - <dt><code>-l</code> or - <code>--label</code> - <dd>Label members of compound datasets. - <dt><code>-r</code> or - <code>--recursive</code> - <dd>List all groups recursively, avoiding cycles. - <dt><code>-s</code> or - <code>--string</code> - <dd>Print 1-bytes integer datasets as ASCII. - <dt><code>-S</code> or - <code>--simple</code> - <dd>Use a machine-readable output format. - <dt><code>-w</code><em>N</em> or - <code>--width=</code><em>N</em> - <dd>Set the number of columns of output. - <dt><code>-v</code> or - <code>--verbose</code> - <dd>Generate more verbose output. - <dt><code>-V</code> or - <code>--version</code> - <dd>Print version number and exit. - <dt><code>-x</code> or - <code>--hexdump</code> - <dd>Show raw data in hexadecimal format. - <dt><em>file</em> - <dd>The file name may include a printf(3C) integer format - such as <code>%%05d</code> to open a file family. - <dt><em>objects</em> - <dd>Each object consists of an HDF5 file name optionally - followed by a slash and an object name within the file - (if no object is specified within the file then the - contents of the root group are displayed). The file name - may include a <code>printf(3C)</code> integer format such - as "%05d" to open a file family. - </dl> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> ---> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5diff" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-Diff">h5diff</a> -<dt><strong>Syntax:</strong> - <dd><code>h5diff </code> <em>file1</em> <em>file2</em> - [<em>OPTIONS</em>] - [<em>object1</em> [<em>object2</em> ] ] -<dt><strong>Purpose:</strong> - <dd>Compares two HDF5 files and reports the differences. -<dt><strong>Description:</strong> - <dd><code>h5diff</code> is a command line tool that compares - two HDF5 files, <em>file1</em> and <em>file2</em>, and - reports the differences between them. - <p> - Optionally, <code>h5diff</code> will compare two objects - within these files. - If only one object, <em>object1</em>, is specified, - <code>h5diff</code> will compare - <em>object1</em> in <em>file1</em> - with <em>object1</em> in <em>file2</em>. - In two objects, <em>object1</em> and <em>object2</em>, - are specified, <code>h5diff</code> will compare - <em>object1</em> in <em>file1</em> - with <em>object2</em> in <em>file2</em>. - These objects must be HDF5 datasets. - <dd> - <p> - <em>object1</em> and <em>object2</em> must be expressed - as absolute paths from the respective file's root group. - <dd> - <p> - <code>h5diff</code> has the following four modes of output:<br> - Normal mode: print the number of differences found and where they occurred<br> - Report mode (-r): print the above plus the differences<br> - Verbose mode (-v): print the above plus a list of objects and warnings<br> - Quiet mode (-q): do not print output (h5diff always returns an exit code of - 1 when differences are found). - <dd> - <p> - Additional information, with several sample cases, - can be found in the document - <a href="http://www.hdfgroup.org/HDF5/h5diff/h5diff_design.html"> - <cite>H5diff Examples</cite></a>. - - - <p> - <b><code>h5diff</code> and NaNs:</b> - <br> - <code>h5diff</code> detects when a value in a dataset is a NaN - (a "not a number" value), but does not differentiate among various - types of NaNs. - Thus, when one NaN is compared with another NaN, <code>h5diff</code> - treats them as equal; when a NaN is compared with a valid number, - <code>h5diff</code> treats them as not equal. - - -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><em>file1</em> - <dt><em>file2</em> - <dd>The HDF5 files to be compared. - <dt><code>-h</code> - <dd>help message. - <dt><code>-r</code> - <dd>Report mode. Print the differences.<dt><code>-v</code> - <dd>Verbose mode. Print the differences, list of objects, warnings.<dt><code>-q</code> - <dd>Quiet mode. Do not print output. - <dt><code>-n</code> <em>count</em> - <dd>Print difference up to <em>count</em> differences, - then stop. - <em>count</em> must be a positive integer. - <dt><code>-d</code> <em>delta</em> - <dd>Print only differences that are greater than the - limit <em>delta</em>. - <em>delta</em> must be a positive number. - The comparison criterion is whether the - absolute value of the difference of - two corresponding values is greater than - <em>delta</em> - <br>(e.g., <code> |a–b| > <em>delta</em></code>, - where <code>a</code> is a value in <em>file1</em> and - <code>b</code> is a value in <em>file2</em>). - <dt><code>-p</code> <em>relative</em> - <dd>Print only differences that are greater than a - relative error. - <em>relative</em> must be a positive number. - The comparison criterion is whether the - absolute value of the difference <code>1</code> - and the ratio of two corresponding values - is greater than <em>relative</em> - (e.g., <code>|1–(b/a)| > <em>relative</em></code> - where <code>a</code> is a value in <em>file1</em> and - <code>b</code> is a value in <em>file2</em>). - <dt><em>object1</em> - <dt><em>object2</em> - <dd>Specific object(s) within the files to be compared. - </dl> -<!-- NEW PAGE --> -<dt><strong>Examples:</strong> - <dd>The following <code>h5diff</code> call compares - the object <code>/a/b</code> in <code>file1</code> - with the object <code>/a/c</code> in <code>file2</code>:<br> - <code> h5diff file1 file2 /a/b /a/c</code> - <dd>This <code>h5diff</code> call compares - the object <code>/a/b</code> in <code>file1</code> - with the same object in <code>file2</code>:<br> - <code> h5diff file1 file2 /a/b</code> - <dd>And this <code>h5diff</code> call compares - all objects in both files:<br> - <code> h5diff file1 file2</code> - <br> - file1 and file2 can be the same file. Use:<br> - <code> h5diff </code><code> file1 file1 /g1/dset1 /g1/dset2</code> <br> - to compare <code>/g1/dset1</code> and <code>/g1/dset2</code> in the same file<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> ---> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Command Line Tool</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Tool introduced in this release.</td></tr> - </table></ul> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5repack" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-Repack">h5repack</a> -<dt><strong>Syntax:</strong> - <dd><code>h5repack </code> - <code>[-h]</code> - <code>[-v]</code> - <code>[-m</code> <em>number</em><code>]</code> - <code>[-n]</code> - <code>[-f '</code><em>filter</em><code>']</code> - <code>[-l '</code><em>layout</em><code>']</code> - <code>[-e</code> <em>file</em><code>]</code> - <em>in_file</em> - <em>out_file</em> -<dt><strong>Purpose:</strong> - <dd>Copies an HDF5 file to a new file with or without compression/chunking. -<dt><strong>Description:</strong> - <dd><code>h5repack</code> is a command line tool that - applies HDF5 filters to an input file <em>in_file</em>, - saving the output in a new output file, <em>out_file</em>. - - <p></p> -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><code>-h</code> - <dd>Help message - <dt><code>-v</code> - <dd>Verbose output mode - <dt><code>-m</code> <em>number</em> - <dd>Do not apply the filter to objects which size in bytes is - smaller than number. If no size is specified a minimum of 1024 - bytes is assumed. - <dt><code>-n</code> - <dd>Use native HDF5 datatypes when repacking. - <br> - (Default behavior is to use original file datatypes.) - <br> - <em>Note that this is a change in default behavior; - prior to Release 1.6.6, <code>h5repack</code> generated - files only with native datatypes.</em> - <dt><code>-f</code> <em>filter</em> - <dd>Filter type - <p> - <em>filter</em> is a string with the following format: - <dir> - <list of objects> : <name of filter> - = <filter parameters> - <p> - <list of objects> is a comma separated list of object - names meaning apply compression only to those objects. - If no object names are specified, the filter is applied to - all objects. - <p> - <name of filter> can be one of the following: - <br> - <code>GZIP</code>, to apply the HDF5 GZIP filter - (GZIP compression) - <br> - <code>SZIP</code>, to apply the HDF5 SZIP filter - (SZIP compression) - <br> - <code>SHUF</code>, to apply the HDF5 shuffle filter - <br> - <code>FLET</code>, to apply the HDF5 checksum filter - <br> - <code>NONE</code>, to remove the filter - <p> - <filter parameters> conveys optional compression - information: - <br> - <code>SHUF</code> (no parameter) - <br> - <code>FLET</code> (no parameter) - <br> - <code>GZIP=</code><deflation level> from 1-9 -<!-- NEW PAGE --> - <br> - <code>SZIP=</code><pixels per block,coding> - <br> - Pixels per block is a even number in the range 2-32. - <br> - Coding method is <code>EC</code> or <code>NN</code>. - </dir> - <dt><code>-l</code> <em>layout</em> - <dd>Layout type - <p> - <em>layout</em> is a string with the following format:<br> - <dir> - <list of objects> : <layout type>=<layout parameters> - <p> - <list of objects> is a comma separated list of object - names, meaning that layout information is supplied for those - objects. If no object names are specified, the layout - is applied to all objects. - <p> - <layout type> can be one of the following: - <br> - <code>CHUNK</code>, to apply chunking layout - <br> - <code>COMPA</code>, to apply compact layout - <br> - <code>CONTI</code>, to apply continuous layout - <p> - <layout parameters> is present only in the - <code>CHUNK</code> case and specifies the chunk size of - each dimension in the following format with no intervening - spaces: - <br> - <code><em>dim_1</em> × <em>dim_2</em> × ... - <em>dim_n</em></code> - </dd> - </dir> - <dt><code>-e</code> <em>file</em> - <dd>File containing the -f and -l options - (only filter and layout flags) - <dt><em>in_file</em> - <dd>Input HDF5 file - <dt><em>out_file</em> - <dd>Output HDF5 file - </dl> - <p></p> -<dt><strong>Examples:</strong> - <dd> - <ol> - <li><code>h5repack -f GZIP=1 -v file1 file2 </code> - <br> - Applies GZIP compression to all objects in <code>file1</code> - and saves the output in <code>file2</code>. - Prints verbose output. - <br> - <li><code>h5repack -f dset1:SZIP=8,NN file1 file2 </code> - <br> - Applies SZIP compression only to object <code>dset1</code>. - <br> - <li><code>h5repack -l dset1,dset2:CHUNK=20x10 file1 file2</code> - <br> - Applies chunked layout to objects <code>dset1</code> - and <code>dset2</code>. - <br> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5repart" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-Repart">h5repart</a> -<dt><strong>Syntax:</strong> - <dd><code>h5repart - [-v] - [-V] - [-[b|m]</code><em>N</em><code>[g|m|k]]</code> - <em>source_file - dest_file</em> -<dt><strong>Purpose:</strong> - <dd>Repartitions a file or family of files. -<dt><strong>Description:</strong> - <dd><code>h5repart</code> splits a single file into a family of - files, joins a family of files into a single file, or copies - one family of files to another while changing the size of the - family members. <code>h5repart</code> can also be used to - copy a single file to a single file with holes. - <p> - Sizes associated with the <code>-b</code> and <code>-m</code> - options may be suffixed with <code>g</code> for gigabytes, - <code>m</code> for megabytes, or <code>k</code> for kilobytes. - <p> - File family names include an integer <code>printf</code> - format such as <code>%d</code>. - -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><code>-v</code> - <dd>Produce verbose output. - <dt><code>-V</code> - <dd>Print a version number and exit. - <dt><code>-b</code><em>N</em> - <dd>The I/O block size, defaults to 1kB - <dt><code>-m</code><em>N</em> - <dd>The destination member size or 1GB - <dt><em>source_file</em> - <dd>The name of the source file - <dt><em>dest_file</em> - <dd>The name of the destination files - </dl> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> ---> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5import" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-Import">h5import</a> -<dt><strong>Syntax:</strong> - <dd><code>h5import - <em>infile</em> <em>in_options</em> - [<em>infile</em> <em>in_options</em> <b>...</b>] - -o <em>outfile</em> - </code> - <dd><code>h5import - <em>infile</em> <em>in_options</em> - [<em>infile</em> <em>in_options</em> <b>...</b>] - -outfile <em>outfile</em> - </code> - <dd><code>h5import -h</code> - <dd><code>h5import -help</code> -<dt><strong>Purpose:</strong> - <dd>Imports data into an existing or new HDF5 file. -<dt><strong>Description:</strong> - <dd><code>h5import</code> converts data - from one or more ASCII or binary files, <code><i>infile</i></code>, - into the same number of HDF5 datasets - in the existing or new HDF5 file, <code><i>outfile</i></code>. - Data conversion is performed in accordance with the - user-specified type and storage properties - specified in <code><em>in_options</em></code>. - <p> - The primary objective of <code>h5import</code> is to - import floating point or integer data. - The utility's design allows for future versions that - accept ASCII text files and store the contents as a - compact array of one-dimensional strings, - but that capability is not implemented in HDF5 Release 1.6. - - <p> - <b>Input data and options:</b><br> - Input data can be provided in one of the following forms: - <ul><li>As an ASCII, or plain-text, file containing either - floating point or integer data - <li>As a binary file containing either 32-bit or - 64-bit native floating point data - <li>As a binary file containing native integer data, - signed or unsigned and - 8-bit, 16-bit, 32-bit, or 64-bit. - <li>As an ASCII, or plain-text, file containing text data. - (This feature is not implemented in HDF5 Release 1.6.) - </ul> - Each input file, <code><i>infile</i></code>, - contains a single <em>n</em>-dimensional - array of values of one of the above types expressed - in the order of fastest-changing dimensions first. - <p> - Floating point data in an ASCII input file may be - expressed either in the fixed-point form (e.g., 323.56) - or in scientific notation (e.g., 3.23E+02) - in an ASCII input file. - <p> - Each input file can be associated with options specifying - the datatype and storage properties. - These options can be specified either as - <em>command line arguments</em> - or in a <em>configuration file</em>. - Note that exactly one of these approaches must be used with a - single input file. - <p> - Command line arguments, best used with simple input files, - can be used to specify - the class, size, dimensions of the input data and - a path identifying the output dataset. - <p> - The recommended means of specifying input data options - is in a configuration file; this is also the only means of - specifying advanced storage features. - See further discussion in "The configuration file" below. - <p> - The only required option for input data is dimension sizes; - defaults are available for all others. - <p> - <code>h5import</code> will accept up to 30 input files in a single call. - Other considerations, such as the maximum length of a command line, - may impose a more stringent limitation. - - <p> - <b>Output data and options:</b><br> - The name of the output file is specified following - the <code>-o</code> or <code>-output</code> option - in <code><i>outfile</i></code>. - The data from each input file is stored as a separate dataset - in this output file. - <code><i>outfile</i></code> may be an existing file. - If it does not yet exist, <code>h5import</code> will create it. - <p> - Output dataset information and storage properties can be - specified only by means of a configuration file. - <table width=100% border=0> - <tr valign=top align=left><td width=30> </td><td> - Dataset path - </td><td>If the groups in the path leading to the dataset - do not exist, <code>h5import</code> will create them.<br> - If no group is specified, the dataset will be created - as a member of the root group.<br> - If no dataset name is specified, the default name is - <code>dataset1</code> for the first input dataset, - <code>dataset2</code> for the second input dataset, - <code>dataset3</code> for the third input dataset, - etc.<br> - <code>h5import</code> does not overwrite a pre-existing - dataset of the specified or default name. - When an existing dataset of a conflicting name is - encountered, <code>h5import</code> quits with an error; - the current input file and any subsequent input files - are not processed. - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Output type - </td><td>Datatype parameters for output data - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Output data class - </td><td>Signed or unsigned integer or floating point - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Output data size - </td><td>8-, 16-, 32-, or 64-bit integer<br> - 32- or 64-bit floating point - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Output architecture - </td><td><code>IEEE</code><br> - <code>STD</code><br> - <code>NATIVE</code> (Default)<br> - Other architectures are included in the <code>h5import</code> design - but are not implemented in this release. - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Output byte order - </td><td>Little- or big-endian.<br> - Relevant only if output architecture - is <code>IEEE</code>, <code>UNIX</code>, or <code>STD</code>; - fixed for other architectures. - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Dataset layout and storage <br> - properties - </td><td>Denote how raw data is to be organized on the disk. - If none of the following are specified, - the default configuration is contiguous layout and with no compression. - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Layout - </td><td>Contiguous (Default)<br> - Chunked - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - External storage - </td><td>Allows raw data to be stored in a non-HDF5 file or in an - external HDF5 file.<br> - Requires contiguous layout. - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Compressed - </td><td>Sets the type of compression and the - level to which the dataset must be compressed.<br> - Requires chunked layout. - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Extendable - </td><td>Allows the dimensions of the dataset increase over time - and/or to be unlimited.<br> - Requires chunked layout. - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - Compressed and<br> - extendable - </td><td>Requires chunked layout. - </td></tr> - <tr valign=top align=left><td width=30> </td><td> - - </td><td> - </td></tr> - </table> - <p> - - <p> - <b>Command-line arguments:</b><br> - The <code>h5import</code> syntax for the command-line arguments, - <code><em>in_options</em></code>, is as follows: - <table width=100% border=0> - <tr><td> </td><td> - <code>h5import <em>infile</em> -d <em>dim_list</em> - [-p <em>pathname</em>] - [-t <em>input_class</em>] - [-s <em>input_size</em>] - [<em>infile</em> ...] - -o <em>outfile</em></code><br> - or<br> - <code>h5import <em>infile</em> -dims <em>dim_list</em> - [-path <em>pathname</em>] - [-type <em>input_class</em>] - [-size <em>input_size</em>] - [<em>infile</em> ...] - -outfile <em>outfile</em></code><br> - or<br> - <code>h5import <em>infile</em> -c <em>config_file</em> - [<em>infile</em> ...] - -outfile <em>outfile</em></code> - </td></tr> - </table> - Note the following: - If the <code>-c <em>config_file</em></code> option is used with - an input file, no other argument can be used with that input file. - If the <code>-c <em>config_file</em></code> option is not used with - an input data file, the <code>-d <em>dim_list</em></code> argument - (or <code>-dims <em>dim_list</em></code>) - must be used and any combination of the remaining options may be used. - Any arguments used must appear in <em>exactly</em> the order used - in the syntax declarations immediately above. - - <p> - <b>The configuration file:</b><br> - A configuration file is specified with the - <code>-c <em>config_file</em></code> option: - <table border=0> - <tr><td> </td><td> - <code>h5import <em>infile</em> -c <em>config_file</em> - [<em>infile</em> -c <em>config_file2</em> ...] - -outfile <em>outfile</em></code> - </td></tr> - </table> - <p> - The configuration file is an ASCII file and must be - organized as "Configuration_Keyword Value" pairs, - with one pair on each line. - For example, the line indicating that - the input data class (configuration keyword <code>INPUT-CLASS</code>) - is floating point in a text file (value <code>TEXTFP</code>) - would appear as follows:<br> - <code> INPUT-CLASS TEXTFP</code> - <p> - A configuration file may have the following keywords each - followed by one of the following defined values. - One entry for each of the first two keywords, - <code>RANK</code> and <code>DIMENSION-SIZES</code>, - is required; all other keywords are optional. - - <p> - <table width=100% border=0> - <tr align=left><th valign=top align=left> - <hr>Keyword <br><code> </code>Value - </th><th valign=top align=left><hr>Description - </th></tr> - - <tr valign=top align=left><td> - <hr><code>RANK </code> - </td><td><hr>The number of dimensions in the dataset. (Required) - </td></tr> - <tr valign=top align=left><td> - <code> <em>rank</em></code> - </td><td>An integer specifying the number of dimensions in the dataset.<br> - Example: <code> 4 </code> for a 4-dimensional dataset. - </td></tr> - - <tr valign=top align=left><td> - <hr><code>DIMENSION-SIZES</code> - </td><td><hr>Sizes of the dataset dimensions. (Required) - </td></tr> - <tr valign=top align=left><td> - <code> <em>dim_sizes</em></code> - </td><td>A string of space-separated integers - specifying the sizes of the dimensions in the dataset. - The number of sizes in this entry must match the value in - the <code>RANK</code> entry. - The fastest-changing dimension must be listed first.<br> - Example: <code> 4 3 4 38 </code> for a 38x4x3x4 dataset. - </td></tr> - -<!-- NEW PAGE --> - <tr valign=top align=left><td> - <hr><code>PATH</code> - </td><td><hr>Path of the output dataset. - </td></tr> - <tr valign=top align=left><td> - <code> <em>path</em></code> - </td><td>The full HDF5 pathname identifying the output dataset - relative to the root group within the output file.<br> - I.e., <code><em>path</em></code> is a string consisting of - optional group names, each followed by a slash, - and ending with a dataset name. - If the groups in the path do no exist, they will be - created.<br> - If <code>PATH</code> is not specified, the output dataset - is stored as a member of the root group and the - default dataset name is - <code>dataset1</code> for the first input dataset, - <code>dataset2</code> for the second input dataset, - <code>dataset3</code> for the third input dataset, etc.<br> - Note that <code>h5import</code> does not overwrite a - pre-existing dataset of the specified or default name. - When an existing dataset of a conflicting name is - encountered, <code>h5import</code> quits with an error; - the current input file and any subsequent input files - are not processed.<br> - Example: The configuration file entry - <table border=0> - <tr><td> </td><td> - <code>PATH grp1/grp2/dataset1</code> - </td></tr> - </table> - indicates that the output dataset <code>dataset1</code> will - be written in the group <code>grp2/</code> which is in - the group <code>grp1/</code>, - a member of the root group in the output file. - </td></tr> - - <tr valign=top align=left><td> - <hr><code>INPUT-CLASS </code> - </td><td><hr>A string denoting the type of input data. - </td></tr> - <tr valign=top align=left><td> - <code> TEXTIN</code> - </td><td>Input is signed integer data in an ASCII file. - </td></tr> - <tr valign=top align=left><td> - <code> TEXTUIN</code> - </td><td>Input is unsigned integer data in an ASCII file. - </td></tr> - <tr valign=top align=left><td> - <code> TEXTFP</code> - </td><td>Input is floating point data in - either fixed-point notation (e.g., 325.34) - or scientific notation (e.g., 3.2534E+02) - in an ASCII file. - </td></tr> -<!-- - <tr valign=top align=left><td> - <code> TEXTFPE</code> - </td><td>Input is floating point data in scientific notation (e.g., 3.2534E+02) - in an ASCII file.<br> - (Not implemented in this release.) - </td></tr> ---> - <tr valign=top align=left><td> - <code> IN</code> - </td><td>Input is signed integer data in a binary file. - </td></tr> - <tr valign=top align=left><td> - <code> UIN</code> - </td><td>Input is unsigned integer data in a binary file. - </td></tr> - <tr valign=top align=left><td> - <code> FP</code> - </td><td>Input is floating point data in a binary file. (Default) - </td></tr> - <tr valign=top align=left><td> - <code> STR</code> - </td><td>Input is character data in an ASCII file. - With this value, the configuration keywords - <code>RANK</code>, <code>DIMENSION-SIZES</code>, - <code>OUTPUT-CLASS</code>, <code>OUTPUT-SIZE</code>, - <code>OUTPUT-ARCHITECTURE</code>, and <code>OUTPUT-BYTE-ORDER</code> - will be ignored.<br> - (Not implemented in this release.) - </td></tr> - - <tr valign=top align=left><td> - <hr><code>INPUT-SIZE</code> - </td><td><hr>An integer denoting the size of the input data, in bits. - </td></tr> - <tr valign=top align=left><td> - <code> 8</code><br> - <code> 16</code><br> - <code> 32</code><br> - <code> 64</code> - </td><td>For signed and unsigned integer data: - <code>TEXTIN</code>, <code>TEXTUIN</code>, - <code>IN</code>, or <code>UIN</code>. - (Default: <code> 32</code>) - </td></tr> - <tr valign=top align=left><td> - <code> 32</code><br> - <code> 64</code> - </td><td>For floating point data: - <code>TEXTFP</code> - <!-- - , <code>TEXTFPE</code>, - --> - or <code>FP</code>. - (Default: <code> 32</code>) - </td></tr> - -<!-- NEW PAGE --> - <tr valign=top align=left><td> - <hr><code>OUTPUT-CLASS </code> - </td><td><hr>A string denoting the type of output data. - </td></tr> - <tr valign=top align=left><td> - <code> IN</code> - </td><td>Output is signed integer data.<br> - (Default if <code>INPUT-CLASS</code> is - <code>IN</code> or <code>TEXTIN</code>) - </td></tr> - <tr valign=top align=left><td> - <code> UIN</code> - </td><td>Output is unsigned integer data.<br> - (Default if <code>INPUT-CLASS</code> is - <code>UIN</code> or <code>TEXTUIN</code>) - </td></tr> - <tr valign=top align=left><td> - <code> FP</code> - </td><td>Output is floating point data.<br> - (Default if <code>INPUT-CLASS</code> is not specified or is - <code>FP</code> or <code>TEXTFP</code>) - </td></tr> - <tr valign=top align=left><td> - <code> STR</code> - </td><td>Output is character data, - to be written as a 1-dimensional array of strings.<br> - (Default if <code>INPUT-CLASS</code> is <code>STR</code>)<br> - (Not implemented in this release.) - </td></tr> - - <tr valign=top align=left><td> - <hr><code>OUTPUT-SIZE</code> - </td><td><hr>An integer denoting the size of the output data, in bits. - </td></tr> - <tr valign=top align=left><td> - <code> 8</code><br> - <code> 16</code><br> - <code> 32</code><br> - <code> 64</code> - </td><td>For signed and unsigned integer data: - <code>IN</code> or <code>UIN</code>. - (Default: Same as <code>INPUT-SIZE</code>, else <code> 32</code>) - </td></tr> - <tr valign=top align=left><td> - <code> 32</code><br> - <code> 64</code> - </td><td>For floating point data: - <code>FP</code>. - (Default: Same as <code>INPUT-SIZE</code>, else <code> 32</code>) - </td></tr> - - <tr valign=top align=left><td> - <hr><code>OUTPUT-ARCHITECTURE</code> - </td><td><hr>A string denoting the type of output architecture. - </td></tr> - <tr valign=top align=left><td> - <code> NATIVE</code><br> - <code> STD</code><br> - <code> IEEE</code><br> - <code> INTEL</code> *<br> - <code> CRAY</code> *<br> - <code> MIPS</code> *<br> - <code> ALPHA</code> *<br> - <code> UNIX</code> * - </td><td>See the "Predefined Atomic Types" section - in the "HDF5 Datatypes" chapter - of the <cite>HDF5 User's Guide</cite> - for a discussion of these architectures.<br> - Values marked with an asterisk (*) are not implemented in this release.<br> - (Default: <code>NATIVE</code>) - </td></tr> - - <tr valign=top align=left><td> - <hr><code>OUTPUT-BYTE-ORDER</code> - </td><td><hr>A string denoting the output byte order. - This entry is ignored if the <code>OUTPUT-ARCHITECTURE</code> - is not specified or if it is not specified as <code>IEEE</code>, - <code>UNIX</code>, or <code>STD</code>. - </td></tr> - <tr valign=top align=left><td> - <code> BE</code> - </td><td>Big-endian. (Default) - </td></tr> - <tr valign=top align=left><td> - <code> LE</code> - </td><td>Little-endian. - </td></tr> - -<!-- NEW PAGE --> - <tr valign=top align=left><td colspan="2"> - <hr>The following options are disabled by default, making - the default storage properties no chunking, no compression, - no external storage, and no extensible dimensions. - </td></tr> - - <tr valign=top align=left><td> - <hr><code>CHUNKED-DIMENSION-SIZES</code><br> - </td><td><hr>Dimension sizes of the chunk for chunked output data. - </td></tr> - <tr valign=top align=left><td> - <code> <em>chunk_dims</em></code> - </td><td>A string of space-separated integers specifying the - dimension sizes of the chunk for chunked output data. - The number of dimensions must correspond to the value - of <code>RANK</code>.<br> - The presence of this field indicates that the - output dataset is to be stored in chunked layout; - if this configuration field is absent, - the dataset will be stored in contiguous layout. - </td></tr> - - <tr valign=top align=left><td> - <hr><code>COMPRESSION-TYPE</code> - </td><td><hr>Type of compression to be used with chunked storage. - Requires that <code>CHUNKED-DIMENSION-SIZES</code> - be specified. - </td></tr> - <tr valign=top align=left><td> - <code> GZIP</code> - </td><td>Gzip compression.<br> - Other compression algorithms are not implemented - in this release of <code>h5import</code>. - </td></tr> - - <tr valign=top align=left><td> - <hr><code>COMPRESSION-PARAM</code> - </td><td><hr>Compression level. - Required if <code>COMPRESSION-TYPE</code> is specified. - </td></tr> - <tr valign=top align=left><td> - <code> 1</code> through <code>9</code> - </td><td>Gzip compression levels: - <code>1</code> will result in the fastest compression - while <code>9</code> will result in the - best compression ratio.<br> - (Default: 6. The default gzip compression level is 6; - not all compression methods will have a default level.) - </td></tr> - - <tr valign=top align=left><td> - <hr><code>EXTERNAL-STORAGE</code> - </td><td><hr>Name of an external file in which to create the output dataset. - Cannot be used with <code>CHUNKED-DIMENSIONS-SIZES</code>, - <code>COMPRESSION-TYPE</code>, OR <code>MAXIMUM-DIMENSIONS</code>. - </td></tr> - <tr valign=top align=left><td> - <code> <i>external_file</i> </code> - <!-- THE EXTRA NON-BREAKING SPACES AT THE END OF THE PRECEDING LINE --> - <!-- ARE PADDING SPACES TO ENSURE THE PROPER FORMATTING OF THIS TABLE. --> - <!-- DO NOT REMOVE THEM!!!!!!!!!!!!! --> - </td><td>A string specifying the name of an external file. - </td></tr> - - <tr valign=top align=left><td> - <hr><code>MAXIMUM-DIMENSIONS</code> - </td><td><hr>Maximum sizes of all dimensions. - Requires that <code>CHUNKED-DIMENSION-SIZES</code> be specified. - </td></tr> - <tr valign=top align=left><td> - <code> <em>max_dims</em></code> - </td><td>A string of space-separated integers specifying the - maximum size of each dimension of the output dataset. - A value of <code>-1</code> for any dimension implies - unlimited size for that particular dimension.<br> - The number of dimensions must correspond to the value - of <code>RANK</code>.<br> - </td></tr> - - <tr valign=top align=left><td><hr></td><td><hr></td></tr> - </table> - - <p> -<!-- NEW PAGE --> - <b>The <code>help</code> option:</b><br> - The help option, expressed as one of - <table width=100% border=0> - <tr><td> </td><td> - <code>h5import -h</code><br> - or<br> - <code>h5import -help</code><br> - </td></tr> - <tr><td colspan="2">prints the <code>h5import</code> usage summary</td></tr> - <tr><td> </td><td> - <code> - h5import -h[elp], OR<br> - h5import <infile> <options> - [<infile> <options>...] - -o[utfile] <outfile></code> - </td></tr> - <tr><td colspan="2">then exits.</td></tr> - </table> - <p> - -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><code>infile(s)</code> - <dd>Name of the Input file(s). - <dt><code>in_options</code> - <dd>Input options. Note that while only the <code>-dims</code> argument - is required, arguments must used in the order in which they are listed below. - <dl> - <dt><code>-d <em>dim_list</em></code> - <dt><code>-dims <em>dim_list</em></code> - <dd>Input data dimensions. - <code><em>dim_list</em></code> is a string of - comma-separated numbers with no spaces - describing the dimensions of the input data. - For example, a 50 × 100 2-dimensional array would be - specified as <code>-dims 50,100</code>.<br> - Required argument: if no configuration file is used, - this command-line argument is mandatory. - <dt><code>-p <em>pathname</em></code> - <dt><code>-pathname <em>pathname</em></code> - <dd><code><em>pathname</em></code> is a string consisting of - one or more strings separated by slashes (<code>/</code>) - specifying the path of the dataset in the output file. - If the groups in the path do no exist, they will be - created.<br> - Optional argument: if not specified, - the default path is - <code>dataset1</code> for the first input dataset, - <code>dataset2</code> for the second input dataset, - <code>dataset3</code> for the third input dataset, - etc.<br> - <code>h5import</code> does not overwrite a pre-existing - dataset of the specified or default name. - When an existing dataset of a conflicting name is - encountered, <code>h5import</code> quits with an error; - the current input file and any subsequent input files - are not processed. - <dt><code>-t <em>input_class</em></code> - <dt><code>-type <em>input_class</em></code> - <dd><code><em>input_class</em></code> specifies the class of the - input data and determines the class of the output data.<br> - Valid values are as defined in the Keyword/Values table - in the section "The configuration file" above.<br> - Optional argument: if not specified, - the default value is <code>FP</code>. - <dt><code>-s <em>input_size</em></code> - <dt><code>-size <em>input_size</em></code> - <dd><code><em>input_size</em></code> specifies the size in bits - of the input data and determines the size of the output data.<br> - Valid values for signed or unsigned integers are - <code>8</code>, <code>16</code>, <code>32</code>, and <code>64</code>.<br> - Valid values for floating point data are - <code>32</code> and <code>64</code>.<br> - Optional argument: if not specified, - the default value is <code>32</code>. - <dt><code>-c <em>config_file</em></code> - <dd><code><em>config_file</em></code> specifies a - configuration file.<br> - This argument replaces all other arguments except - <code><em>infile</em></code> and - <code>-o <em>outfile</em></code> - </dl> - <dt><code>outfile</code> - <dd>Name of the HDF5 output file. - </dl> - -<dt><strong>Examples:</strong> - <dd><b>Using command-line arguments:</b> - <table width=100% border=0> - <tr><td colspan=2> - <code>h5import infile -dims 2,3,4 -type TEXTIN -size 32 -o out1</code> - </td></tr><tr><td> </td><td> - This command creates a file <code>out1</code> containing - a single 2x3x4 32-bit integer dataset. - Since no pathname is specified, the dataset is stored - in <code>out1</code> as <code>/dataset1</code>. - </td></tr><tr><td colspan=2> - <code>h5import infile -dims 20,50 -path bin1/dset1 -type FP -size 64 -o out2</code> - </td></tr><tr><td> </td><td> - This command creates a file <code>out2</code> containing - a single a 20x50 64-bit floating point dataset. - The dataset is stored in <code>out2</code> as <code>/bin1/dset1</code>. - </td></tr> - </table> - - <dd><b>Sample configuration files:</b><br> - The following configuration file specifies the following:<br> - – The input data is a 5x2x4 floating point array in - an ASCII file.<br> - – The output dataset will be saved in chunked layout, - with chunk dimension sizes of 2x2x2.<br> - – The output datatype will be 64-bit floating point, - little-endian, IEEE.<br> - – The output dataset will be stored in - <code><em>outfile</em></code> - at <code>/work/h5/pkamat/First-set</code>.<br> - – The maximum dimension sizes of the output dataset - will be 8x8x(unlimited). - <pre> - PATH work/h5/pkamat/First-set - INPUT-CLASS TEXTFP - RANK 3 - DIMENSION-SIZES 5 2 4 - OUTPUT-CLASS FP - OUTPUT-SIZE 64 - OUTPUT-ARCHITECTURE IEEE - OUTPUT-BYTE-ORDER LE - CHUNKED-DIMENSION-SIZES 2 2 2 - MAXIMUM-DIMENSIONS 8 8 -1 - </pre> - - The next configuration file specifies the following:<br> - – The input data is a 6x3x5x2x4 integer array in - a binary file.<br> - – The output dataset will be saved in chunked layout, - with chunk dimension sizes of 2x2x2x2x2.<br> - – The output datatype will be 32-bit integer in - <code>NATIVE</code> format - (as the output architecture is not specified).<br> - – The output dataset will be compressed using Gzip compression - with a compression level of 7.<br> - – The output dataset will be stored in - <code><em>outfile</em></code> at <code>/Second-set</code>. - <pre> - PATH Second-set - INPUT-CLASS IN - RANK 5 - DIMENSION-SIZES 6 3 5 2 4 - OUTPUT-CLASS IN - OUTPUT-SIZE 32 - CHUNKED-DIMENSION-SIZES 2 2 2 2 2 - COMPRESSION-TYPE GZIP - COMPRESSION-PARAM 7 - </pre> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Command Line Tool</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Tool introduced in this release.</td></tr> - </table></ul> - -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> ---> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "gif2h5" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-GIF2H5">gif2h5</a> -<dt><strong>Syntax:</strong> - <dd><code>gif2h5</code> - <em>gif_file</em> <em>h5_file</em> -<dt><strong>Purpose:</strong> - <dd>Converts a GIF file to an HDF5 file. -<dt><strong>Description:</strong> - <dd><code>gif2h5</code> accepts as input the GIF file <em>gif_file</em> - and produces the HDF5 file <em>h5_file</em> as output. - -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><em>gif_file</em> - <dd>The name of the input GIF file - <dt><em>h5_file</em> - <dd>The name of the output HDF5 file - </dl> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> ---> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h52gif" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-H52GIF">h52gif</a> -<dt><strong>Syntax:</strong> - <dd><code>h52gif</code> - <em>h5_file</em> <em>gif_file</em> - <code>-i</code> <em>h5_image</em> - <code>[-p</code> <em>h5_palette</em><code>]</code> -<dt><strong>Purpose:</strong> - <dd>Converts an HDF5 file to a GIF file. -<dt><strong>Description:</strong> - <dd><code>h52gif</code> accepts as input the HDF5 file <em>h5_file</em> - and the names of images and associated palettes within that file - as input and produces the GIF file <em>gif_file</em>, - containing those images, as output. - <p> - <code>h52gif</code> expects <em>at least</em> - one <em>h5_image</em>. - You may repeat - <br> - - <code>-i</code> <em>h5_image</em> - <code>[-p</code> <em>h5_palette</em><code>]</code> - <br> - up to 50 times, for a maximum of 50 images. - -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><em>h5_file</em> - <dd>The name of the input HDF5 file - <dt><em>gif_file</em> - <dd>The name of the output GIF file - <dt><code>-i</code> <em>h5_image</em> - <dd>Image option, specifying the name of an HDF5 image or - dataset containing an image to be converted - <dt><code>-p</code> <em>h5_palette</em> - <dd>Palette option, specifying the name of an HDF5 dataset - containing a palette to be used in an image conversion - </dl> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> ---> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5toh4" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-H5toh4">h5toh4</a> -<dt><strong>Syntax:</strong> - <dd><code>h5toh4 -h</code><br> - <code>h5toh4 </code><em> - h5file - h4file</em><br> - <code>h5toh4 </code><em> - h5file</em><br> - <code>h5toh4 -m </code><em> - h5file1 - h5file2 - h5file3</em> ... -<dt><strong>Purpose:</strong> - <dd>Converts an HDF5 file into an HDF4 file. -<dt><strong>Description:</strong> - <dd><code>h5toh4</code> is an HDF5 utility which reads - an HDF5 file, <em>h5file</em>, and converts all - supported objects and pathways to produce an HDF4 file, - <em>h4file</em>. If <em>h4file</em> already exists, - it will be replaced. - <p> - If only one file name is given, the name must end in - <code>.h5</code> and is assumed to represent the - HDF5 input file. <code>h5toh4</code> replaces the - <code>.h5</code> suffix with <code>.hdf</code> to form - the name of the resulting HDF4 file and proceeds as above. - If a file with the name of the intended HDF4 file already - exists, <code>h5toh4</code> exits with an error without - changing the contents of any file. - <p> - The <code>-m</code> option allows multiple HDF5 file - arguments. Each file name is treated the same as the - single file name case above. - <p> - The <code>-h</code> option causes the following - syntax summary to be displayed: - <pre> h5toh4 file.h5 file.hdf - h5toh4 file.h5 - h5toh4 -m file1.h5 file2.h5 ...</pre> - - <p> - - The following HDF5 objects occurring in an HDF5 file are - converted to HDF4 objects in the HDF4 file: - - <ul> - <li>HDF5 group objects are converted into HDF4 Vgroup - objects. HDF5 hard links and soft links pointing to - objects are converted to HDF4 Vgroup references. - <li>HDF5 dataset objects of integer datatype are - converted into HDF4 SDS objects. These datasets - may have up to 32 fixed dimensions. - The slowest varying dimension may be extendable. - 8-bit, 16-bit, and 32-bit integer datatypes are - supported. - <li>HDF5 dataset objects of floating point datatype - are converted into HDF4 SDS objects. - These datasets may have up to 32 fixed dimensions. - The slowest varying dimension may be extendable. - 32-bit and 64-bit floating point datatypes are - supported. - <li>HDF5 dataset objects of single dimension and - compound datatype are converted into HDF4 Vdata - objects. The length of that single dimension may - be fixed or extendable. The members of the - compound datatype are constrained to be no more - than rank 4. - <li>HDF5 dataset objects of single dimension and fixed length string - datatype are converted into HDF4 Vdata objects. The HDF4 Vdata - is a single field whose order is the length of the HDF5 string - type. The number of records of the Vdata is the length of the - single dimension which may be fixed or extendable. - </ul> - - Other objects are not converted and are not recorded - in the resulting <em>h4file</em>. - <p> - Attributes associated with any of the supported HDF5 - objects are carried over to the HDF4 objects. - Attributes may be of integer, floating point, or fixed length - string datatype and they may have up to 32 fixed dimensions. - <p> - All datatypes are converted to big-endian. - Floating point datatypes are converted to IEEE format. - -<dt><strong>Note:</strong> - <dd>The <code>h5toh4</code> and <code>h4toh5</code> utilities - are no longer part of the HDF5 product; - they are distributed separately through the page - <a href="http://www.hdfgroup.org/h4toh5/"> - Converting between HDF (4.x) and HDF5</a>. - </p> -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><code>-h</code> - <dd>Displays a syntax summary. - <dt><code>-m</code> - <dd>Converts multiple HDF5 files to multiple HDF4 files. - <dt><em>h5file</em> - <dd>The HDF5 file to be converted. - <dt><em>h4file</em> - <dd>The HDF4 file to be created. - </dl> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> ---> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h4toh5" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-H4toh5">h4toh5</a> -<dt><strong>Syntax:</strong> - <dd><code>h4toh5 -h</code><br> - <code>h4toh5 </code><em> - h4file - h5file</em><br> - <code>h4toh5 </code><em> - h4file</em><br> - <!-- currently no -m option - <code>h4toh5 -m </code><em> - h4file1 - h4file2 - h4file3</em> ... - --> -<dt><strong>Purpose:</strong> - <dd>Converts an HDF4 file to an HDF5 file. -<dt><strong>Description:</strong> - <dd><code>h4toh5</code> is a file conversion utility that reads - an HDF4 file, <em>h4file</em> (<code>input.hdf</code> for example), - and writes an HDF5 file, <em>h5file</em> (<code>output.h5</code> - for example), containing the same data. - <p> - If no output file <em>h5file</em> is specified, - <code>h4toh5</code> uses the input filename to designate - the output file, replacing the extension <code>.hdf</code> - with <code>.h5</code>. - For example, if the input file <code>scheme3.hdf</code> is - specified with no output filename, <code>h4toh5</code> will - name the output file <code>scheme3.h5</code>. - <p> - <!-- currently no -m option - The <code>-m</code> option allows multiple HDF5 file - arguments. Each file name is treated the same as the - single file name case above. - <p> - --> - The <code>-h</code> option causes a syntax summary - similar to the following to be displayed: - <pre> h4toh5 inputfile.hdf outputfile.h5 - h4toh5 inputfile.hdf <!-- currently no -m option - h4toh5 -m inputfile1.hdf inputfile2.hdf ... --> </pre> - <p> - Each object in the HDF4 file is converted to an equivalent - HDF5 object, according to the mapping described in - <a href="ADGuide/H4toH5Mapping.pdf" target=ExternalWinA> - <cite>Mapping HDF4 Objects to HDF5 Objects</cite></a>. - <p> - In this initial version, <code>h4toh5</code> converts the following - HDF4 objects: - <center> - <table width=75% border=0> - <tr><th width=40% valign=top align=left> - HDF4 Object - </td><th width=60% valign=top align=left> - Resulting HDF5 Object - </td></tr> - <tr><td width=40% valign=top align=left> - SDS - </td><td width=60% valign=top align=left> - Dataset - </td></tr> - <tr><td width=40% valign=top align=left> - GR, RI8, and RI24 image - </td><td width=60% valign=top align=left> - Dataset - </td></tr> - <tr><td width=40% valign=top align=left> - Vdata - </td><td width=60% valign=top align=left> - Dataset - </td></tr> - <tr><td width=40% valign=top align=left> - Vgroup - </td><td width=60% valign=top align=left> - Group - </td></tr> - <tr><td width=40% valign=top align=left> - Annotation - </td><td width=60% valign=top align=left> - Attribute - </td></tr> - <tr><td width=40% valign=top align=left> - Palette - </td><td width=60% valign=top align=left> - Dataset - </td></tr> - </table> - </center> -<dt><strong>Note:</strong> - <dl>The <code>h4toh5</code> and <code>h5toh4</code> utilities - are no longer part of the HDF5 product; - they are distributed separately through the page - <a href="http://www.hdfgroup.org/h4toh5/"> - Converting between HDF (4.x) and HDF5</a>. - </p> - </dl> -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><code>-h</code> - <dd>Displays a syntax summary. - <!-- currently no -m option - <dt><code>-m</code> - <dd>Converts multiple HDF4 files to multiple HDF5 files. - --> - <dt><em>h4file</em> - <dd>The HDF4 file to be converted. - <dt><em>h5file</em> - <dd>The HDF5 file to be created. - </dl> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> ---> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5perf" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-Perf">h5perf</a> -<dt><strong>Syntax:</strong> - <dd><code>h5perf </code>[<code>-h </code>|<code> --help</code>] - <dd><code>h5perf </code>[<em>options</em>] - - <p> -<dt><strong>Purpose:</strong> - <dd>Tests Parallel HDF5 performance. - <p> -<dt><strong>Description:</strong> - <dd><code>h5perf</code> is a tool for testing the performance - of the Parallel HDF5 Library. - The tool can perform testing with 1-dimensional and 2-dimensional - buffers and datasets. - For details regarding data organization and access, see - “<a href="http://hdfgroup.org/HDF5/doc_resource/h5perf_parallel/h5perf_parallel.pdf">h5perf, - a Parallel File System Benchmarking Tool</a>.” - <p> - The following environment variables have the following - effects on <code>h5perf</code> behavior: - <table border=0> - <tr align="left" valign="top"><td> </td><td> - <code>HDF5_NOCLEANUP</code></td><td> - If set, <code>h5perf</code> does not remove data files. - <br> - (<i>Default:</i> Data files are removed.) - </td></tr> - <tr align="left" valign="top"><td> </td><td> - <code>HDF5_MPI_INFO</code></td><td> - Must be set to a string containing a list of semi-colon separated - <code>key=value</code> pairs for the MPI <code>INFO</code> object. - <br> - Example:</td></tr> - <tr align="left" valign="top"><td> </td><td> - <code>HDF5_PARAPREFIX </code></td><td> - Sets the prefix for parallel output data files.</td></tr> - </table> - - <p> -<dt><strong>Options and Parameters:</strong> - - <ul> - <table width="100%"> - <tr> - <td valign="top" colspan="2">These terms are used as follows in this section:</td></tr> - <tr> - <td valign="top"><em>file </em></td> - <td valign="top">A filename</td></tr> - <tr> - <td valign="top"><em>size</em></td> - <td valign="top">A size specifier, expressed as an integer - greater than or equal to 0 (zero) followed by a size indicator: - <br> - <code>K </code> for kilobytes (1024 bytes) - <br> - <code>M </code> for megabytes (1048576 bytes) - <br> - <code>G </code> for gigabytes (1073741824 bytes) - <br> - Example: <code>37M</code> specifies 37 megabytes or - 38797312 bytes.</td></tr> - <tr> - <td valign="top"><em>N</em></td> - <td valign="top">An integer greater than or equal - to 0 (zero)</td></tr> - </table><br> - - <table width="100%"> - <tr> - <td valign="top" colspan="2"><code>-h</code>, <code>--help</code></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Prints a usage message and exits.</td> - </tr> - <tr> - <td colspan="2" valign="top"><code>-a</code> <em>size</em>, - <code>--align=</code><em>size</em></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Specifies the alignment of objects in the HDF5 file. - <br> - (<i>Default:</i> <code>1</code>)</td> - </tr> - <tr> - <td colspan="2" valign="top"><code>-A</code> <em>api_list</em>, - <code>--api=</code><em>api_list</em></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Specifies which APIs to test. <em>api_list</em> - is a comma-separated list with the following valid values: - <table border="0"> - <tr align="left" valign="top"> - <td> </td> - <td><code>phdf5 </code></td> - <td>Parallel HDF5</td> - </tr> - <tr align="left" valign="top"> - <td> </td> - <td><code>mpiio</code></td> - <td>MPI-I/O</td> - </tr> - <tr align="left" valign="top"> - <td> </td> - <td><code>posix</code></td> - <td>POSIX</td> - </tr> - </table> - (<i>Default:</i> All APIs)<br> <br> - Example, <code>--api=mpiio,phdf5</code> specifies that the MPI I/O - and Parallel HDF5 APIs are to be monitored.</td> - </tr> -<!-- NEW PAGE --> - <tr> - <td valign="top" colspan="2"><code>-B</code> <em>size</em>, - <code>--block-size=</code><em>size</em></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Controls the block size within the transfer buffer. - <br> - (<i>Default:</i> Half the number of bytes per process per dataset) - <p> - Block size versus transfer buffer size: - <br> - The <em>transfer buffer size</em> is the size of a buffer - in memory. The data in that buffer is broken - into <em>block size</em> pieces and written to the file. - <p> - Transfer buffer size is discussed below with the - <code>-x</copde> (or <code>--min-xfer-size</code>) - and <code>-X</code> (or <code>--max-xfer-size</code>) options. - <p> - The pattern in which the blocks are written to the file is - described in the discussion of the <code>-I</code> - (or <code>--interleaved</code>) option.<br></td> - </tr> - <tr> - <td colspan="2" valign="top"><code>-c</code>, - <code>--chunk</code></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Creates HDF5 datasets in chunked layout. - <br> - (<i>Default:</i> Off)</td> - </tr> - <tr> - <td valign="top" colspan="2"><code>-C</code>, - <code>--collective</code></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Use collective I/O for the MPI I/O and - Parallel HDF5 APIs. - <br> - (<i>Default:</i> Off, i.e., independent I/O) - <p> - If this option is set and the MPI-I/O and PHDF5 APIs are in use, - all the blocks of every process will be written at once - with an MPI derived type.<br></td> - </tr> - <tr> - <td colspan="2" valign="top"><code>-d</code> <em>N</em>, - <code>--num-dsets</code><em>N</em></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Sets the number of datasets per file. - <br> - (<i>Default:</i> <code>1</code>)</td> - </tr> - <tr> - <td valign="top" colspan="2"><code>-D</code> <em>debug_flags</em>, - <code>--debug=</code><em>debug_flags</em></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Sets the debugging level. <em>debug_flags</em> - is a comma-separated list of debugging flags with the following - valid values: - <table border="0"> - <tr align="left" valign="top"> - <td> </td> - <td> <code>1 </code></td> - <td>Minimal debugging</td> - </tr> - <tr align="left" valign="top"> - <td> </td> - <td> <code>2</code></td> - <td>Moderate debugging (“not quite everything”)</td> - </tr> - <tr align="left" valign="top"> - <td> </td> - <td> <code>3</code></td> - <td>Extensive debugging (“everything”)</td> - </tr> - <tr align="left" valign="top"> - <td> </td> - <td> <code>4</code></td> - <td>All possible debugging (“the kitchen sink”)</td> - </tr> - <tr align="left" valign="top"> - <td> </td> - <td> <code>r</code></td> - <td>Raw data I/O throughput information</td> - </tr> - <tr align="left" valign="top"> - <td> </td> - <td> <code>t</code></td> - <td>Times, in additions to throughputs</td> - </tr> - <tr align="left" valign="top"> - <td> </td> - <td> <code>v</code></td> - <td>Verify data correctness</td> - </tr> - </table> - (<i>Default:</i> No debugging) - <p> - Example: <code>--debug=2,r,t</code> specifies to run a moderate - level of debugging while collecting raw data I/O throughput - information and verifying the correctness of the data. - <p> - Throughput values are computed by dividing the total amount of - transferred data (excluding metadata) over the time spent - by the slowest process. - Several time counters are defined to measure the data transfer - time and the total elapsed time; the latter includes the time - spent during file open and close operations. - A number of iterations can be specified with the - option <code>-i</code> (or <code>--num-iterations</code>) - to create the desired population of measurements from which - maximum, minimum, and average values can be obtained. - The timing scheme is the following: - - <pre> - for each iteration - initialize elapsed time counter - initialize data transfer time counter - for each file - start and accumulate elapsed time counter - file open - start and accumulate data transfer time counter - access entire file - stop data transfer time counter - file close - stop elapsed time counter - end file - save elapsed time counter - save data transfer time counter - end iteration - </pre> - - <p> - The reported write throughput is based on the accumulated data - transfer time, while the write open-close throughput uses the - accumulated elapsed time.</td> - </tr> - <tr> - <td colspan="2" valign="top"><code>-e</code> <em>size</em>, - <code>--num-bytes=</code><em>size</em></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Specifies the number of bytes per process per - dataset. - <br> - (<i>Default:</i> <code>256K</code> for 1D, - <code>8K</code> for 2D) - <p> - Depending on the selected geometry, each test dataset - can be a linear array of size - <em>bytes-per-process * num-processes</em> - or a square array of size - <em>(bytes-per-process * num-processes)</em> × - <em>(bytes-per-process * num-processes)</em>. - The number of processes is set by the - <code>-p</code> (or <code>--min-num-processes</code>) and - <code>-P</code> (or <code>--max-num-processes</code>) options.</td> - </tr> - <tr> - <td colspan="2" valign="top"><code>-F</code> <em>N</em>, - <code>--num-files=</code><em>N</em></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Specifies the number of files. - <br> - (<i>Default:</i> <code>1</code>)</td> - </tr> - <tr> - <td colspan="2" valign="top"><code>-g</code>, - <code>--geometry</code></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Selects 2D geometry for testing. - <br> - (<i>Default:</i> Off, i.e., 1D geometry)</td> - </tr> - </table> - -<!-- NEW PAGE --> - <table width="100%"> - <tr> - <td colspan="2" valign="top"><code>-i</code> <em>N</em>, - <code>--num-iterations=</code><em>N</em></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Sets the number of iterations to perform. - <br> - (<i>Default:</i> <code>1</code>)</td> - </tr> - <tr> - <td valign="top" colspan="2"><code>-I</code>, - <code>--interleaved</code></td> - </tr> - <tr> - <td valign="top"> </td> - <td valign="top">Sets interleaved block I/O. - <br> - (<i>Default:</i> Contiguous block I/O) - <p> - Interleaved and contiguous patterns in 1D geometry: - <br> - When a contiguous access pattern is chosen, the dataset is - evenly divided into <em>num-processes</em> regions and - each process writes data to its assigned region. - When interleaved blocks are written to a dataset, - space for the first block of the first process is allocated - in the dataset, then space is allocated for the first block - of the second process, etc., - until space is allocated for the first block of each process, - then space is allocated for the second block of the first process, - the second block of the second process, etc. - <p> - For example, with a three process run, 512KB bytes-per-process, - 256KB transfer buffer size, and 64KB block size, - each process must issue two transfer requests - to complete access to the dataset. - <p> - Contiguous blocks of the first transfer request are written - as follows: - <br><code> 1111----2222----3333----</code> - <p> - Interleaved blocks of the first transfer request are written - as follows: - <br><code> 123123123123------------</code> - <p> - The actual number of I/O operations involved in a - transfer request depends on the access pattern and - communication mode. - When using independent I/O with an interleaved access pattern, - each process performs four small non-contiguous I/O operations - per transfer request. If collective I/O is turned on, - the combined content of the buffers of the three processes - will be written using one collective I/O operation - per transfer request. - <p> - For details regarding the impact of performance and - access patterns in 2D, see - “<a href="http://hdfgroup.org/HDF5/doc_resource/h5perf_parallel/h5perf_parallel.pdf">h5perf, - a Parallel File System Benchmarking Tool</a>.” -</td> - </tr> - </table> - <table width="100%"> - <tr> - <td valign="top"><code>-m</code>, <code>--mpi-posix</code></td> - <td valign="top">Sets use of MPI-posix driver for HDF5 I/O. - <br> - (<i>Default:</i> MPI-I/O driver)</td> - </tr> - <tr> - <td valign="top"><code>-n</code>, <code>--no-fill</code></td> - <td valign="top">Specifies to not write fill values to HDF5 datasets. - This option is supported only in HDF5 Release v1.6 or later. - <br> - (<i>Default:</i> Off, i.e., write fill values)</td> - </tr> - <tr> - <td valign="top"><code>-o</code> <em>file</em>, - <code> --output=</code><em>file</em></td> - <td valign="top">Sets the output file for raw data to <em>file</em>. - <br> - (<i>Default:</i> None)</td> - </tr> - <tr> - <td valign="top"><code>-p</code> <em>N</em>, - <code>--min-num-processes=</code><em>N</em></td> - <td valign="top">Sets the minimum number of processes to be used. - <br> - (<i>Default:</i> <code>1</code>)</td> - </tr> - <tr> - <td valign="top"><code>-P</code> <em>N</em>, - <code>--max-num-processes=</code><em>N</em><br> - <code> </code> - </td> - <td valign="top">Sets the maximum number of processes to be used. - <br> - (<i>Default:</i> All <code>MPI_COMM_WORLD</code> processes)</td> - </tr> - <tr> - <td valign="top"><code>-T</code> <em>size</em>, - <code>--threshold=</code><em>size</em></td> - <td valign="top">Sets the threshold for alignment of objects in the - HDF5 file. - <br> - (<i>Default:</i> <code>1</code>)</td> - </tr> - <tr> - <td valign="top"><code>-w</code>, <code>--write-only</code></td> - <td valign="top">Performs only write tests, not read tests. - <br> - (<i>Default:</i> Read and write tests)</td> - </tr> - <tr> - <td valign="top"><code>-x</code> <em>size</em>, - <code>--min-xfer-size=</code><em>size</em></td> - <td valign="top">Sets the minimum transfer buffer size. - <br> - (<i>Default:</i> Half the number of bytes per processor - per dataset) - <p> - This option and the <code>-X</code> <em>size</em> option - (or <code>--max-xfer-size=</code><em>size</em>) - control <em>transfer-buffer-size</em>, the size of - the transfer buffer in memory. - In 1D geometry, the transfer buffer is a linear array - of size <em>transfer-buffer-size</em>. - In 2D geometry, the transfer buffer is a rectangular array of size - <em>block-size</em> × <em>transfer-buffer-size</em>, or - <em>transfer-buffer-size</em> × <em>block-size</em> - if the interleaved access pattern is selected.</td> - </tr> - <tr> - <td valign="top"><code>-X</code> <em>size</em>, - <code>--max-xfer-size=</code><em>size</em></td> - <td valign="top">Sets the maximum transfer buffer size. - <br> - (<i>Default:</i> The number of bytes per processor - per dataset)</td> - </tr> - </table> - </ul> - <p> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Change</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Tool introduced in this release.</td></tr> - <tr> - <td valign="top">1.6.8 and 1.8.0</td> - <td valign="top"> - Option <code>-g</code>, <code>--geometry</code> introduced - in this release.</td></tr> - </table></ul> -<!-- - <p> -<dt><strong>Current Status:</strong> - <dd> - <p> -<dt><strong>See Also:</strong> - <dd> ---> -</dl> - - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5jam and h5unjam" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-Jam">h5jam and h5unjam</a> -<dt><strong>Syntax:</strong> -<dd><code>h5jam -u user_block -i in_file.h5 [-o out_file.h5] [--clobber]</code></dd> -<dd><code>h5jam -h</code></dd> -<dd> </dd> -<dd><code>h5unjam -i in_file.h5 </code><code>[-u user_block | --delete] [</code><code>-o out_file.h5]</code></dd> -<dd><code>h5unjam -h</code></dd> - -<dt><strong>Purpose:</strong> - <dd>Add user block to front of an HDF5 file, to create a new concatenated - file.</dd> - <dd>Split user block and HDF5 file into two files, user block data and - HDF5 data.</dd> - <dt><strong>Description:</strong> - <dd><code>h5jam</code> concatenates a <code>user_block</code> - file and an HDF5 file to create an HDF5 file with a user block. - The user block can be either binary or text. - The output file is padded so that the HDF5 header begins on - byte 512, 1024, etc.. (See the HDF5 File Format.) - - <p>If <code>out_file.h5</code> is given, a new file is created with the <code>user_block</code> followed by the contents of<code> in_file.h5. </code>In this case,<code><big> </big>infile.h5 </code>is unchanged. - <p> -If <code>out_file.h5</code> is not specified, the <code>user_block</code> is added to<code> in_file.h5</code>. </dd> - <p> - If in_file.h5 already has a user block, the contents of <code>user_block</code> will be added to the end of the existing user block, and the file shifted to the next boundary. If <code>-clobber</code> is set, any existing user block will be overwritten. - - -<p><code>h5unjam</code><code></code> splits an HDF5 file, writing the -user block to a file or stdout and the HDF5 file to an HDF5 file with a header at byte -0 (i.e., with no user block). - <p>If <code>out_file.h5</code> is given, a new file is created with the<code></code><code> in_file.h5 </code>without <code></code>the user block.<code> </code>In this case,<code><big> </big>infile.h5 </code>is unchanged. -<p> If <code>out_file.h5</code> is not specified, the <code>user_block</code> is removed and <code>in_file.h5</code> is rewritten, starting at byte 0. - <p> -If <code>user_block</code> is set,the user block will be written to <code>user_block</code>. If <code>user_block</code> is not set, the user block (if any)<code></code> will be written to stdout. If <code>-delete</code> is selected, the user block will not be not written.</dd> - -<dt><strong>Example Usage</strong></dt> -<dd>Create new file, <code>newfile.h5</code>, with the text in file <code>mytext.txt</code> as the user block for the HDF5 file <code>file.h5</code>. - <pre> h5jam -u mytext.txt -i file.h5 -o newfile.h5</pre> - -Add text in file <code>mytext.txt</code> to front of HDF5 dataset, <code>file.h5</code><code></code>. - <pre> h5jam -u mytext.txt -i file.h5 </pre> - -Overwrite the user block (if any) in <code>file.h5</code> with the contents of <code>mytext.txt</code>. - <pre> h5jam -u mytext.txt -i file.h5 --clobber</pre> - -<!-- NEW PAGE --> -For an HDF5 file, <code>with_ub.h5</code>, with a user block, extract the user block to <code>user_block.txt</code> and the HDF5 file to <code>wo_ub.h5</code>. - <pre> h5unjam -i with_ub.h5 -u user_block.txt -o wo_ub.h5</pre> - - -<dt><strong></strong></dt><dt><strong>Return Value</strong></dt> -<dd><code>h5jam</code> returns the size of the output file, or -1 if an error occurs. - <p> - <code>h5unjam</code> returns the size of the output file, or -1 if an error occurs. - -<dt><strong>Caveats</strong></dt><dt><strong></strong> </dt> -<dd>This tool copies all the data (sequentially) in the file(s) to new offsets. -For a large file, this copy will take a long time. - <p>The most efficient way to create a user block is to create the file -with a user block (see <code>H5Pset_user_block</code>), and write -the user block data into that space from a program. - <p>The user block is completely opaque to the HDF5 library and to the h5jam -and h5unjam tools. The user block is simply read or written as a string -of bytes, which could be text or any kind of binary data. It is up -to the user to know what the contents of the user block means and how to -process it. -<p> -When the user block is extracted, all the data is written to the output, including any padding or unwritten data. -<p> -This tool moves the HDF5 file through byte copies, i.e., it does not read or interpret the HDF5 objects.<br> - - - - - - - - - - - - -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5redeploy" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-Redeploy">h5redeploy</a> -<dt><strong>Syntax:</strong> - <dd><code>h5redeploy </code> - [<code>help </code> | <code>-help</code>] - <dd><code>h5redeploy </code> - [<code>-echo</code>] - [<code>-force</code>] - [<code>-prefix=</code><em>dir</em>] - [<code>-tool=</code><em>tool</em>] - [<code>-show</code>] -<dt><strong>Purpose:</strong> - <dd>Updates HDF5 compiler tools after an HDF5 software installation - in a new location. -<dt><strong>Description:</strong> - <dd><code>h5redeploy</code> updates the HDF5 compiler tools after - the HDF5 software has been installed in a new location. - -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><code>help</code>, <code>-help</code> - <dd>Prints a help message. - <dt><code>-echo</code> - <dd>Shows all the shell commands executed. - <dt><code>-force</code> - <dd>Performs the requested action without offering any prompt - requesting confirmation. - <dt><code>-prefix=</code><em>dir</em> - <dd>Specifies a new directory in which to find the - HDF5 subdirectories <code>lib/</code> and - <code>include/</code>.<br> - (Default: current working directory) - <dt><code>-tool=</code><em>tool</em> - <dd>Specifies the tool to update. - <em>tool</em> must be in the current directory - and must be writable.<br> - (Default: <code>h5cc</code>) - <dt><code>-show</code> - <dd>Shows all of the shell commands to be executed - without actually executing them. - </dl> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Command Line Tool</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Tool introduced in this release.</td></tr> - </table></ul> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> ---> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5cc and h5pcc" --> -<hr> -<dl> -<dt><strong>Tool Names:</strong> <a name="Tools-H5CC">h5cc and h5pcc</a> -<dt><strong>Syntax:</strong> - <dd><code>h5cc - [</code><em>OPTIONS</em><code> ]</code> <em>compile_line</em> - <dd><code>h5pcc - [</code><em>OPTIONS</em><code> ]</code> <em>compile_line</em> -<dt><strong>Purpose:</strong> - <dd>Helper scripts to compile HDF5 C applications. -<dt><strong>Description:</strong> - <dd><code>h5cc</code> and <code>h5pcc</code> can be used in much - the same way as <code>mpicc</code> by MPICH is used to compile - an HDF5 program. - These tools take care of specifying on the command line - the locations of the HDF5 header files and libraries. - <code>h5cc</code> is for use in serial computing environments; - <code>h5pcc</code> is for parallel environments. - <p> - <code>h5cc</code> and <code>h5pcc</code> subsume all other - compiler scripts in that if you have used a set of scripts to compile - the HDF5 library, then <code>h5cc</code> and <code>h5pcc</code> - also use those scripts. - For example, when compiling an MPICH program, you use the - <code>mpicc</code> script. - If you have built HDF5 using MPICH, then <code>h5cc</code> - uses the MPICH program for compilation. - <p> - Some programs use HDF5 in only a few modules. - It is not necessary to use <code>h5cc</code> or <code>h5pcc</code> - to compile those modules which do not use HDF5. - In fact, since <code>h5cc</code> and <code>h5pcc</code> are only - convenience scripts, you can still compile HDF5 modules in the - normal manner, though you will have to specify the HDF5 libraries - and include paths yourself. - Use the <code>-show</code> option to see the details. - <p> - An example of how to use <code>h5cc</code> to compile the program - <code>hdf_prog</code>, which consists of the modules - <code>prog1.c</code> and <code>prog2.c</code> and uses the HDF5 - shared library, would be as follows. - <code>h5pcc</code> is used in an identical manner. - <pre> - # h5cc -c prog1.c - # h5cc -c prog2.c - # h5cc -shlib -o hdf_prog prog1.o prog2.o </pre> -<dt><strong>Options and Parameters:</strong> - <dd> - <dl> - <dt><code>-help</code> - <dd>Print a help message. - <dt><code>-echo</code> - <dd>Show all the shell commands executed. - <dt><code>-prefix=DIR</code> - <dd>Use the directory <code><em>DIR</em></code> to find the HDF5 - <code>lib/</code> and <code>include/</code> subdirectories. - <br> - Default: prefix specified when configuring HDF5. - <dt><code>-show</code> - <dd>Show the commands without executing them. - <dt><code>-shlib</code> - <dd>Compile using shared HDF5 libraries. - <dt><code>-noshlib</code> - <dd>Compile using static HDF5 libraries [default]. - <dt><em>compile_line</em> - <dd>The normal compile line options for your compiler. - <code>h5cc</code> and <code>h5pcc</code> use the - same compiler you used to compile HDF5; - check your compiler's manual for more information - on which options are needed. - </dl> -<!-- NEW PAGE --> -<dt><strong>Environment Variables:</strong> - <dd>When set, these environment variables override some of the built-in - <code>h5cc</code> and <code>h5pcc</code> defaults. - <dl> - <dt><code>HDF5_CC</code> - <dd>Use a different C compiler. - <dt><code>HDF5_CLINKER</code> - <dd>Use a different linker. - <dt><code>HDF5_USE_SHLIB=[yes|no]</code> - <dd>Use shared version of the HDF5 library [default: no]. - </dl> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5fc and h5pfc" --> -<hr> -<dl> -<dt><strong>Tool Names:</strong> <a name="Tools-H5FC">h5fc and h5pfc</a> -<dt><strong>Syntax:</strong> - <dd><code>h5fc - [</code><em>OPTIONS</em><code> ]</code> <em>compile_line</em> - <dd><code>h5pfc - [</code><em>OPTIONS</em><code> ]</code> <em>compile_line</em> -<dt><strong>Purpose:</strong> - <dd>Helper scripts to compile HDF5 Fortran90 applications. -<dt><strong>Description:</strong> - <dd><code>h5fc</code> and <code>h5pfc</code> can be used in much the - same way <code>mpif90</code> by MPICH is used to compile - an HDF5 program. - These tools take care of specifying on the command line - the locations of the HDF5 header files and libraries. - <code>h5fc</code> is for use in serial computing environments; - <code>h5pfc</code> is for parallel environments. - <p> - <code>h5fc</code> and <code>h5pfc</code> subsume all other - compiler scripts in that if you have used a set of scripts to compile - the HDF5 Fortran library, then <code>h5fc</code> and <code>h5pfc</code> - also use those scripts. For example, when - compiling an MPICH program, you use the <code>mpif90</code> - script. If you have built HDF5 using MPICH, then <code>h5fc</code> - uses the MPICH program for compilation. - <p> - Some programs use HDF5 in only a few modules. It is not necessary - to use <code>h5fc</code> and <code>h5pfc</code> to compile those - modules which do not use HDF5. - In fact, since <code>h5fc</code> and <code>h5pfc</code> are only - convenience scripts, you can still compile HDF5 Fortran modules in - the normal manner, though you will have to specify the - HDF5 libraries and include paths yourself. - Use the <code>-show</code> option to see the details. - <p> - An example of how to use <code>h5fc</code> to compile the program - <code>hdf_prog</code>, which consists of the modules - <code>prog1.f90</code> and <code>prog2.f90</code> - and uses the HDF5 Fortran library, would be as follows. - <code>h5pfc</code> is used in an identical manner. - <pre> - # h5fc -c prog1.f90 - # h5fc -c prog2.f90 - # h5fc -o hdf_prog prog1.o prog2.o </pre> -<dt><strong>Options and Parameters:</strong> - <dd> - <dl> - <dt><code>-help</code> - <dd>Print a help message. - <dt><code>-echo</code> - <dd>Show all the shell commands executed. - <dt><code>-prefix=DIR</code> - <dd>Use the directory <code>DIR</code> to find HDF5 - <code>lib/</code> and <code>include/</code> subdirectories. - <br> - Default: prefix specified when configuring HDF5. - <dt><code>-show</code> - <dd>Show the commands without executing them. - <dt><em>compile_line</em> - <dd>The normal compile line options for your compiler. - <code>h5fc</code> and <code>h5pfc</code> use the - same compiler you used to compile HDF5; - check your compiler's manual for more information - on which options are needed. - </dl> -<dt><strong>Environment Variables:</strong> - <dd>When set, these environment variables override some of the built-in - <code>h5fc</code> and <code>h5pfc</code> defaults. - <dl> - <dt><code>HDF5_FC</code> - <dd>Use a different Fortran90 compiler. - <dt><code>HDF5_FLINKER</code> - <dd>Use a different linker. - </dl> -<!-- NEW PAGE --> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Command Line Tool</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Tool introduced in this release.</td></tr> - </table></ul> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> - --> -</dl> - -<!-- NEW PAGE --> -<!-- HEADER RIGHT "h5c++" --> -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-H5C++">h5c++</a> -<dt><strong>Syntax:</strong> - <dd><code>h5c++ - [</code><em>OPTIONS</em><code>]</code> <em><compile line></em> -<dt><strong>Purpose:</strong> - <dd>Helper script to compile HDF5 C++ applications. -<dt><strong>Description:</strong> - <dd><p> - <code>h5c++</code> can be used in much the same way - <code>mpiCC</code> by MPICH is used to compile an HDF5 program. - It takes care of specifying where the - HDF5 header files and libraries are on the command line. - <p> - <code>h5c++</code> subsumes all other compiler scripts in that - if you've used one set of compiler scripts to compile the - HDF5 C++ library, then <code>h5c++</code> uses those same scripts. - For example, when compiling an MPICH program, - you use the <code>mpiCC</code> script. - <p> - Some programs use HDF5 in only a few modules. It isn't necessary - to use <code>h5c++</code> to compile those modules which don't use - HDF5. In fact, since <code>h5c++</code> is only a convenience - script, you are still able to compile HDF5 C++ modules in the - normal way. In that case, you will have to specify the HDF5 libraries - and include paths yourself. - Use the <code>-show</code> option to see the details. - <p> - An example of how to use <code>h5c++</code> to compile the program - <code>hdf_prog</code>, which consists of modules - <code>prog1.cpp</code> and <code>prog2.cpp</code> - and uses the HDF5 C++ library, would be as follows: - <pre> - # h5c++ -c prog1.cpp - # h5c++ -c prog2.cpp - # h5c++ -o hdf_prog prog1.o prog2.o</pre> -<dt><strong>Options and Parameters:</strong> - <dd> - <dl> - <dt><code>-help</code> - <dd>Prints a help message. - <dt><code>-echo</code> - <dd>Show all the shell commands executed. - <dt><code>-prefix=DIR</code> - <dd>Use the directory <code>DIR</code> to find HDF5 - <code>lib/</code> and <code>include/</code> subdirectories - <br> - Default: prefix specified when configuring HDF5. - <dt><code>-show</code> - <dd>Show the commands without executing them. - <dt><em><compile line></em> - <dd>The normal compile line options for your compiler. - <code>h5c++</code> uses the same compiler you used - to compile HDF5. Check your compiler's manual for - more information on which options are needed. - </dl> -<dt><strong>Environment Variables:</strong> - <dd>When set, these environment variables override some of the built-in - defaults of <code>h5c++</code>. - <dl> - <dt><code>HDF5_CXX</code> - <dd>Use a different C++ compiler. - <dt><code>HDF5_CXXLINKER</code> - <dd>Use a different linker. - </dl> -<dt><strong>History:</strong> - <ul><table width="90%"> - <tr> - <td valign="top" align="left" width="10%"> - <strong>Release</strong> </td> - <td valign="top" align="left"> - <strong>Command Line Tool</strong></td></tr> - <tr> - <td valign="top">1.6.0</td> - <td valign="top"> - Tool introduced in this release.</td></tr> - </table></ul> -<!-- -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> - --> -</dl> - - -<!-- Template, next 40 lines --> -<!-- Template, next 40 lines --> -<!-- Template, next 40 lines -<hr> -<dl> -<dt><strong>Tool Name:</strong> <a name="Tools-H5toh4">h5toh4</a> -<dt><strong>Syntax:</strong> - <dd><code>h5toh4 -h</code><br> - <code>h5toh4 </code><em> - h5file - h4file</em><br> - <code>h5toh4 </code><em> - h5file</em><br> - <code>h5toh4 -m </code><em> - h5file1 - h5file2 - h5file3</em> ... -<dt><strong>Purpose:</strong> - <dd>Purpose... -<dt><strong>Description:</strong> - <dd><code>TOOL</code> is an HDF5 utility which ... - Paragraph - <pre> sample code - sample code - sample code </pre> - <p> - Paragraph - <p> - Paragraph -<dt><strong>Options and Parameters:</strong> - <dl> - <dt><code>-option</code> - <dd>Description - <dt><em>parameter</em> - <dd>Description - </dl> -<dt><strong>Current Status:</strong> - <dd> -<dt><strong>See Also:</strong> - <dd> -</dl> - - ---> - +<?php include("Tools/h5dump.htm"); ?> +<?php include("Tools/h5ls.htm"); ?> +<?php include("Tools/h5diff.htm"); ?> +<?php include("Tools/h5repack.htm"); ?> +<?php include("Tools/h5repart.htm"); ?> +<?php include("Tools/h5import.htm"); ?> +<?php include("Tools/gif2h5.htm"); ?> +<?php include("Tools/h52gif.htm"); ?> +<?php include("Tools/h5toh4.htm"); ?> +<?php include("Tools/h4toh5.htm"); ?> +<?php include("Tools/h5perf.htm"); ?> +<?php include("Tools/h5jam_and_h5unjam.htm"); ?> +<?php include("Tools/h5redeploy.htm"); ?> +<?php include("Tools/h5cc_and_h5pcc.htm"); ?> +<?php include("Tools/h5fc_and_h5pfc.htm"); ?> +<?php include("Tools/h5c++.htm"); ?> +<!-- HEADER RIGHT " " --> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --> <hr> @@ -3076,9 +260,10 @@ Describes HDF5 Release 1.6.8, November 2008 <!-- #EndLibraryItem --> <br> <SCRIPT LANGUAGE="JAVASCRIPT"> <!-- -document.writeln("Last modified: 30 December 2008"); +document.writeln("Last modified: 11 February 2009"); --> </SCRIPT> </body> </html> + diff --git a/doc/html/Tools/gif2h5.htm b/doc/html/Tools/gif2h5.htm new file mode 100644 index 0000000..53321bb --- /dev/null +++ b/doc/html/Tools/gif2h5.htm @@ -0,0 +1,29 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "gif2h5" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-GIF2H5">gif2h5</a> +<dt><strong>Syntax:</strong> + <dd><code>gif2h5</code> + <em>gif_file</em> <em>h5_file</em> +<dt><strong>Purpose:</strong> + <dd>Converts a GIF file to an HDF5 file. +<dt><strong>Description:</strong> + <dd><code>gif2h5</code> accepts as input the GIF file <em>gif_file</em> + and produces the HDF5 file <em>h5_file</em> as output. + +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><em>gif_file</em> + <dd>The name of the input GIF file + <dt><em>h5_file</em> + <dd>The name of the output HDF5 file + </dl> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> +--> +</dl> + diff --git a/doc/html/Tools/h4toh5.htm b/doc/html/Tools/h4toh5.htm new file mode 100644 index 0000000..81755b9 --- /dev/null +++ b/doc/html/Tools/h4toh5.htm @@ -0,0 +1,122 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h4toh5" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-H4toh5">h4toh5</a> +<dt><strong>Syntax:</strong> + <dd><code>h4toh5 -h</code><br> + <code>h4toh5 </code><em> + h4file + h5file</em><br> + <code>h4toh5 </code><em> + h4file</em><br> + <!-- currently no -m option + <code>h4toh5 -m </code><em> + h4file1 + h4file2 + h4file3</em> ... + --> +<dt><strong>Purpose:</strong> + <dd>Converts an HDF4 file to an HDF5 file. +<dt><strong>Description:</strong> + <dd><code>h4toh5</code> is a file conversion utility that reads + an HDF4 file, <em>h4file</em> (<code>input.hdf</code> for example), + and writes an HDF5 file, <em>h5file</em> (<code>output.h5</code> + for example), containing the same data. + <p> + If no output file <em>h5file</em> is specified, + <code>h4toh5</code> uses the input filename to designate + the output file, replacing the extension <code>.hdf</code> + with <code>.h5</code>. + For example, if the input file <code>scheme3.hdf</code> is + specified with no output filename, <code>h4toh5</code> will + name the output file <code>scheme3.h5</code>. + <p> + <!-- currently no -m option + The <code>-m</code> option allows multiple HDF5 file + arguments. Each file name is treated the same as the + single file name case above. + <p> + --> + The <code>-h</code> option causes a syntax summary + similar to the following to be displayed: + <pre> h4toh5 inputfile.hdf outputfile.h5 + h4toh5 inputfile.hdf <!-- currently no -m option + h4toh5 -m inputfile1.hdf inputfile2.hdf ... --> </pre> + <p> + Each object in the HDF4 file is converted to an equivalent + HDF5 object, according to the mapping described in + <a href="ADGuide/H4toH5Mapping.pdf" target=ExternalWinA> + <cite>Mapping HDF4 Objects to HDF5 Objects</cite></a>. + <p> + In this initial version, <code>h4toh5</code> converts the following + HDF4 objects: + <center> + <table width=75% border=0> + <tr><th width=40% valign=top align=left> + HDF4 Object + </td><th width=60% valign=top align=left> + Resulting HDF5 Object + </td></tr> + <tr><td width=40% valign=top align=left> + SDS + </td><td width=60% valign=top align=left> + Dataset + </td></tr> + <tr><td width=40% valign=top align=left> + GR, RI8, and RI24 image + </td><td width=60% valign=top align=left> + Dataset + </td></tr> + <tr><td width=40% valign=top align=left> + Vdata + </td><td width=60% valign=top align=left> + Dataset + </td></tr> + <tr><td width=40% valign=top align=left> + Vgroup + </td><td width=60% valign=top align=left> + Group + </td></tr> + <tr><td width=40% valign=top align=left> + Annotation + </td><td width=60% valign=top align=left> + Attribute + </td></tr> + <tr><td width=40% valign=top align=left> + Palette + </td><td width=60% valign=top align=left> + Dataset + </td></tr> + </table> + </center> +<dt><strong>Note:</strong> + <dl>The <code>h4toh5</code> and <code>h5toh4</code> utilities + are no longer part of the HDF5 product; + they are distributed separately through the page + <a href="http://www.hdfgroup.org/h4toh5/"> + Converting between HDF (4.x) and HDF5</a>. + </p> + </dl> +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><code>-h</code> + <dd>Displays a syntax summary. + <!-- currently no -m option + <dt><code>-m</code> + <dd>Converts multiple HDF4 files to multiple HDF5 files. + --> + <dt><em>h4file</em> + <dd>The HDF4 file to be converted. + <dt><em>h5file</em> + <dd>The HDF5 file to be created. + </dl> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> +--> +</dl> + + diff --git a/doc/html/Tools/h52gif.htm b/doc/html/Tools/h52gif.htm new file mode 100644 index 0000000..c514f6d --- /dev/null +++ b/doc/html/Tools/h52gif.htm @@ -0,0 +1,49 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h52gif" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-H52GIF">h52gif</a> +<dt><strong>Syntax:</strong> + <dd><code>h52gif</code> + <em>h5_file</em> <em>gif_file</em> + <code>-i</code> <em>h5_image</em> + <code>[-p</code> <em>h5_palette</em><code>]</code> +<dt><strong>Purpose:</strong> + <dd>Converts an HDF5 file to a GIF file. +<dt><strong>Description:</strong> + <dd><code>h52gif</code> accepts as input the HDF5 file <em>h5_file</em> + and the names of images and associated palettes within that file + as input and produces the GIF file <em>gif_file</em>, + containing those images, as output. + <p> + <code>h52gif</code> expects <em>at least</em> + one <em>h5_image</em>. + You may repeat + <br> + + <code>-i</code> <em>h5_image</em> + <code>[-p</code> <em>h5_palette</em><code>]</code> + <br> + up to 50 times, for a maximum of 50 images. + +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><em>h5_file</em> + <dd>The name of the input HDF5 file + <dt><em>gif_file</em> + <dd>The name of the output GIF file + <dt><code>-i</code> <em>h5_image</em> + <dd>Image option, specifying the name of an HDF5 image or + dataset containing an image to be converted + <dt><code>-p</code> <em>h5_palette</em> + <dd>Palette option, specifying the name of an HDF5 dataset + containing a palette to be used in an image conversion + </dl> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> +--> +</dl> + diff --git a/doc/html/Tools/h5c++.htm b/doc/html/Tools/h5c++.htm new file mode 100644 index 0000000..ac3d8a0 --- /dev/null +++ b/doc/html/Tools/h5c++.htm @@ -0,0 +1,89 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5c++" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-H5C++">h5c++</a> +<dt><strong>Syntax:</strong> + <dd><code>h5c++ + [</code><em>OPTIONS</em><code>]</code> <em><compile line></em> +<dt><strong>Purpose:</strong> + <dd>Helper script to compile HDF5 C++ applications. +<dt><strong>Description:</strong> + <dd><p> + <code>h5c++</code> can be used in much the same way + <code>mpiCC</code> by MPICH is used to compile an HDF5 program. + It takes care of specifying where the + HDF5 header files and libraries are on the command line. + <p> + <code>h5c++</code> subsumes all other compiler scripts in that + if you've used one set of compiler scripts to compile the + HDF5 C++ library, then <code>h5c++</code> uses those same scripts. + For example, when compiling an MPICH program, + you use the <code>mpiCC</code> script. + <p> + Some programs use HDF5 in only a few modules. It isn't necessary + to use <code>h5c++</code> to compile those modules which don't use + HDF5. In fact, since <code>h5c++</code> is only a convenience + script, you are still able to compile HDF5 C++ modules in the + normal way. In that case, you will have to specify the HDF5 libraries + and include paths yourself. + Use the <code>-show</code> option to see the details. + <p> + An example of how to use <code>h5c++</code> to compile the program + <code>hdf_prog</code>, which consists of modules + <code>prog1.cpp</code> and <code>prog2.cpp</code> + and uses the HDF5 C++ library, would be as follows: + <pre> + # h5c++ -c prog1.cpp + # h5c++ -c prog2.cpp + # h5c++ -o hdf_prog prog1.o prog2.o</pre> +<dt><strong>Options and Parameters:</strong> + <dd> + <dl> + <dt><code>-help</code> + <dd>Prints a help message. + <dt><code>-echo</code> + <dd>Show all the shell commands executed. + <dt><code>-prefix=DIR</code> + <dd>Use the directory <code>DIR</code> to find HDF5 + <code>lib/</code> and <code>include/</code> subdirectories + <br> + Default: prefix specified when configuring HDF5. + <dt><code>-show</code> + <dd>Show the commands without executing them. + <dt><em><compile line></em> + <dd>The normal compile line options for your compiler. + <code>h5c++</code> uses the same compiler you used + to compile HDF5. Check your compiler's manual for + more information on which options are needed. + </dl> +<dt><strong>Environment Variables:</strong> + <dd>When set, these environment variables override some of the built-in + defaults of <code>h5c++</code>. + <dl> + <dt><code>HDF5_CXX</code> + <dd>Use a different C++ compiler. + <dt><code>HDF5_CXXLINKER</code> + <dd>Use a different linker. + </dl> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Command Line Tool</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Tool introduced in this release.</td></tr> + </table></ul> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> + --> +</dl> + + diff --git a/doc/html/Tools/h5cc_and_h5pcc.htm b/doc/html/Tools/h5cc_and_h5pcc.htm new file mode 100644 index 0000000..f05d964 --- /dev/null +++ b/doc/html/Tools/h5cc_and_h5pcc.htm @@ -0,0 +1,93 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5cc and h5pcc" --> +<hr> +<dl> +<dt><strong>Tool Names:</strong> <a name="Tools-H5CC">h5cc and h5pcc</a> +<dt><strong>Syntax:</strong> + <dd><code>h5cc + [</code><em>OPTIONS</em><code> ]</code> <em>compile_line</em> + <dd><code>h5pcc + [</code><em>OPTIONS</em><code> ]</code> <em>compile_line</em> +<dt><strong>Purpose:</strong> + <dd>Helper scripts to compile HDF5 C applications. +<dt><strong>Description:</strong> + <dd><code>h5cc</code> and <code>h5pcc</code> can be used in much + the same way as <code>mpicc</code> by MPICH is used to compile + an HDF5 program. + These tools take care of specifying on the command line + the locations of the HDF5 header files and libraries. + <code>h5cc</code> is for use in serial computing environments; + <code>h5pcc</code> is for parallel environments. + <p> + <code>h5cc</code> and <code>h5pcc</code> subsume all other + compiler scripts in that if you have used a set of scripts to compile + the HDF5 library, then <code>h5cc</code> and <code>h5pcc</code> + also use those scripts. + For example, when compiling an MPICH program, you use the + <code>mpicc</code> script. + If you have built HDF5 using MPICH, then <code>h5cc</code> + uses the MPICH program for compilation. + <p> + Some programs use HDF5 in only a few modules. + It is not necessary to use <code>h5cc</code> or <code>h5pcc</code> + to compile those modules which do not use HDF5. + In fact, since <code>h5cc</code> and <code>h5pcc</code> are only + convenience scripts, you can still compile HDF5 modules in the + normal manner, though you will have to specify the HDF5 libraries + and include paths yourself. + Use the <code>-show</code> option to see the details. + <p> + An example of how to use <code>h5cc</code> to compile the program + <code>hdf_prog</code>, which consists of the modules + <code>prog1.c</code> and <code>prog2.c</code> and uses the HDF5 + shared library, would be as follows. + <code>h5pcc</code> is used in an identical manner. + <pre> + # h5cc -c prog1.c + # h5cc -c prog2.c + # h5cc -shlib -o hdf_prog prog1.o prog2.o </pre> +<dt><strong>Options and Parameters:</strong> + <dd> + <dl> + <dt><code>-help</code> + <dd>Print a help message. + <dt><code>-echo</code> + <dd>Show all the shell commands executed. + <dt><code>-prefix=DIR</code> + <dd>Use the directory <code><em>DIR</em></code> to find the HDF5 + <code>lib/</code> and <code>include/</code> subdirectories. + <br> + Default: prefix specified when configuring HDF5. + <dt><code>-show</code> + <dd>Show the commands without executing them. + <dt><code>-shlib</code> + <dd>Compile using shared HDF5 libraries. + <dt><code>-noshlib</code> + <dd>Compile using static HDF5 libraries [default]. + <dt><em>compile_line</em> + <dd>The normal compile line options for your compiler. + <code>h5cc</code> and <code>h5pcc</code> use the + same compiler you used to compile HDF5; + check your compiler's manual for more information + on which options are needed. + </dl> +<!-- NEW PAGE --> +<dt><strong>Environment Variables:</strong> + <dd>When set, these environment variables override some of the built-in + <code>h5cc</code> and <code>h5pcc</code> defaults. + <dl> + <dt><code>HDF5_CC</code> + <dd>Use a different C compiler. + <dt><code>HDF5_CLINKER</code> + <dd>Use a different linker. + <dt><code>HDF5_USE_SHLIB=[yes|no]</code> + <dd>Use shared version of the HDF5 library [default: no]. + </dl> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> + --> +</dl> + diff --git a/doc/html/Tools/h5diff.htm b/doc/html/Tools/h5diff.htm new file mode 100644 index 0000000..e6221e7 --- /dev/null +++ b/doc/html/Tools/h5diff.htm @@ -0,0 +1,136 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5diff" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-Diff">h5diff</a> +<dt><strong>Syntax:</strong> + <dd><code>h5diff </code> <em>file1</em> <em>file2</em> + [<em>OPTIONS</em>] + [<em>object1</em> [<em>object2</em> ] ] +<dt><strong>Purpose:</strong> + <dd>Compares two HDF5 files and reports the differences. +<dt><strong>Description:</strong> + <dd><code>h5diff</code> is a command line tool that compares + two HDF5 files, <em>file1</em> and <em>file2</em>, and + reports the differences between them. + <p> + Optionally, <code>h5diff</code> will compare two objects + within these files. + If only one object, <em>object1</em>, is specified, + <code>h5diff</code> will compare + <em>object1</em> in <em>file1</em> + with <em>object1</em> in <em>file2</em>. + In two objects, <em>object1</em> and <em>object2</em>, + are specified, <code>h5diff</code> will compare + <em>object1</em> in <em>file1</em> + with <em>object2</em> in <em>file2</em>. + These objects must be HDF5 datasets. + <dd> + <p> + <em>object1</em> and <em>object2</em> must be expressed + as absolute paths from the respective file's root group. + <dd> + <p> + <code>h5diff</code> has the following four modes of output:<br> + Normal mode: print the number of differences found and where they occurred<br> + Report mode (-r): print the above plus the differences<br> + Verbose mode (-v): print the above plus a list of objects and warnings<br> + Quiet mode (-q): do not print output (h5diff always returns an exit code of + 1 when differences are found). + <dd> + <p> + Additional information, with several sample cases, + can be found in the document + <a href="http://www.hdfgroup.org/HDF5/h5diff/h5diff_design.html"> + <cite>H5diff Examples</cite></a>. + + + <p> + <b><code>h5diff</code> and NaNs:</b> + <br> + <code>h5diff</code> detects when a value in a dataset is a NaN + (a "not a number" value), but does not differentiate among various + types of NaNs. + Thus, when one NaN is compared with another NaN, <code>h5diff</code> + treats them as equal; when a NaN is compared with a valid number, + <code>h5diff</code> treats them as not equal. + + +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><em>file1</em> + <dt><em>file2</em> + <dd>The HDF5 files to be compared. + <dt><code>-h</code> + <dd>help message. + <dt><code>-r</code> + <dd>Report mode. Print the differences.<dt><code>-v</code> + <dd>Verbose mode. Print the differences, list of objects, warnings.<dt><code>-q</code> + <dd>Quiet mode. Do not print output. + <dt><code>-n</code> <em>count</em> + <dd>Print difference up to <em>count</em> differences, + then stop. + <em>count</em> must be a positive integer. + <dt><code>-d</code> <em>delta</em> + <dd>Print only differences that are greater than the + limit <em>delta</em>. + <em>delta</em> must be a positive number. + The comparison criterion is whether the + absolute value of the difference of + two corresponding values is greater than + <em>delta</em> + <br>(e.g., <code> |a–b| > <em>delta</em></code>, + where <code>a</code> is a value in <em>file1</em> and + <code>b</code> is a value in <em>file2</em>). + <dt><code>-p</code> <em>relative</em> + <dd>Print only differences that are greater than a + relative error. + <em>relative</em> must be a positive number. + The comparison criterion is whether the + absolute value of the difference <code>1</code> + and the ratio of two corresponding values + is greater than <em>relative</em> + (e.g., <code>|1–(b/a)| > <em>relative</em></code> + where <code>a</code> is a value in <em>file1</em> and + <code>b</code> is a value in <em>file2</em>). + <dt><em>object1</em> + <dt><em>object2</em> + <dd>Specific object(s) within the files to be compared. + </dl> +<!-- NEW PAGE --> +<dt><strong>Examples:</strong> + <dd>The following <code>h5diff</code> call compares + the object <code>/a/b</code> in <code>file1</code> + with the object <code>/a/c</code> in <code>file2</code>:<br> + <code> h5diff file1 file2 /a/b /a/c</code> + <dd>This <code>h5diff</code> call compares + the object <code>/a/b</code> in <code>file1</code> + with the same object in <code>file2</code>:<br> + <code> h5diff file1 file2 /a/b</code> + <dd>And this <code>h5diff</code> call compares + all objects in both files:<br> + <code> h5diff file1 file2</code> + <br> + file1 and file2 can be the same file. Use:<br> + <code> h5diff </code><code> file1 file1 /g1/dset1 /g1/dset2</code> <br> + to compare <code>/g1/dset1</code> and <code>/g1/dset2</code> in the same file<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> +--> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Command Line Tool</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Tool introduced in this release.</td></tr> + </table></ul> +</dl> + + diff --git a/doc/html/Tools/h5dump.htm b/doc/html/Tools/h5dump.htm new file mode 100644 index 0000000..df96364 --- /dev/null +++ b/doc/html/Tools/h5dump.htm @@ -0,0 +1,408 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5dump" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-Dump">h5dump</a> +<dt><strong>Syntax:</strong> + <dd><code>h5dump + [</code><em>OPTIONS</em><code>]</code> <em>file</em> +<dt><strong>Purpose:</strong> + <dd>Displays HDF5 file contents. +<dt><strong>Description:</strong> + <dd><code>h5dump</code> enables the user to examine + the contents of an HDF5 file and dump those contents, in human + readable form, to an ASCII file. + <p> + <code>h5dump</code> dumps HDF5 file content to standard output. + It can display the contents of the entire HDF5 file or + selected objects, which can be groups, datasets, a subset of a + dataset, links, attributes, or datatypes. + </p> + <p> + The <code>--header</code> option displays object header + information only. + </p> + <p> + Names are the absolute names of the objects. <code>h5dump</code> + displays objects in the order same as the command order. If a + name does not start with a slash, <code>h5dump</code> begins + searching for the specified object starting at the root group. + </p> + <p> + If an object is hard linked with multiple names, + <code>h5dump</code> displays the content of the object in the + first occurrence. Only the link information is displayed in later + occurrences. + </p> + <p> + <code>h5dump</code> assigns a name for any unnamed datatype in + the form of + <code>#</code><em>oid1</em><code>:</code><em>oid2</em>, where + <em>oid1</em> and <em>oid2</em> are the object identifiers + assigned by the library. The unnamed types are displayed within + the root group. + </p> + <p> + Datatypes are displayed with standard type names. For example, + if a dataset is created with <code>H5T_NATIVE_INT</code> type + and the standard type name for integer on that machine is + <code>H5T_STD_I32BE</code>, <code>h5dump</code> displays + <code>H5T_STD_I32BE</code> as the type of the dataset. + </p> + <p> + <code>h5dump</code> can also dump a subset of a dataset. + This feature operates in much the same way as hyperslabs in HDF5; + the parameters specified on the command line are passed to the + function <a href="RM_H5S.html#Dataspace-SelectHyperslab"> + <code>H5Sselect_hyperslab</code></a> and the resulting selection + is displayed. + </p> + <p> + The <code>h5dump</code> output is described in detail in the + <a href="ddl.html"><cite>DDL for HDF5</cite></a>, the + <cite>Data Description Language</cite> document. + </p> + <p> + <em>Note</em>: It is not permissible to specify multiple + attributes, datasets, datatypes, groups, or soft links with one + flag. For example, one may not issue the command + <br> + + <font size=-1>WRONG:</font> + <code>h5dump -a /attr1 /attr2 foo.h5</code> + </br> + to display both <code>/attr1</code> and <code>/attr2</code>. + One must issue the following command: + <br> + + <font size=-1>CORRECT:</font> + <code>h5dump -a /attr1 -a /attr2 foo.h5</code> + </br> + </p> + <p> + It's possible to select the file driver with which to open the + HDF5 file by using the --filedriver (-f) command-line option. + Acceptable values for the --filedriver option are: "sec2", + "family", "split", "multi", and "stream". If the file driver flag + isn't specified, then the file will be opened with each driver in + turn and in the order specified above until one driver succeeds + in opening the file. + </p> + <p> + One byte integer type data is displayed in decimal by default. When + displayed in ASCII, a non-printable code is displayed in 3 octal + digits preceeded by a back-slash unless there is a C language escape + sequence for it. For example, CR and LF are printed as \r and \n. + Though the NUL code is represented as \0 in C, it is printed as + \000 to avoid ambiguity as illustrated in the following 1 byte + char data (since this is not a string, embedded NUL is possible). + <pre> + 141 142 143 000 060 061 062 012 + a b c \0 0 1 2 \n </pre> + h5dump prints them as "abc\000012\n". But if h5dump prints NUL as \0, + the output is "abc\0012\n" which is ambiguous. + </p> + +<dt><strong>XML Output:</strong> + <dd>With the <code>--xml</code> option, <code>h5dump</code> generates + XML output. This output contains a complete description of the file, + marked up in XML. The XML conforms to the HDF5 Document Type + Definition (DTD) available at + <a href="http://www.hdfgroup.org/DTDs/HDF5-File.dtd"> + <code>http://www.hdfgroup.org/DTDs/HDF5-File.dtd</code></a>. + <p> + The XML output is suitable for use with other tools, including the + <a href="http://www.hdfgroup.org/hdf-java-html" + target="ToolsExt">HDF5 Java Tools</a>. + +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><code>-h</code> or + <code>--help</code></dt> + <dd>Print a usage message and exit.</dd> + <dt><code>-n</code> or + <code>--contents</code></dt> + <dd>Print a list of the file contents and exit.</dd> + <dt><code>-B</code> or + <code>--bootblock</code></dt> + <dd>Print the contents of the boot block.</dd> + <dt><code>-H</code> or + <code>--header</code></dt> + <dd>Print the header only; no data is displayed.</dd> + <dt><code>-A</code> + <dd>Print the header and value of attributes; + data of datasets is not displayed.</dd> + <dt><code>-i</code> or + <code>--object-ids</code></dt> + <dd>Print the object ids.</dd> + <dt><code>-r</code> or + <code>--string</code></dt> + <dd>Print 1-bytes integer datasets as ASCII.</dd> + <dt><code>-e</code></dt> + <dd>Escape non-printing characters.</dd> + <dt><code>-V</code> or + <code>--version</code></dt> + <dd>Print version number and exit.</dd> + <dt><code>-a <em>P</em></code> or + <code>--attribute=<em>P</em></code></dt> + <dd>Print the specified attribute.</dd> + <dt><code>-d <em>P</em></code> or + <code>--dataset=<em>P</em></code></dt> + <dd>Print the specified dataset.</dd> + <dt><code>-y</code></dt> + <dd>Do not print array indices with data.</dd> + <dt><code>-p</code> or + <code>--properties</code></dt> + <dd>Print dataset filters, storage layout, and fill value.</dd> + <dt><code>-f <em>D</em></code> or + <code>--filedriver=<em>D</em></code></dt> + <dd>Specify which driver to open the file with.</dd> + <dt><code>-g <em>P</em></code> or + <code>--group=<em>P</em></code></dt> + <dd>Print the specified group and all members.</dd> + <dt><code>-l <em>P</em></code> or + <code>--soft-link=<em>P</em></code></dt> + <dd>Print the value(s) of the specified soft link.</dd> + <dt><code>-o <em>F</em></code> or + <code>--output=<em>F</em></code></dt> + <dd>Output raw data into file F.</dd> + <dt><code>-t <em>P</em></code> or + <code>--datatype=<em>P</em></code></dt> + <dd>Print the specified named datatype.</dd> + <dt><code>-w <em>N</em></code> or + <code>--width=<em>N</em></code></dt> + <dd>Set the number of columns of output.</dd> + <dt><code>-b <em>B</em></code> or + <code>--binary=<em>B</em></code></dt> + <dd>Output dataset to a binary file + using the datatype specified by <code><em>B</em></code>. + <br> + <code><em>B</em></code> must have one of the following values: + <br> + + <code>LE </code> + Little-endian + <br> + + <code>BE </code> + Big-endian + <br> + + <code>MEMORY </code> + Memory datatype + <br> + + <code>FILE </code> + File datatype + <br> + Recommended usage is with the <code>-d</code> and <code>-o</code> + options. + </dd> + <dt><code>-x <em></em></code> or + <code>--xml</code></dt> + <dd>Output XML using XML schema (default) instead of DDL.</dd> + <dt><code>-u <em></em></code> or + <code>--use-dtd</code></dt> + <dd>Output XML using XML DTD instead of DDL.</dd> + <dt><code>-D <em>U</em></code> or + <code>--xml-dtd=<em>U</em></code></dt> + <dd>In XML output, refer to the DTD or schema at <em>U</em> + instead of the default schema/DTD.</dd> + <dt><code>-X <em>S</em></code> or + <code>--xml-dns=<em>S</em></code></dt> + <dd>In XML output, (XML Schema) use qualified names in the XML:<br> + + ":": no namespace, default: "hdf5:"</dd> + <dt><code>--</code></dt> + <dd>Indicates that the following argument is not an option. + E.g., to dump a file called `-f', use h5dump -- -f. + <br> + <i>(This option is necessary only when the name of the file to + be examined starts with a dash (<code>-</code>), which could + confuse the tool’s command-line parser.)</i> + <dt><em>file</em></dt> + <dd>The file to be examined.</dd> + + <dt> + <dt>The next four options enable subsetting, which is + accomplished by selecting a hyperslab from a dataset. + These options mirror the techniques used by an HDF5 + application when performing hyperslab selection. + The <code>start</code> and <code>count</code> parameters + are mandatory if subsetting is to be performed; + the <code>stride</code> and <code>block</code> parameters + are optional and will default to <code>1</code> (one). + <dt><code>-s <em>L</em></code> or + <code>--start=<em>L</em></code></dt> + <dd>Offset of start of subsetting selection. + <br> + Default: the beginning of the dataset.</dd> + <dt><code>-S <em>L</em></code> or + <code>--stride=<em>L</em></code></dt> + <dd>Hyperslab stride. + <br> + Default: 1 in all dimensions.</dd> + <dt><code>-c <em>L</em></code> or + <code>--count=<em>L</em></code></dt> + <dd>Number of blocks to include in the selection.</dd> + <dt><code>-k <em>L</em></code> or + <code>--block=<em>L</em></code></dt> + <dd>Size of block in hyperslab. + <br> + Default: 1 in all dimensions.</dd> + + <dt> + <dt>Subsetting parameters can also be expressed in a convenient + compact form, as follows: + <br> + + <code>--dataset="/foo/mydataset[START;STRIDE;COUNT;BLOCK]"</code> + <br> + All of the semicolons (<code>;</code>) are required, even when + a parameter value is not specified. + When not specified, default parameter values are used. + + <dt> + <dt>The option parameters listed above are defined as follows: + <dd><em>D</em> -- which file driver to use in opening the + file. Acceptable values are "sec2", "family", "split", + "multi", and "stream". Without the file driver flag the + file will be opened with each driver in turn and in the + order specified above until one driver succeeds in + opening the file.</dd> + <dd><em>P</em> -- The full path from the root group to + the object</dd> + <dd><em>F</em> -- A filename</dd> + <dd><em>N</em> -- An integer greater than 1</dd> + <dd><em>L</em> -- A list of integers, the number of which is + equal to the number of dimensions in the dataspace being + queried</dd> + <dd><em>U</em> -- A URI (as defined in + [<a href="http://www.ietf.org/rfc/rfc2396.txt">IETF RFC 2396</a>], + updated by + [<a href="http://www.ietf.org/rfc/rfc2732.txt">IETF RFC 2732</a>]) + that refers to the DTD to be used to validate the XML</dd> + </dl> + <p> + +<dt><strong>Examples:</strong> + <ol> + <li>Dump the group <code>/GroupFoo/GroupBar</code> in the file + <code>quux.h5</code>: + <blockquote> + <code>h5dump -g /GroupFoo/GroupBar quux.h5</code> + </blockquote> + <li>Dump the dataset <code>Fnord</code>, which is in the group + <code>/GroupFoo/GroupBar</code> in the file <code>quux.h5</code>: + <blockquote> + <code>h5dump -d /GroupFoo/GroupBar/Fnord quux.h5</code> + </blockquote> + <li>Dump the attribute <code>metadata</code> of the dataset + <code>Fnord</code>, which is in group + <code>/GroupFoo/GroupBar</code> in the file <code>quux.h5</code>: + <blockquote> + <code>h5dump -a /GroupFoo/GroupBar/Fnord/metadata quux.h5</code> + </blockquote> + <li>Dump the attribute <code>metadata</code> which is an + attribute of the root group in the file <code>quux.h5</code>: + <blockquote> + <code>h5dump -a /metadata quux.h5</code> + </blockquote> + <li>Produce an XML listing of the file <code>bobo.h5</code>, + saving the listing in the file <code>bobo.h5.xml</code>: + <blockquote> + <code>h5dump --xml bobo.h5 > bobo.h5.xml</code> + </blockquote> + <li>Dump a subset of the dataset <code>/GroupFoo/databar/</code> + in the file <code>quux.h5</code> + <blockquote> + <code>h5dump -d /GroupFoo/databar --start="1,1" --stride="2,3" + <br> + --count="3,19" --block="1,1" quux.h5</code> + </blockquote> + <li>The same example, using the short form to specify the + subsetting parameters: + <blockquote> + <code>h5dump -d "/GroupFoo/databar[1,1;2,3;3,19;1,1]" quux.h5</code> + </blockquote> + <li>Dump a binary copy of the dataset <code>/GroupD/FreshData/</code> + in the file <code>quux.h5</code>, with data written in little-endian + form, to the output file <code>FreshDataD.bin</code>:<br> + <code> + h5dump -d "/GroupD/FreshData" -b LE -o "FreshDataD.bin" + quux.h5</code> + <br> + </ol> +<dt><strong>Current Status:</strong> + <dd>The current version of <code>h5dump</code> displays the + following information: + <ul> + <li>Group + <ul> + <li>group attribute (see Attribute) + <li>group member + </ul> + <li>Dataset + <ul> + <li>dataset attribute (see Attribute) + <li>dataset type (see Datatype) + <li>dataset space (see Dataspace) + <li>dataset data + </ul> + <li>Attribute + <ul> + <li>attribute type (see Datatype) + <li>attribute space (see Dataspace) + <li>attribute data + </ul> + <li>Datatype + <ul> + <li>integer type + <br> + - H5T_STD_I8BE, H5T_STD_I8LE, H5T_STD_I16BE, ... + <li>floating point type + <br> + - H5T_IEEE_F32BE, H5T_IEEE_F32LE, H5T_IEEE_F64BE, ... + <li>string type + <li>compound type + <br> + - named, unnamed and transient compound type + <br> + - integer, floating or string type member + <li>opaque types + <li>reference type + <br> + - object references + <br> + - data regions + <li>enum type + <li>variable-length datatypes + <br> + - atomic types only + <br> + - scalar or single dimensional array of variable-length + types supported + </ul> + <li>Dataspace + <ul> + <li>scalar and simple space + </ul> + <li>Soft link + <li>Hard link + <li>Loop detection + </ul> + +<dt><strong>See Also:</strong> + <ul> + <li>HDF5 Data Description Language syntax at + <a href="ddl.html"><cite>DDL for HDF5</cite></a> + + <li>HDF5 XML Schema at + <a href="http://www.hdfgroup.org/DTDs/HDF5-File.xsd">http://www.hdfgroup.org/DTDs/HDF5-File.xsd</a> + + <li>HDF5 XML information at + <a href="http://www.hdfgroup.org/HDF5/XML">http://www.hdfgroup.org/HDF5/XML/</a> + </ul> + +</dl> + diff --git a/doc/html/Tools/h5fc_and_h5pfc.htm b/doc/html/Tools/h5fc_and_h5pfc.htm new file mode 100644 index 0000000..a487315 --- /dev/null +++ b/doc/html/Tools/h5fc_and_h5pfc.htm @@ -0,0 +1,98 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5fc and h5pfc" --> +<hr> +<dl> +<dt><strong>Tool Names:</strong> <a name="Tools-H5FC">h5fc and h5pfc</a> +<dt><strong>Syntax:</strong> + <dd><code>h5fc + [</code><em>OPTIONS</em><code> ]</code> <em>compile_line</em> + <dd><code>h5pfc + [</code><em>OPTIONS</em><code> ]</code> <em>compile_line</em> +<dt><strong>Purpose:</strong> + <dd>Helper scripts to compile HDF5 Fortran90 applications. +<dt><strong>Description:</strong> + <dd><code>h5fc</code> and <code>h5pfc</code> can be used in much the + same way <code>mpif90</code> by MPICH is used to compile + an HDF5 program. + These tools take care of specifying on the command line + the locations of the HDF5 header files and libraries. + <code>h5fc</code> is for use in serial computing environments; + <code>h5pfc</code> is for parallel environments. + <p> + <code>h5fc</code> and <code>h5pfc</code> subsume all other + compiler scripts in that if you have used a set of scripts to compile + the HDF5 Fortran library, then <code>h5fc</code> and <code>h5pfc</code> + also use those scripts. For example, when + compiling an MPICH program, you use the <code>mpif90</code> + script. If you have built HDF5 using MPICH, then <code>h5fc</code> + uses the MPICH program for compilation. + <p> + Some programs use HDF5 in only a few modules. It is not necessary + to use <code>h5fc</code> and <code>h5pfc</code> to compile those + modules which do not use HDF5. + In fact, since <code>h5fc</code> and <code>h5pfc</code> are only + convenience scripts, you can still compile HDF5 Fortran modules in + the normal manner, though you will have to specify the + HDF5 libraries and include paths yourself. + Use the <code>-show</code> option to see the details. + <p> + An example of how to use <code>h5fc</code> to compile the program + <code>hdf_prog</code>, which consists of the modules + <code>prog1.f90</code> and <code>prog2.f90</code> + and uses the HDF5 Fortran library, would be as follows. + <code>h5pfc</code> is used in an identical manner. + <pre> + # h5fc -c prog1.f90 + # h5fc -c prog2.f90 + # h5fc -o hdf_prog prog1.o prog2.o </pre> +<dt><strong>Options and Parameters:</strong> + <dd> + <dl> + <dt><code>-help</code> + <dd>Print a help message. + <dt><code>-echo</code> + <dd>Show all the shell commands executed. + <dt><code>-prefix=DIR</code> + <dd>Use the directory <code>DIR</code> to find HDF5 + <code>lib/</code> and <code>include/</code> subdirectories. + <br> + Default: prefix specified when configuring HDF5. + <dt><code>-show</code> + <dd>Show the commands without executing them. + <dt><em>compile_line</em> + <dd>The normal compile line options for your compiler. + <code>h5fc</code> and <code>h5pfc</code> use the + same compiler you used to compile HDF5; + check your compiler's manual for more information + on which options are needed. + </dl> +<dt><strong>Environment Variables:</strong> + <dd>When set, these environment variables override some of the built-in + <code>h5fc</code> and <code>h5pfc</code> defaults. + <dl> + <dt><code>HDF5_FC</code> + <dd>Use a different Fortran90 compiler. + <dt><code>HDF5_FLINKER</code> + <dd>Use a different linker. + </dl> +<!-- NEW PAGE --> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Command Line Tool</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Tool introduced in this release.</td></tr> + </table></ul> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> + --> +</dl> + diff --git a/doc/html/Tools/h5import.htm b/doc/html/Tools/h5import.htm new file mode 100644 index 0000000..e96da81 --- /dev/null +++ b/doc/html/Tools/h5import.htm @@ -0,0 +1,741 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5import" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-Import">h5import</a> +<dt><strong>Syntax:</strong> + <dd><code>h5import + <em>infile</em> <em>in_options</em> + [<em>infile</em> <em>in_options</em> <b>...</b>] + -o <em>outfile</em> + </code> + <dd><code>h5import + <em>infile</em> <em>in_options</em> + [<em>infile</em> <em>in_options</em> <b>...</b>] + -outfile <em>outfile</em> + </code> + <dd><code>h5import -h</code> + <dd><code>h5import -help</code> +<dt><strong>Purpose:</strong> + <dd>Imports data into an existing or new HDF5 file. +<dt><strong>Description:</strong> + <dd><code>h5import</code> converts data + from one or more ASCII or binary files, <code><i>infile</i></code>, + into the same number of HDF5 datasets + in the existing or new HDF5 file, <code><i>outfile</i></code>. + Data conversion is performed in accordance with the + user-specified type and storage properties + specified in <code><em>in_options</em></code>. + <p> + The primary objective of <code>h5import</code> is to + import floating point or integer data. + The utility's design allows for future versions that + accept ASCII text files and store the contents as a + compact array of one-dimensional strings, + but that capability is not implemented in HDF5 Release 1.6. + + <p> + <b>Input data and options:</b><br> + Input data can be provided in one of the following forms: + <ul><li>As an ASCII, or plain-text, file containing either + floating point or integer data + <li>As a binary file containing either 32-bit or + 64-bit native floating point data + <li>As a binary file containing native integer data, + signed or unsigned and + 8-bit, 16-bit, 32-bit, or 64-bit. + <li>As an ASCII, or plain-text, file containing text data. + (This feature is not implemented in HDF5 Release 1.6.) + </ul> + Each input file, <code><i>infile</i></code>, + contains a single <em>n</em>-dimensional + array of values of one of the above types expressed + in the order of fastest-changing dimensions first. + <p> + Floating point data in an ASCII input file may be + expressed either in the fixed-point form (e.g., 323.56) + or in scientific notation (e.g., 3.23E+02) + in an ASCII input file. + <p> + Each input file can be associated with options specifying + the datatype and storage properties. + These options can be specified either as + <em>command line arguments</em> + or in a <em>configuration file</em>. + Note that exactly one of these approaches must be used with a + single input file. + <p> + Command line arguments, best used with simple input files, + can be used to specify + the class, size, dimensions of the input data and + a path identifying the output dataset. + <p> + The recommended means of specifying input data options + is in a configuration file; this is also the only means of + specifying advanced storage features. + See further discussion in "The configuration file" below. + <p> + The only required option for input data is dimension sizes; + defaults are available for all others. + <p> + <code>h5import</code> will accept up to 30 input files in a single call. + Other considerations, such as the maximum length of a command line, + may impose a more stringent limitation. + + <p> + <b>Output data and options:</b><br> + The name of the output file is specified following + the <code>-o</code> or <code>-output</code> option + in <code><i>outfile</i></code>. + The data from each input file is stored as a separate dataset + in this output file. + <code><i>outfile</i></code> may be an existing file. + If it does not yet exist, <code>h5import</code> will create it. + <p> + Output dataset information and storage properties can be + specified only by means of a configuration file. + <table width=100% border=0> + <tr valign=top align=left><td width=30> </td><td> + Dataset path + </td><td>If the groups in the path leading to the dataset + do not exist, <code>h5import</code> will create them.<br> + If no group is specified, the dataset will be created + as a member of the root group.<br> + If no dataset name is specified, the default name is + <code>dataset1</code> for the first input dataset, + <code>dataset2</code> for the second input dataset, + <code>dataset3</code> for the third input dataset, + etc.<br> + <code>h5import</code> does not overwrite a pre-existing + dataset of the specified or default name. + When an existing dataset of a conflicting name is + encountered, <code>h5import</code> quits with an error; + the current input file and any subsequent input files + are not processed. + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Output type + </td><td>Datatype parameters for output data + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Output data class + </td><td>Signed or unsigned integer or floating point + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Output data size + </td><td>8-, 16-, 32-, or 64-bit integer<br> + 32- or 64-bit floating point + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Output architecture + </td><td><code>IEEE</code><br> + <code>STD</code><br> + <code>NATIVE</code> (Default)<br> + Other architectures are included in the <code>h5import</code> design + but are not implemented in this release. + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Output byte order + </td><td>Little- or big-endian.<br> + Relevant only if output architecture + is <code>IEEE</code>, <code>UNIX</code>, or <code>STD</code>; + fixed for other architectures. + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Dataset layout and storage <br> + properties + </td><td>Denote how raw data is to be organized on the disk. + If none of the following are specified, + the default configuration is contiguous layout and with no compression. + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Layout + </td><td>Contiguous (Default)<br> + Chunked + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + External storage + </td><td>Allows raw data to be stored in a non-HDF5 file or in an + external HDF5 file.<br> + Requires contiguous layout. + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Compressed + </td><td>Sets the type of compression and the + level to which the dataset must be compressed.<br> + Requires chunked layout. + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Extendable + </td><td>Allows the dimensions of the dataset increase over time + and/or to be unlimited.<br> + Requires chunked layout. + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + Compressed and<br> + extendable + </td><td>Requires chunked layout. + </td></tr> + <tr valign=top align=left><td width=30> </td><td> + + </td><td> + </td></tr> + </table> + <p> + + <p> + <b>Command-line arguments:</b><br> + The <code>h5import</code> syntax for the command-line arguments, + <code><em>in_options</em></code>, is as follows: + <table width=100% border=0> + <tr><td> </td><td> + <code>h5import <em>infile</em> -d <em>dim_list</em> + [-p <em>pathname</em>] + [-t <em>input_class</em>] + [-s <em>input_size</em>] + [<em>infile</em> ...] + -o <em>outfile</em></code><br> + or<br> + <code>h5import <em>infile</em> -dims <em>dim_list</em> + [-path <em>pathname</em>] + [-type <em>input_class</em>] + [-size <em>input_size</em>] + [<em>infile</em> ...] + -outfile <em>outfile</em></code><br> + or<br> + <code>h5import <em>infile</em> -c <em>config_file</em> + [<em>infile</em> ...] + -outfile <em>outfile</em></code> + </td></tr> + </table> + Note the following: + If the <code>-c <em>config_file</em></code> option is used with + an input file, no other argument can be used with that input file. + If the <code>-c <em>config_file</em></code> option is not used with + an input data file, the <code>-d <em>dim_list</em></code> argument + (or <code>-dims <em>dim_list</em></code>) + must be used and any combination of the remaining options may be used. + Any arguments used must appear in <em>exactly</em> the order used + in the syntax declarations immediately above. + + <p> + <b>The configuration file:</b><br> + A configuration file is specified with the + <code>-c <em>config_file</em></code> option: + <table border=0> + <tr><td> </td><td> + <code>h5import <em>infile</em> -c <em>config_file</em> + [<em>infile</em> -c <em>config_file2</em> ...] + -outfile <em>outfile</em></code> + </td></tr> + </table> + <p> + The configuration file is an ASCII file and must be + organized as "Configuration_Keyword Value" pairs, + with one pair on each line. + For example, the line indicating that + the input data class (configuration keyword <code>INPUT-CLASS</code>) + is floating point in a text file (value <code>TEXTFP</code>) + would appear as follows:<br> + <code> INPUT-CLASS TEXTFP</code> + <p> + A configuration file may have the following keywords each + followed by one of the following defined values. + One entry for each of the first two keywords, + <code>RANK</code> and <code>DIMENSION-SIZES</code>, + is required; all other keywords are optional. + + <p> + <table width=100% border=0> + <tr align=left><th valign=top align=left> + <hr>Keyword <br><code> </code>Value + </th><th valign=top align=left><hr>Description + </th></tr> + + <tr valign=top align=left><td> + <hr><code>RANK </code> + </td><td><hr>The number of dimensions in the dataset. (Required) + </td></tr> + <tr valign=top align=left><td> + <code> <em>rank</em></code> + </td><td>An integer specifying the number of dimensions in the dataset.<br> + Example: <code> 4 </code> for a 4-dimensional dataset. + </td></tr> + + <tr valign=top align=left><td> + <hr><code>DIMENSION-SIZES</code> + </td><td><hr>Sizes of the dataset dimensions. (Required) + </td></tr> + <tr valign=top align=left><td> + <code> <em>dim_sizes</em></code> + </td><td>A string of space-separated integers + specifying the sizes of the dimensions in the dataset. + The number of sizes in this entry must match the value in + the <code>RANK</code> entry. + The fastest-changing dimension must be listed first.<br> + Example: <code> 4 3 4 38 </code> for a 38x4x3x4 dataset. + </td></tr> + +<!-- NEW PAGE --> + <tr valign=top align=left><td> + <hr><code>PATH</code> + </td><td><hr>Path of the output dataset. + </td></tr> + <tr valign=top align=left><td> + <code> <em>path</em></code> + </td><td>The full HDF5 pathname identifying the output dataset + relative to the root group within the output file.<br> + I.e., <code><em>path</em></code> is a string consisting of + optional group names, each followed by a slash, + and ending with a dataset name. + If the groups in the path do no exist, they will be + created.<br> + If <code>PATH</code> is not specified, the output dataset + is stored as a member of the root group and the + default dataset name is + <code>dataset1</code> for the first input dataset, + <code>dataset2</code> for the second input dataset, + <code>dataset3</code> for the third input dataset, etc.<br> + Note that <code>h5import</code> does not overwrite a + pre-existing dataset of the specified or default name. + When an existing dataset of a conflicting name is + encountered, <code>h5import</code> quits with an error; + the current input file and any subsequent input files + are not processed.<br> + Example: The configuration file entry + <table border=0> + <tr><td> </td><td> + <code>PATH grp1/grp2/dataset1</code> + </td></tr> + </table> + indicates that the output dataset <code>dataset1</code> will + be written in the group <code>grp2/</code> which is in + the group <code>grp1/</code>, + a member of the root group in the output file. + </td></tr> + + <tr valign=top align=left><td> + <hr><code>INPUT-CLASS </code> + </td><td><hr>A string denoting the type of input data. + </td></tr> + <tr valign=top align=left><td> + <code> TEXTIN</code> + </td><td>Input is signed integer data in an ASCII file. + </td></tr> + <tr valign=top align=left><td> + <code> TEXTUIN</code> + </td><td>Input is unsigned integer data in an ASCII file. + </td></tr> + <tr valign=top align=left><td> + <code> TEXTFP</code> + </td><td>Input is floating point data in + either fixed-point notation (e.g., 325.34) + or scientific notation (e.g., 3.2534E+02) + in an ASCII file. + </td></tr> +<!-- + <tr valign=top align=left><td> + <code> TEXTFPE</code> + </td><td>Input is floating point data in scientific notation (e.g., 3.2534E+02) + in an ASCII file.<br> + (Not implemented in this release.) + </td></tr> +--> + <tr valign=top align=left><td> + <code> IN</code> + </td><td>Input is signed integer data in a binary file. + </td></tr> + <tr valign=top align=left><td> + <code> UIN</code> + </td><td>Input is unsigned integer data in a binary file. + </td></tr> + <tr valign=top align=left><td> + <code> FP</code> + </td><td>Input is floating point data in a binary file. (Default) + </td></tr> + <tr valign=top align=left><td> + <code> STR</code> + </td><td>Input is character data in an ASCII file. + With this value, the configuration keywords + <code>RANK</code>, <code>DIMENSION-SIZES</code>, + <code>OUTPUT-CLASS</code>, <code>OUTPUT-SIZE</code>, + <code>OUTPUT-ARCHITECTURE</code>, and <code>OUTPUT-BYTE-ORDER</code> + will be ignored.<br> + (Not implemented in this release.) + </td></tr> + + <tr valign=top align=left><td> + <hr><code>INPUT-SIZE</code> + </td><td><hr>An integer denoting the size of the input data, in bits. + </td></tr> + <tr valign=top align=left><td> + <code> 8</code><br> + <code> 16</code><br> + <code> 32</code><br> + <code> 64</code> + </td><td>For signed and unsigned integer data: + <code>TEXTIN</code>, <code>TEXTUIN</code>, + <code>IN</code>, or <code>UIN</code>. + (Default: <code> 32</code>) + </td></tr> + <tr valign=top align=left><td> + <code> 32</code><br> + <code> 64</code> + </td><td>For floating point data: + <code>TEXTFP</code> + <!-- + , <code>TEXTFPE</code>, + --> + or <code>FP</code>. + (Default: <code> 32</code>) + </td></tr> + +<!-- NEW PAGE --> + <tr valign=top align=left><td> + <hr><code>OUTPUT-CLASS </code> + </td><td><hr>A string denoting the type of output data. + </td></tr> + <tr valign=top align=left><td> + <code> IN</code> + </td><td>Output is signed integer data.<br> + (Default if <code>INPUT-CLASS</code> is + <code>IN</code> or <code>TEXTIN</code>) + </td></tr> + <tr valign=top align=left><td> + <code> UIN</code> + </td><td>Output is unsigned integer data.<br> + (Default if <code>INPUT-CLASS</code> is + <code>UIN</code> or <code>TEXTUIN</code>) + </td></tr> + <tr valign=top align=left><td> + <code> FP</code> + </td><td>Output is floating point data.<br> + (Default if <code>INPUT-CLASS</code> is not specified or is + <code>FP</code> or <code>TEXTFP</code>) + </td></tr> + <tr valign=top align=left><td> + <code> STR</code> + </td><td>Output is character data, + to be written as a 1-dimensional array of strings.<br> + (Default if <code>INPUT-CLASS</code> is <code>STR</code>)<br> + (Not implemented in this release.) + </td></tr> + + <tr valign=top align=left><td> + <hr><code>OUTPUT-SIZE</code> + </td><td><hr>An integer denoting the size of the output data, in bits. + </td></tr> + <tr valign=top align=left><td> + <code> 8</code><br> + <code> 16</code><br> + <code> 32</code><br> + <code> 64</code> + </td><td>For signed and unsigned integer data: + <code>IN</code> or <code>UIN</code>. + (Default: Same as <code>INPUT-SIZE</code>, else <code> 32</code>) + </td></tr> + <tr valign=top align=left><td> + <code> 32</code><br> + <code> 64</code> + </td><td>For floating point data: + <code>FP</code>. + (Default: Same as <code>INPUT-SIZE</code>, else <code> 32</code>) + </td></tr> + + <tr valign=top align=left><td> + <hr><code>OUTPUT-ARCHITECTURE</code> + </td><td><hr>A string denoting the type of output architecture. + </td></tr> + <tr valign=top align=left><td> + <code> NATIVE</code><br> + <code> STD</code><br> + <code> IEEE</code><br> + <code> INTEL</code> *<br> + <code> CRAY</code> *<br> + <code> MIPS</code> *<br> + <code> ALPHA</code> *<br> + <code> UNIX</code> * + </td><td>See the "Predefined Atomic Types" section + in the "HDF5 Datatypes" chapter + of the <cite>HDF5 User's Guide</cite> + for a discussion of these architectures.<br> + Values marked with an asterisk (*) are not implemented in this release.<br> + (Default: <code>NATIVE</code>) + </td></tr> + + <tr valign=top align=left><td> + <hr><code>OUTPUT-BYTE-ORDER</code> + </td><td><hr>A string denoting the output byte order. + This entry is ignored if the <code>OUTPUT-ARCHITECTURE</code> + is not specified or if it is not specified as <code>IEEE</code>, + <code>UNIX</code>, or <code>STD</code>. + </td></tr> + <tr valign=top align=left><td> + <code> BE</code> + </td><td>Big-endian. (Default) + </td></tr> + <tr valign=top align=left><td> + <code> LE</code> + </td><td>Little-endian. + </td></tr> + +<!-- NEW PAGE --> + <tr valign=top align=left><td colspan="2"> + <hr>The following options are disabled by default, making + the default storage properties no chunking, no compression, + no external storage, and no extensible dimensions. + </td></tr> + + <tr valign=top align=left><td> + <hr><code>CHUNKED-DIMENSION-SIZES</code><br> + </td><td><hr>Dimension sizes of the chunk for chunked output data. + </td></tr> + <tr valign=top align=left><td> + <code> <em>chunk_dims</em></code> + </td><td>A string of space-separated integers specifying the + dimension sizes of the chunk for chunked output data. + The number of dimensions must correspond to the value + of <code>RANK</code>.<br> + The presence of this field indicates that the + output dataset is to be stored in chunked layout; + if this configuration field is absent, + the dataset will be stored in contiguous layout. + </td></tr> + + <tr valign=top align=left><td> + <hr><code>COMPRESSION-TYPE</code> + </td><td><hr>Type of compression to be used with chunked storage. + Requires that <code>CHUNKED-DIMENSION-SIZES</code> + be specified. + </td></tr> + <tr valign=top align=left><td> + <code> GZIP</code> + </td><td>Gzip compression.<br> + Other compression algorithms are not implemented + in this release of <code>h5import</code>. + </td></tr> + + <tr valign=top align=left><td> + <hr><code>COMPRESSION-PARAM</code> + </td><td><hr>Compression level. + Required if <code>COMPRESSION-TYPE</code> is specified. + </td></tr> + <tr valign=top align=left><td> + <code> 1</code> through <code>9</code> + </td><td>Gzip compression levels: + <code>1</code> will result in the fastest compression + while <code>9</code> will result in the + best compression ratio.<br> + (Default: 6. The default gzip compression level is 6; + not all compression methods will have a default level.) + </td></tr> + + <tr valign=top align=left><td> + <hr><code>EXTERNAL-STORAGE</code> + </td><td><hr>Name of an external file in which to create the output dataset. + Cannot be used with <code>CHUNKED-DIMENSIONS-SIZES</code>, + <code>COMPRESSION-TYPE</code>, OR <code>MAXIMUM-DIMENSIONS</code>. + </td></tr> + <tr valign=top align=left><td> + <code> <i>external_file</i> </code> + <!-- THE EXTRA NON-BREAKING SPACES AT THE END OF THE PRECEDING LINE --> + <!-- ARE PADDING SPACES TO ENSURE THE PROPER FORMATTING OF THIS TABLE. --> + <!-- DO NOT REMOVE THEM!!!!!!!!!!!!! --> + </td><td>A string specifying the name of an external file. + </td></tr> + + <tr valign=top align=left><td> + <hr><code>MAXIMUM-DIMENSIONS</code> + </td><td><hr>Maximum sizes of all dimensions. + Requires that <code>CHUNKED-DIMENSION-SIZES</code> be specified. + </td></tr> + <tr valign=top align=left><td> + <code> <em>max_dims</em></code> + </td><td>A string of space-separated integers specifying the + maximum size of each dimension of the output dataset. + A value of <code>-1</code> for any dimension implies + unlimited size for that particular dimension.<br> + The number of dimensions must correspond to the value + of <code>RANK</code>.<br> + </td></tr> + + <tr valign=top align=left><td><hr></td><td><hr></td></tr> + </table> + + <p> +<!-- NEW PAGE --> + <b>The <code>help</code> option:</b><br> + The help option, expressed as one of + <table width=100% border=0> + <tr><td> </td><td> + <code>h5import -h</code><br> + or<br> + <code>h5import -help</code><br> + </td></tr> + <tr><td colspan="2">prints the <code>h5import</code> usage summary</td></tr> + <tr><td> </td><td> + <code> + h5import -h[elp], OR<br> + h5import <infile> <options> + [<infile> <options>...] + -o[utfile] <outfile></code> + </td></tr> + <tr><td colspan="2">then exits.</td></tr> + </table> + <p> + +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><code>infile(s)</code> + <dd>Name of the Input file(s). + <dt><code>in_options</code> + <dd>Input options. Note that while only the <code>-dims</code> argument + is required, arguments must used in the order in which they are listed below. + <dl> + <dt><code>-d <em>dim_list</em></code> + <dt><code>-dims <em>dim_list</em></code> + <dd>Input data dimensions. + <code><em>dim_list</em></code> is a string of + comma-separated numbers with no spaces + describing the dimensions of the input data. + For example, a 50 × 100 2-dimensional array would be + specified as <code>-dims 50,100</code>.<br> + Required argument: if no configuration file is used, + this command-line argument is mandatory. + <dt><code>-p <em>pathname</em></code> + <dt><code>-pathname <em>pathname</em></code> + <dd><code><em>pathname</em></code> is a string consisting of + one or more strings separated by slashes (<code>/</code>) + specifying the path of the dataset in the output file. + If the groups in the path do no exist, they will be + created.<br> + Optional argument: if not specified, + the default path is + <code>dataset1</code> for the first input dataset, + <code>dataset2</code> for the second input dataset, + <code>dataset3</code> for the third input dataset, + etc.<br> + <code>h5import</code> does not overwrite a pre-existing + dataset of the specified or default name. + When an existing dataset of a conflicting name is + encountered, <code>h5import</code> quits with an error; + the current input file and any subsequent input files + are not processed. + <dt><code>-t <em>input_class</em></code> + <dt><code>-type <em>input_class</em></code> + <dd><code><em>input_class</em></code> specifies the class of the + input data and determines the class of the output data.<br> + Valid values are as defined in the Keyword/Values table + in the section "The configuration file" above.<br> + Optional argument: if not specified, + the default value is <code>FP</code>. + <dt><code>-s <em>input_size</em></code> + <dt><code>-size <em>input_size</em></code> + <dd><code><em>input_size</em></code> specifies the size in bits + of the input data and determines the size of the output data.<br> + Valid values for signed or unsigned integers are + <code>8</code>, <code>16</code>, <code>32</code>, and <code>64</code>.<br> + Valid values for floating point data are + <code>32</code> and <code>64</code>.<br> + Optional argument: if not specified, + the default value is <code>32</code>. + <dt><code>-c <em>config_file</em></code> + <dd><code><em>config_file</em></code> specifies a + configuration file.<br> + This argument replaces all other arguments except + <code><em>infile</em></code> and + <code>-o <em>outfile</em></code> + </dl> + <dt><code>outfile</code> + <dd>Name of the HDF5 output file. + </dl> + +<dt><strong>Examples:</strong> + <dd><b>Using command-line arguments:</b> + <table width=100% border=0> + <tr><td colspan=2> + <code>h5import infile -dims 2,3,4 -type TEXTIN -size 32 -o out1</code> + </td></tr><tr><td> </td><td> + This command creates a file <code>out1</code> containing + a single 2x3x4 32-bit integer dataset. + Since no pathname is specified, the dataset is stored + in <code>out1</code> as <code>/dataset1</code>. + </td></tr><tr><td colspan=2> + <code>h5import infile -dims 20,50 -path bin1/dset1 -type FP -size 64 -o out2</code> + </td></tr><tr><td> </td><td> + This command creates a file <code>out2</code> containing + a single a 20x50 64-bit floating point dataset. + The dataset is stored in <code>out2</code> as <code>/bin1/dset1</code>. + </td></tr> + </table> + + <dd><b>Sample configuration files:</b><br> + The following configuration file specifies the following:<br> + – The input data is a 5x2x4 floating point array in + an ASCII file.<br> + – The output dataset will be saved in chunked layout, + with chunk dimension sizes of 2x2x2.<br> + – The output datatype will be 64-bit floating point, + little-endian, IEEE.<br> + – The output dataset will be stored in + <code><em>outfile</em></code> + at <code>/work/h5/pkamat/First-set</code>.<br> + – The maximum dimension sizes of the output dataset + will be 8x8x(unlimited). + <pre> + PATH work/h5/pkamat/First-set + INPUT-CLASS TEXTFP + RANK 3 + DIMENSION-SIZES 5 2 4 + OUTPUT-CLASS FP + OUTPUT-SIZE 64 + OUTPUT-ARCHITECTURE IEEE + OUTPUT-BYTE-ORDER LE + CHUNKED-DIMENSION-SIZES 2 2 2 + MAXIMUM-DIMENSIONS 8 8 -1 + </pre> + + The next configuration file specifies the following:<br> + – The input data is a 6x3x5x2x4 integer array in + a binary file.<br> + – The output dataset will be saved in chunked layout, + with chunk dimension sizes of 2x2x2x2x2.<br> + – The output datatype will be 32-bit integer in + <code>NATIVE</code> format + (as the output architecture is not specified).<br> + – The output dataset will be compressed using Gzip compression + with a compression level of 7.<br> + – The output dataset will be stored in + <code><em>outfile</em></code> at <code>/Second-set</code>. + <pre> + PATH Second-set + INPUT-CLASS IN + RANK 5 + DIMENSION-SIZES 6 3 5 2 4 + OUTPUT-CLASS IN + OUTPUT-SIZE 32 + CHUNKED-DIMENSION-SIZES 2 2 2 2 2 + COMPRESSION-TYPE GZIP + COMPRESSION-PARAM 7 + </pre> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Command Line Tool</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Tool introduced in this release.</td></tr> + </table></ul> + +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> +--> +</dl> + diff --git a/doc/html/Tools/h5jam_and_h5unjam.htm b/doc/html/Tools/h5jam_and_h5unjam.htm new file mode 100644 index 0000000..06c5970 --- /dev/null +++ b/doc/html/Tools/h5jam_and_h5unjam.htm @@ -0,0 +1,88 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5jam and h5unjam" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-Jam">h5jam and h5unjam</a> +<dt><strong>Syntax:</strong> +<dd><code>h5jam -u user_block -i in_file.h5 [-o out_file.h5] [--clobber]</code></dd> +<dd><code>h5jam -h</code></dd> +<dd> </dd> +<dd><code>h5unjam -i in_file.h5 </code><code>[-u user_block | --delete] [</code><code>-o out_file.h5]</code></dd> +<dd><code>h5unjam -h</code></dd> + +<dt><strong>Purpose:</strong> + <dd>Add user block to front of an HDF5 file, to create a new concatenated + file.</dd> + <dd>Split user block and HDF5 file into two files, user block data and + HDF5 data.</dd> + <dt><strong>Description:</strong> + <dd><code>h5jam</code> concatenates a <code>user_block</code> + file and an HDF5 file to create an HDF5 file with a user block. + The user block can be either binary or text. + The output file is padded so that the HDF5 header begins on + byte 512, 1024, etc.. (See the HDF5 File Format.) + + <p>If <code>out_file.h5</code> is given, a new file is created with the <code>user_block</code> followed by the contents of<code> in_file.h5. </code>In this case,<code><big> </big>infile.h5 </code>is unchanged. + <p> +If <code>out_file.h5</code> is not specified, the <code>user_block</code> is added to<code> in_file.h5</code>. </dd> + <p> + If in_file.h5 already has a user block, the contents of <code>user_block</code> will be added to the end of the existing user block, and the file shifted to the next boundary. If <code>-clobber</code> is set, any existing user block will be overwritten. + + +<p><code>h5unjam</code><code></code> splits an HDF5 file, writing the +user block to a file or stdout and the HDF5 file to an HDF5 file with a header at byte +0 (i.e., with no user block). + <p>If <code>out_file.h5</code> is given, a new file is created with the<code></code><code> in_file.h5 </code>without <code></code>the user block.<code> </code>In this case,<code><big> </big>infile.h5 </code>is unchanged. +<p> If <code>out_file.h5</code> is not specified, the <code>user_block</code> is removed and <code>in_file.h5</code> is rewritten, starting at byte 0. + <p> +If <code>user_block</code> is set,the user block will be written to <code>user_block</code>. If <code>user_block</code> is not set, the user block (if any)<code></code> will be written to stdout. If <code>-delete</code> is selected, the user block will not be not written.</dd> + +<dt><strong>Example Usage</strong></dt> +<dd>Create new file, <code>newfile.h5</code>, with the text in file <code>mytext.txt</code> as the user block for the HDF5 file <code>file.h5</code>. + <pre> h5jam -u mytext.txt -i file.h5 -o newfile.h5</pre> + +Add text in file <code>mytext.txt</code> to front of HDF5 dataset, <code>file.h5</code><code></code>. + <pre> h5jam -u mytext.txt -i file.h5 </pre> + +Overwrite the user block (if any) in <code>file.h5</code> with the contents of <code>mytext.txt</code>. + <pre> h5jam -u mytext.txt -i file.h5 --clobber</pre> + +<!-- NEW PAGE --> +For an HDF5 file, <code>with_ub.h5</code>, with a user block, extract the user block to <code>user_block.txt</code> and the HDF5 file to <code>wo_ub.h5</code>. + <pre> h5unjam -i with_ub.h5 -u user_block.txt -o wo_ub.h5</pre> + + +<dt><strong></strong></dt><dt><strong>Return Value</strong></dt> +<dd><code>h5jam</code> returns the size of the output file, or -1 if an error occurs. + <p> + <code>h5unjam</code> returns the size of the output file, or -1 if an error occurs. + +<dt><strong>Caveats</strong></dt><dt><strong></strong> </dt> +<dd>This tool copies all the data (sequentially) in the file(s) to new offsets. +For a large file, this copy will take a long time. + <p>The most efficient way to create a user block is to create the file +with a user block (see <code>H5Pset_user_block</code>), and write +the user block data into that space from a program. + <p>The user block is completely opaque to the HDF5 library and to the h5jam +and h5unjam tools. The user block is simply read or written as a string +of bytes, which could be text or any kind of binary data. It is up +to the user to know what the contents of the user block means and how to +process it. +<p> +When the user block is extracted, all the data is written to the output, including any padding or unwritten data. +<p> +This tool moves the HDF5 file through byte copies, i.e., it does not read or interpret the HDF5 objects.<br> + + + + + + + + + + + + +</dl> + diff --git a/doc/html/Tools/h5ls.htm b/doc/html/Tools/h5ls.htm new file mode 100644 index 0000000..165928c --- /dev/null +++ b/doc/html/Tools/h5ls.htm @@ -0,0 +1,78 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5ls" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-Ls">h5ls</a> +<dt><strong>Syntax:</strong> + <dd><code>h5ls + [</code><em>OPTIONS</em><code>]</code><em> + file</em><code> + [</code><em>OBJECTS...</em><code>]</code> +<dt><strong>Purpose:</strong> + <dd>Prints information about a file or dataset. +<dt><strong>Description:</strong> + <dd><code>h5ls</code> prints selected information about file objects + in the specified format. +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><code>-h</code> or + <code>-?</code> or + <code>--help</code> + <dd>Print a usage message and exit. + <dt><code>-a</code> or + <code>--address</code> + <dd>Print addresses for raw data. + <dt><code>-d</code> or <code>--data</code> + <dd>Print the values of datasets. + <dt><code>-e</code> or + <code>--errors</code> + <dd>Show all HDF5 error reporting. + <dt><code>-f</code> or + <code>--full</code> + <dd>Print full path names instead of base names. + <dt><code>-g</code> or + <code>--group</code> + <dd>Show information about a group, not its contents. + <dt><code>-l</code> or + <code>--label</code> + <dd>Label members of compound datasets. + <dt><code>-r</code> or + <code>--recursive</code> + <dd>List all groups recursively, avoiding cycles. + <dt><code>-s</code> or + <code>--string</code> + <dd>Print 1-bytes integer datasets as ASCII. + <dt><code>-S</code> or + <code>--simple</code> + <dd>Use a machine-readable output format. + <dt><code>-w</code><em>N</em> or + <code>--width=</code><em>N</em> + <dd>Set the number of columns of output. + <dt><code>-v</code> or + <code>--verbose</code> + <dd>Generate more verbose output. + <dt><code>-V</code> or + <code>--version</code> + <dd>Print version number and exit. + <dt><code>-x</code> or + <code>--hexdump</code> + <dd>Show raw data in hexadecimal format. + <dt><em>file</em> + <dd>The file name may include a printf(3C) integer format + such as <code>%%05d</code> to open a file family. + <dt><em>objects</em> + <dd>Each object consists of an HDF5 file name optionally + followed by a slash and an object name within the file + (if no object is specified within the file then the + contents of the root group are displayed). The file name + may include a <code>printf(3C)</code> integer format such + as "%05d" to open a file family. + </dl> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> +--> +</dl> + diff --git a/doc/html/Tools/h5perf.htm b/doc/html/Tools/h5perf.htm new file mode 100644 index 0000000..e9688da --- /dev/null +++ b/doc/html/Tools/h5perf.htm @@ -0,0 +1,483 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5perf" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-Perf">h5perf</a> +<dt><strong>Syntax:</strong> + <dd><code>h5perf </code>[<code>-h </code>|<code> --help</code>] + <dd><code>h5perf </code>[<em>options</em>] + + <p> +<dt><strong>Purpose:</strong> + <dd>Tests Parallel HDF5 performance. + <p> +<dt><strong>Description:</strong> + <dd><code>h5perf</code> is a tool for testing the performance + of the Parallel HDF5 Library. + The tool can perform testing with 1-dimensional and 2-dimensional + buffers and datasets. + For details regarding data organization and access, see + “<a href="http://hdfgroup.org/HDF5/doc_resource/h5perf_parallel/h5perf_parallel.pdf">h5perf, + a Parallel File System Benchmarking Tool</a>.” + <p> + The following environment variables have the following + effects on <code>h5perf</code> behavior: + <table border=0> + <tr align="left" valign="top"><td> </td><td> + <code>HDF5_NOCLEANUP</code></td><td> + If set, <code>h5perf</code> does not remove data files. + <br> + (<i>Default:</i> Data files are removed.) + </td></tr> + <tr align="left" valign="top"><td> </td><td> + <code>HDF5_MPI_INFO</code></td><td> + Must be set to a string containing a list of semi-colon separated + <code>key=value</code> pairs for the MPI <code>INFO</code> object. + <br> + Example:</td></tr> + <tr align="left" valign="top"><td> </td><td> + <code>HDF5_PARAPREFIX </code></td><td> + Sets the prefix for parallel output data files.</td></tr> + </table> + + <p> +<dt><strong>Options and Parameters:</strong> + + <ul> + <table width="100%"> + <tr> + <td valign="top" colspan="2">These terms are used as follows in this section:</td></tr> + <tr> + <td valign="top"><em>file </em></td> + <td valign="top">A filename</td></tr> + <tr> + <td valign="top"><em>size</em></td> + <td valign="top">A size specifier, expressed as an integer + greater than or equal to 0 (zero) followed by a size indicator: + <br> + <code>K </code> for kilobytes (1024 bytes) + <br> + <code>M </code> for megabytes (1048576 bytes) + <br> + <code>G </code> for gigabytes (1073741824 bytes) + <br> + Example: <code>37M</code> specifies 37 megabytes or + 38797312 bytes.</td></tr> + <tr> + <td valign="top"><em>N</em></td> + <td valign="top">An integer greater than or equal + to 0 (zero)</td></tr> + </table><br> + + <table width="100%"> + <tr> + <td valign="top" colspan="2"><code>-h</code>, <code>--help</code></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Prints a usage message and exits.</td> + </tr> + <tr> + <td colspan="2" valign="top"><code>-a</code> <em>size</em>, + <code>--align=</code><em>size</em></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Specifies the alignment of objects in the HDF5 file. + <br> + (<i>Default:</i> <code>1</code>)</td> + </tr> + <tr> + <td colspan="2" valign="top"><code>-A</code> <em>api_list</em>, + <code>--api=</code><em>api_list</em></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Specifies which APIs to test. <em>api_list</em> + is a comma-separated list with the following valid values: + <table border="0"> + <tr align="left" valign="top"> + <td> </td> + <td><code>phdf5 </code></td> + <td>Parallel HDF5</td> + </tr> + <tr align="left" valign="top"> + <td> </td> + <td><code>mpiio</code></td> + <td>MPI-I/O</td> + </tr> + <tr align="left" valign="top"> + <td> </td> + <td><code>posix</code></td> + <td>POSIX</td> + </tr> + </table> + (<i>Default:</i> All APIs)<br> <br> + Example, <code>--api=mpiio,phdf5</code> specifies that the MPI I/O + and Parallel HDF5 APIs are to be monitored.</td> + </tr> +<!-- NEW PAGE --> + <tr> + <td valign="top" colspan="2"><code>-B</code> <em>size</em>, + <code>--block-size=</code><em>size</em></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Controls the block size within the transfer buffer. + <br> + (<i>Default:</i> Half the number of bytes per process per dataset) + <p> + Block size versus transfer buffer size: + <br> + The <em>transfer buffer size</em> is the size of a buffer + in memory. The data in that buffer is broken + into <em>block size</em> pieces and written to the file. + <p> + Transfer buffer size is discussed below with the + <code>-x</copde> (or <code>--min-xfer-size</code>) + and <code>-X</code> (or <code>--max-xfer-size</code>) options. + <p> + The pattern in which the blocks are written to the file is + described in the discussion of the <code>-I</code> + (or <code>--interleaved</code>) option.<br></td> + </tr> + <tr> + <td colspan="2" valign="top"><code>-c</code>, + <code>--chunk</code></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Creates HDF5 datasets in chunked layout. + <br> + (<i>Default:</i> Off)</td> + </tr> + <tr> + <td valign="top" colspan="2"><code>-C</code>, + <code>--collective</code></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Use collective I/O for the MPI I/O and + Parallel HDF5 APIs. + <br> + (<i>Default:</i> Off, i.e., independent I/O) + <p> + If this option is set and the MPI-I/O and PHDF5 APIs are in use, + all the blocks of every process will be written at once + with an MPI derived type.<br></td> + </tr> + <tr> + <td colspan="2" valign="top"><code>-d</code> <em>N</em>, + <code>--num-dsets</code><em>N</em></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Sets the number of datasets per file. + <br> + (<i>Default:</i> <code>1</code>)</td> + </tr> + <tr> + <td valign="top" colspan="2"><code>-D</code> <em>debug_flags</em>, + <code>--debug=</code><em>debug_flags</em></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Sets the debugging level. <em>debug_flags</em> + is a comma-separated list of debugging flags with the following + valid values: + <table border="0"> + <tr align="left" valign="top"> + <td> </td> + <td> <code>1 </code></td> + <td>Minimal debugging</td> + </tr> + <tr align="left" valign="top"> + <td> </td> + <td> <code>2</code></td> + <td>Moderate debugging (“not quite everything”)</td> + </tr> + <tr align="left" valign="top"> + <td> </td> + <td> <code>3</code></td> + <td>Extensive debugging (“everything”)</td> + </tr> + <tr align="left" valign="top"> + <td> </td> + <td> <code>4</code></td> + <td>All possible debugging (“the kitchen sink”)</td> + </tr> + <tr align="left" valign="top"> + <td> </td> + <td> <code>r</code></td> + <td>Raw data I/O throughput information</td> + </tr> + <tr align="left" valign="top"> + <td> </td> + <td> <code>t</code></td> + <td>Times, in additions to throughputs</td> + </tr> + <tr align="left" valign="top"> + <td> </td> + <td> <code>v</code></td> + <td>Verify data correctness</td> + </tr> + </table> + (<i>Default:</i> No debugging) + <p> + Example: <code>--debug=2,r,t</code> specifies to run a moderate + level of debugging while collecting raw data I/O throughput + information and verifying the correctness of the data. + <p> + Throughput values are computed by dividing the total amount of + transferred data (excluding metadata) over the time spent + by the slowest process. + Several time counters are defined to measure the data transfer + time and the total elapsed time; the latter includes the time + spent during file open and close operations. + A number of iterations can be specified with the + option <code>-i</code> (or <code>--num-iterations</code>) + to create the desired population of measurements from which + maximum, minimum, and average values can be obtained. + The timing scheme is the following: + + <pre> + for each iteration + initialize elapsed time counter + initialize data transfer time counter + for each file + start and accumulate elapsed time counter + file open + start and accumulate data transfer time counter + access entire file + stop data transfer time counter + file close + stop elapsed time counter + end file + save elapsed time counter + save data transfer time counter + end iteration + </pre> + + <p> + The reported write throughput is based on the accumulated data + transfer time, while the write open-close throughput uses the + accumulated elapsed time.</td> + </tr> + <tr> + <td colspan="2" valign="top"><code>-e</code> <em>size</em>, + <code>--num-bytes=</code><em>size</em></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Specifies the number of bytes per process per + dataset. + <br> + (<i>Default:</i> <code>256K</code> for 1D, + <code>8K</code> for 2D) + <p> + Depending on the selected geometry, each test dataset + can be a linear array of size + <em>bytes-per-process * num-processes</em> + or a square array of size + <em>(bytes-per-process * num-processes)</em> × + <em>(bytes-per-process * num-processes)</em>. + The number of processes is set by the + <code>-p</code> (or <code>--min-num-processes</code>) and + <code>-P</code> (or <code>--max-num-processes</code>) options.</td> + </tr> + <tr> + <td colspan="2" valign="top"><code>-F</code> <em>N</em>, + <code>--num-files=</code><em>N</em></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Specifies the number of files. + <br> + (<i>Default:</i> <code>1</code>)</td> + </tr> + <tr> + <td colspan="2" valign="top"><code>-g</code>, + <code>--geometry</code></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Selects 2D geometry for testing. + <br> + (<i>Default:</i> Off, i.e., 1D geometry)</td> + </tr> + </table> + +<!-- NEW PAGE --> + <table width="100%"> + <tr> + <td colspan="2" valign="top"><code>-i</code> <em>N</em>, + <code>--num-iterations=</code><em>N</em></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Sets the number of iterations to perform. + <br> + (<i>Default:</i> <code>1</code>)</td> + </tr> + <tr> + <td valign="top" colspan="2"><code>-I</code>, + <code>--interleaved</code></td> + </tr> + <tr> + <td valign="top"> </td> + <td valign="top">Sets interleaved block I/O. + <br> + (<i>Default:</i> Contiguous block I/O) + <p> + Interleaved and contiguous patterns in 1D geometry: + <br> + When a contiguous access pattern is chosen, the dataset is + evenly divided into <em>num-processes</em> regions and + each process writes data to its assigned region. + When interleaved blocks are written to a dataset, + space for the first block of the first process is allocated + in the dataset, then space is allocated for the first block + of the second process, etc., + until space is allocated for the first block of each process, + then space is allocated for the second block of the first process, + the second block of the second process, etc. + <p> + For example, with a three process run, 512KB bytes-per-process, + 256KB transfer buffer size, and 64KB block size, + each process must issue two transfer requests + to complete access to the dataset. + <p> + Contiguous blocks of the first transfer request are written + as follows: + <br><code> 1111----2222----3333----</code> + <p> + Interleaved blocks of the first transfer request are written + as follows: + <br><code> 123123123123------------</code> + <p> + The actual number of I/O operations involved in a + transfer request depends on the access pattern and + communication mode. + When using independent I/O with an interleaved access pattern, + each process performs four small non-contiguous I/O operations + per transfer request. If collective I/O is turned on, + the combined content of the buffers of the three processes + will be written using one collective I/O operation + per transfer request. + <p> + For details regarding the impact of performance and + access patterns in 2D, see + “<a href="http://hdfgroup.org/HDF5/doc_resource/h5perf_parallel/h5perf_parallel.pdf">h5perf, + a Parallel File System Benchmarking Tool</a>.” +</td> + </tr> + </table> + <table width="100%"> + <tr> + <td valign="top"><code>-m</code>, <code>--mpi-posix</code></td> + <td valign="top">Sets use of MPI-posix driver for HDF5 I/O. + <br> + (<i>Default:</i> MPI-I/O driver)</td> + </tr> + <tr> + <td valign="top"><code>-n</code>, <code>--no-fill</code></td> + <td valign="top">Specifies to not write fill values to HDF5 datasets. + This option is supported only in HDF5 Release v1.6 or later. + <br> + (<i>Default:</i> Off, i.e., write fill values)</td> + </tr> + <tr> + <td valign="top"><code>-o</code> <em>file</em>, + <code> --output=</code><em>file</em></td> + <td valign="top">Sets the output file for raw data to <em>file</em>. + <br> + (<i>Default:</i> None)</td> + </tr> + <tr> + <td valign="top"><code>-p</code> <em>N</em>, + <code>--min-num-processes=</code><em>N</em></td> + <td valign="top">Sets the minimum number of processes to be used. + <br> + (<i>Default:</i> <code>1</code>)</td> + </tr> + <tr> + <td valign="top"><code>-P</code> <em>N</em>, + <code>--max-num-processes=</code><em>N</em><br> + <code> </code> + </td> + <td valign="top">Sets the maximum number of processes to be used. + <br> + (<i>Default:</i> All <code>MPI_COMM_WORLD</code> processes)</td> + </tr> + <tr> + <td valign="top"><code>-T</code> <em>size</em>, + <code>--threshold=</code><em>size</em></td> + <td valign="top">Sets the threshold for alignment of objects in the + HDF5 file. + <br> + (<i>Default:</i> <code>1</code>)</td> + </tr> + <tr> + <td valign="top"><code>-w</code>, <code>--write-only</code></td> + <td valign="top">Performs only write tests, not read tests. + <br> + (<i>Default:</i> Read and write tests)</td> + </tr> + <tr> + <td valign="top"><code>-x</code> <em>size</em>, + <code>--min-xfer-size=</code><em>size</em></td> + <td valign="top">Sets the minimum transfer buffer size. + <br> + (<i>Default:</i> Half the number of bytes per processor + per dataset) + <p> + This option and the <code>-X</code> <em>size</em> option + (or <code>--max-xfer-size=</code><em>size</em>) + control <em>transfer-buffer-size</em>, the size of + the transfer buffer in memory. + In 1D geometry, the transfer buffer is a linear array + of size <em>transfer-buffer-size</em>. + In 2D geometry, the transfer buffer is a rectangular array of size + <em>block-size</em> × <em>transfer-buffer-size</em>, or + <em>transfer-buffer-size</em> × <em>block-size</em> + if the interleaved access pattern is selected.</td> + </tr> + <tr> + <td valign="top"><code>-X</code> <em>size</em>, + <code>--max-xfer-size=</code><em>size</em></td> + <td valign="top">Sets the maximum transfer buffer size. + <br> + (<i>Default:</i> The number of bytes per processor + per dataset)</td> + </tr> + </table> + </ul> + <p> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Change</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Tool introduced in this release.</td></tr> + <tr> + <td valign="top">1.6.8 and 1.8.0</td> + <td valign="top"> + Option <code>-g</code>, <code>--geometry</code> introduced + in this release.</td></tr> + </table></ul> +<!-- + <p> +<dt><strong>Current Status:</strong> + <dd> + <p> +<dt><strong>See Also:</strong> + <dd> +--> +</dl> + + diff --git a/doc/html/Tools/h5redeploy.htm b/doc/html/Tools/h5redeploy.htm new file mode 100644 index 0000000..45376de --- /dev/null +++ b/doc/html/Tools/h5redeploy.htm @@ -0,0 +1,64 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5redeploy" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-Redeploy">h5redeploy</a> +<dt><strong>Syntax:</strong> + <dd><code>h5redeploy </code> + [<code>help </code> | <code>-help</code>] + <dd><code>h5redeploy </code> + [<code>-echo</code>] + [<code>-force</code>] + [<code>-prefix=</code><em>dir</em>] + [<code>-tool=</code><em>tool</em>] + [<code>-show</code>] +<dt><strong>Purpose:</strong> + <dd>Updates HDF5 compiler tools after an HDF5 software installation + in a new location. +<dt><strong>Description:</strong> + <dd><code>h5redeploy</code> updates the HDF5 compiler tools after + the HDF5 software has been installed in a new location. + +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><code>help</code>, <code>-help</code> + <dd>Prints a help message. + <dt><code>-echo</code> + <dd>Shows all the shell commands executed. + <dt><code>-force</code> + <dd>Performs the requested action without offering any prompt + requesting confirmation. + <dt><code>-prefix=</code><em>dir</em> + <dd>Specifies a new directory in which to find the + HDF5 subdirectories <code>lib/</code> and + <code>include/</code>.<br> + (Default: current working directory) + <dt><code>-tool=</code><em>tool</em> + <dd>Specifies the tool to update. + <em>tool</em> must be in the current directory + and must be writable.<br> + (Default: <code>h5cc</code>) + <dt><code>-show</code> + <dd>Shows all of the shell commands to be executed + without actually executing them. + </dl> +<dt><strong>History:</strong> + <ul><table width="90%"> + <tr> + <td valign="top" align="left" width="10%"> + <strong>Release</strong> </td> + <td valign="top" align="left"> + <strong>Command Line Tool</strong></td></tr> + <tr> + <td valign="top">1.6.0</td> + <td valign="top"> + Tool introduced in this release.</td></tr> + </table></ul> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> +--> +</dl> + diff --git a/doc/html/Tools/h5repack.htm b/doc/html/Tools/h5repack.htm new file mode 100644 index 0000000..2fcdd6a --- /dev/null +++ b/doc/html/Tools/h5repack.htm @@ -0,0 +1,144 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5repack" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-Repack">h5repack</a> +<dt><strong>Syntax:</strong> + <dd><code>h5repack </code> + <code>[-h]</code> + <code>[-v]</code> + <code>[-m</code> <em>number</em><code>]</code> + <code>[-n]</code> + <code>[-f '</code><em>filter</em><code>']</code> + <code>[-l '</code><em>layout</em><code>']</code> + <code>[-e</code> <em>file</em><code>]</code> + <em>in_file</em> + <em>out_file</em> +<dt><strong>Purpose:</strong> + <dd>Copies an HDF5 file to a new file with or without compression/chunking. +<dt><strong>Description:</strong> + <dd><code>h5repack</code> is a command line tool that + applies HDF5 filters to an input file <em>in_file</em>, + saving the output in a new output file, <em>out_file</em>. + + <p></p> +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><code>-h</code> + <dd>Help message + <dt><code>-v</code> + <dd>Verbose output mode + <dt><code>-m</code> <em>number</em> + <dd>Do not apply the filter to objects which size in bytes is + smaller than number. If no size is specified a minimum of 1024 + bytes is assumed. + <dt><code>-n</code> + <dd>Use native HDF5 datatypes when repacking. + <br> + (Default behavior is to use original file datatypes.) + <br> + <em>Note that this is a change in default behavior; + prior to Release 1.6.6, <code>h5repack</code> generated + files only with native datatypes.</em> + <dt><code>-f</code> <em>filter</em> + <dd>Filter type + <p> + <em>filter</em> is a string with the following format: + <dir> + <list of objects> : <name of filter> + = <filter parameters> + <p> + <list of objects> is a comma separated list of object + names meaning apply compression only to those objects. + If no object names are specified, the filter is applied to + all objects. + <p> + <name of filter> can be one of the following: + <br> + <code>GZIP</code>, to apply the HDF5 GZIP filter + (GZIP compression) + <br> + <code>SZIP</code>, to apply the HDF5 SZIP filter + (SZIP compression) + <br> + <code>SHUF</code>, to apply the HDF5 shuffle filter + <br> + <code>FLET</code>, to apply the HDF5 checksum filter + <br> + <code>NONE</code>, to remove the filter + <p> + <filter parameters> conveys optional compression + information: + <br> + <code>SHUF</code> (no parameter) + <br> + <code>FLET</code> (no parameter) + <br> + <code>GZIP=</code><deflation level> from 1-9 +<!-- NEW PAGE --> + <br> + <code>SZIP=</code><pixels per block,coding> + <br> + Pixels per block is a even number in the range 2-32. + <br> + Coding method is <code>EC</code> or <code>NN</code>. + </dir> + <dt><code>-l</code> <em>layout</em> + <dd>Layout type + <p> + <em>layout</em> is a string with the following format:<br> + <dir> + <list of objects> : <layout type>=<layout parameters> + <p> + <list of objects> is a comma separated list of object + names, meaning that layout information is supplied for those + objects. If no object names are specified, the layout + is applied to all objects. + <p> + <layout type> can be one of the following: + <br> + <code>CHUNK</code>, to apply chunking layout + <br> + <code>COMPA</code>, to apply compact layout + <br> + <code>CONTI</code>, to apply continuous layout + <p> + <layout parameters> is present only in the + <code>CHUNK</code> case and specifies the chunk size of + each dimension in the following format with no intervening + spaces: + <br> + <code><em>dim_1</em> × <em>dim_2</em> × ... + <em>dim_n</em></code> + </dd> + </dir> + <dt><code>-e</code> <em>file</em> + <dd>File containing the -f and -l options + (only filter and layout flags) + <dt><em>in_file</em> + <dd>Input HDF5 file + <dt><em>out_file</em> + <dd>Output HDF5 file + </dl> + <p></p> +<dt><strong>Examples:</strong> + <dd> + <ol> + <li><code>h5repack -f GZIP=1 -v file1 file2 </code> + <br> + Applies GZIP compression to all objects in <code>file1</code> + and saves the output in <code>file2</code>. + Prints verbose output. + <br> + <li><code>h5repack -f dset1:SZIP=8,NN file1 file2 </code> + <br> + Applies SZIP compression only to object <code>dset1</code>. + <br> + <li><code>h5repack -l dset1,dset2:CHUNK=20x10 file1 file2</code> + <br> + Applies chunked layout to objects <code>dset1</code> + and <code>dset2</code>. + <br> +</dl> + + diff --git a/doc/html/Tools/h5repart.htm b/doc/html/Tools/h5repart.htm new file mode 100644 index 0000000..67bc489 --- /dev/null +++ b/doc/html/Tools/h5repart.htm @@ -0,0 +1,51 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5repart" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-Repart">h5repart</a> +<dt><strong>Syntax:</strong> + <dd><code>h5repart + [-v] + [-V] + [-[b|m]</code><em>N</em><code>[g|m|k]]</code> + <em>source_file + dest_file</em> +<dt><strong>Purpose:</strong> + <dd>Repartitions a file or family of files. +<dt><strong>Description:</strong> + <dd><code>h5repart</code> splits a single file into a family of + files, joins a family of files into a single file, or copies + one family of files to another while changing the size of the + family members. <code>h5repart</code> can also be used to + copy a single file to a single file with holes. + <p> + Sizes associated with the <code>-b</code> and <code>-m</code> + options may be suffixed with <code>g</code> for gigabytes, + <code>m</code> for megabytes, or <code>k</code> for kilobytes. + <p> + File family names include an integer <code>printf</code> + format such as <code>%d</code>. + +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><code>-v</code> + <dd>Produce verbose output. + <dt><code>-V</code> + <dd>Print a version number and exit. + <dt><code>-b</code><em>N</em> + <dd>The I/O block size, defaults to 1kB + <dt><code>-m</code><em>N</em> + <dd>The destination member size or 1GB + <dt><em>source_file</em> + <dd>The name of the source file + <dt><em>dest_file</em> + <dd>The name of the destination files + </dl> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> +--> +</dl> + diff --git a/doc/html/Tools/h5toh4.htm b/doc/html/Tools/h5toh4.htm new file mode 100644 index 0000000..dbd3f40 --- /dev/null +++ b/doc/html/Tools/h5toh4.htm @@ -0,0 +1,115 @@ +<!-- NEW PAGE --> +<!-- HEADER RIGHT "h5toh4" --> +<hr> +<dl> +<dt><strong>Tool Name:</strong> <a name="Tools-H5toh4">h5toh4</a> +<dt><strong>Syntax:</strong> + <dd><code>h5toh4 -h</code><br> + <code>h5toh4 </code><em> + h5file + h4file</em><br> + <code>h5toh4 </code><em> + h5file</em><br> + <code>h5toh4 -m </code><em> + h5file1 + h5file2 + h5file3</em> ... +<dt><strong>Purpose:</strong> + <dd>Converts an HDF5 file into an HDF4 file. +<dt><strong>Description:</strong> + <dd><code>h5toh4</code> is an HDF5 utility which reads + an HDF5 file, <em>h5file</em>, and converts all + supported objects and pathways to produce an HDF4 file, + <em>h4file</em>. If <em>h4file</em> already exists, + it will be replaced. + <p> + If only one file name is given, the name must end in + <code>.h5</code> and is assumed to represent the + HDF5 input file. <code>h5toh4</code> replaces the + <code>.h5</code> suffix with <code>.hdf</code> to form + the name of the resulting HDF4 file and proceeds as above. + If a file with the name of the intended HDF4 file already + exists, <code>h5toh4</code> exits with an error without + changing the contents of any file. + <p> + The <code>-m</code> option allows multiple HDF5 file + arguments. Each file name is treated the same as the + single file name case above. + <p> + The <code>-h</code> option causes the following + syntax summary to be displayed: + <pre> h5toh4 file.h5 file.hdf + h5toh4 file.h5 + h5toh4 -m file1.h5 file2.h5 ...</pre> + + <p> + + The following HDF5 objects occurring in an HDF5 file are + converted to HDF4 objects in the HDF4 file: + + <ul> + <li>HDF5 group objects are converted into HDF4 Vgroup + objects. HDF5 hard links and soft links pointing to + objects are converted to HDF4 Vgroup references. + <li>HDF5 dataset objects of integer datatype are + converted into HDF4 SDS objects. These datasets + may have up to 32 fixed dimensions. + The slowest varying dimension may be extendable. + 8-bit, 16-bit, and 32-bit integer datatypes are + supported. + <li>HDF5 dataset objects of floating point datatype + are converted into HDF4 SDS objects. + These datasets may have up to 32 fixed dimensions. + The slowest varying dimension may be extendable. + 32-bit and 64-bit floating point datatypes are + supported. + <li>HDF5 dataset objects of single dimension and + compound datatype are converted into HDF4 Vdata + objects. The length of that single dimension may + be fixed or extendable. The members of the + compound datatype are constrained to be no more + than rank 4. + <li>HDF5 dataset objects of single dimension and fixed length string + datatype are converted into HDF4 Vdata objects. The HDF4 Vdata + is a single field whose order is the length of the HDF5 string + type. The number of records of the Vdata is the length of the + single dimension which may be fixed or extendable. + </ul> + + Other objects are not converted and are not recorded + in the resulting <em>h4file</em>. + <p> + Attributes associated with any of the supported HDF5 + objects are carried over to the HDF4 objects. + Attributes may be of integer, floating point, or fixed length + string datatype and they may have up to 32 fixed dimensions. + <p> + All datatypes are converted to big-endian. + Floating point datatypes are converted to IEEE format. + +<dt><strong>Note:</strong> + <dd>The <code>h5toh4</code> and <code>h4toh5</code> utilities + are no longer part of the HDF5 product; + they are distributed separately through the page + <a href="http://www.hdfgroup.org/h4toh5/"> + Converting between HDF (4.x) and HDF5</a>. + </p> +<dt><strong>Options and Parameters:</strong> + <dl> + <dt><code>-h</code> + <dd>Displays a syntax summary. + <dt><code>-m</code> + <dd>Converts multiple HDF5 files to multiple HDF4 files. + <dt><em>h5file</em> + <dd>The HDF5 file to be converted. + <dt><em>h4file</em> + <dd>The HDF4 file to be created. + </dl> +<!-- +<dt><strong>Current Status:</strong> + <dd> +<dt><strong>See Also:</strong> + <dd> +--> +</dl> + |