diff options
author | Allen Byrne <50328838+byrnHDF@users.noreply.github.com> | 2023-03-01 01:08:47 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-01 01:08:47 (GMT) |
commit | 91cf10156a65a96860cea965df74a5adecf3e4e8 (patch) | |
tree | 5466ea669b3c26ad27ad1b82d3bf4287df70a175 /src | |
parent | 4e645aeedf621b341c6b6d5665fecdd08314bda9 (diff) | |
download | hdf5-91cf10156a65a96860cea965df74a5adecf3e4e8.zip hdf5-91cf10156a65a96860cea965df74a5adecf3e4e8.tar.gz hdf5-91cf10156a65a96860cea965df74a5adecf3e4e8.tar.bz2 |
1.12 Merge doxygen plist tables changes #2470 from develop (#2505)
* Merge doxygen plist tables changes #2470 from develop
* Add new/moved files
* More add new/moved files
* Doxy corrections
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Amodule.h | 2 | ||||
-rw-r--r-- | src/H5Dmodule.h | 315 | ||||
-rw-r--r-- | src/H5Dpublic.h | 6 | ||||
-rw-r--r-- | src/H5ESpublic.h | 14 | ||||
-rw-r--r-- | src/H5FDmpio.h | 6 | ||||
-rw-r--r-- | src/H5FDpublic.h | 30 | ||||
-rw-r--r-- | src/H5Fmodule.h | 298 | ||||
-rw-r--r-- | src/H5Gmodule.h | 97 | ||||
-rw-r--r-- | src/H5Gpublic.h | 20 | ||||
-rw-r--r-- | src/H5Lpublic.h | 16 | ||||
-rw-r--r-- | src/H5MMpublic.h | 2 | ||||
-rw-r--r-- | src/H5Mpublic.h | 3 | ||||
-rw-r--r-- | src/H5Opublic.h | 2 | ||||
-rw-r--r-- | src/H5PLextern.h | 2 | ||||
-rw-r--r-- | src/H5PLmodule.h | 2 | ||||
-rw-r--r-- | src/H5PLpublic.h | 2 | ||||
-rw-r--r-- | src/H5Pmodule.h | 155 | ||||
-rw-r--r-- | src/H5Ppublic.h | 13 | ||||
-rw-r--r-- | src/H5Tmodule.h | 34 | ||||
-rw-r--r-- | src/H5Tpublic.h | 2 | ||||
-rw-r--r-- | src/H5VLmodule.h | 24 |
21 files changed, 219 insertions, 826 deletions
diff --git a/src/H5Amodule.h b/src/H5Amodule.h index e3bfe6f..0c31f71 100644 --- a/src/H5Amodule.h +++ b/src/H5Amodule.h @@ -364,7 +364,7 @@ * will be ignored by HDF5. * * The use of ASCII or UTF-8 characters is determined by the character encoding property. See - * #H5Pset_char_encoding in the \ref RM. + * #H5Pset_char_encoding in the \ref RM. * * <h4>No Special I/O or Storage</h4> * diff --git a/src/H5Dmodule.h b/src/H5Dmodule.h index 00751a9..8d2f23a 100644 --- a/src/H5Dmodule.h +++ b/src/H5Dmodule.h @@ -182,250 +182,11 @@ * </tr> * </table> * - * <table> - * <caption>Dataset creation property list functions (H5P)</caption> - * <tr> - * <th>Function</th> - * <th>Purpose</th> - * </tr> - * <tr> - * <td>#H5Pset_layout</td> - * <td>Sets the type of storage used to store the raw data for a dataset.</td> - * </tr> - * <tr> - * <td>#H5Pget_layout</td> - * <td>Returns the layout of the raw data for a dataset.</td> - * </tr> - * <tr> - * <td>#H5Pset_chunk</td> - * <td>Sets the size of the chunks used to store a chunked layout dataset.</td> - * </tr> - * <tr> - * <td>#H5Pget_chunk</td> - * <td>Retrieves the size of chunks for the raw data of a chunked layout dataset.</td> - * </tr> - * <tr> - * <td>#H5Pset_deflate</td> - * <td>Sets compression method and compression level.</td> - * </tr> - * <tr> - * <td>#H5Pset_fill_value</td> - * <td>Sets the fill value for a dataset.</td> - * </tr> - * <tr> - * <td>#H5Pget_fill_value</td> - * <td>Retrieves a dataset fill value.</td> - * </tr> - * <tr> - * <td>#H5Pfill_value_defined</td> - * <td>Determines whether the fill value is defined.</td> - * </tr> - * <tr> - * <td>#H5Pset_fill_time</td> - * <td>Sets the time when fill values are written to a dataset.</td> - * </tr> - * <tr> - * <td>#H5Pget_fill_time</td> - * <td>Retrieves the time when fill value are written to a dataset.</td> - * </tr> - * <tr> - * <td>#H5Pset_alloc_time</td> - * <td>Sets the timing for storage space allocation.</td> - * </tr> - * <tr> - * <td>#H5Pget_alloc_time</td> - * <td>Retrieves the timing for storage space allocation.</td> - * </tr> - * <tr> - * <td>#H5Pset_filter</td> - * <td>Adds a filter to the filter pipeline.</td> - * </tr> - * <tr> - * <td>#H5Pall_filters_avail</td> - * <td>Verifies that all required filters are available.</td> - * </tr> - * <tr> - * <td>#H5Pget_nfilters</td> - * <td>Returns the number of filters in the pipeline.</td> - * </tr> - * <tr> - * <td>#H5Pget_filter</td> - * <td>Returns information about a filter in a pipeline. - * The C function is a macro: \see \ref api-compat-macros.</td> - * </tr> - * <tr> - * <td>#H5Pget_filter_by_id</td> - * <td>Returns information about the specified filter. - * The C function is a macro: \see \ref api-compat-macros.</td> - * </tr> - * <tr> - * <td>#H5Pmodify_filter</td> - * <td>Modifies a filter in the filter pipeline.</td> - * </tr> - * <tr> - * <td>#H5Premove_filter</td> - * <td>Deletes one or more filters in the filter pipeline.</td> - * </tr> - * <tr> - * <td>#H5Pset_fletcher32</td> - * <td>Sets up use of the Fletcher32 checksum filter.</td> - * </tr> - * <tr> - * <td>#H5Pset_nbit</td> - * <td>Sets up use of the n-bit filter.</td> - * </tr> - * <tr> - * <td>#H5Pset_scaleoffset</td> - * <td>Sets up use of the scale-offset filter.</td> - * </tr> - * <tr> - * <td>#H5Pset_shuffle</td> - * <td>Sets up use of the shuffle filter.</td> - * </tr> - * <tr> - * <td>#H5Pset_szip</td> - * <td>Sets up use of the Szip compression filter.</td> - * </tr> - * <tr> - * <td>#H5Pset_external</td> - * <td>Adds an external file to the list of external files.</td> - * </tr> - * <tr> - * <td>#H5Pget_external_count</td> - * <td>Returns the number of external files for a dataset.</td> - * </tr> - * <tr> - * <td>#H5Pget_external</td> - * <td>Returns information about an external file.</td> - * </tr> - * <tr> - * <td>#H5Pset_char_encoding</td> - * <td>Sets the character encoding used to encode a string. Use to set ASCII or UTF-8 character - * encoding for object names.</td> - * </tr> - * <tr> - * <td>#H5Pget_char_encoding</td> - * <td>Retrieves the character encoding used to create a string.</td> - * </tr> - * </table> + * \anchor dcpl_table_tag Dataset creation property list functions (H5P) + * \snippet{doc} tables/propertyLists.dox dcpl_table * - * <table> - * <caption>Dataset access property list functions (H5P)</caption> - * <tr> - * <th>Function</th> - * <th>Purpose</th> - * </tr> - * <tr> - * <td>#H5Pset_buffer</td> - * <td>Sets type conversion and background buffers.</td> - * </tr> - * <tr> - * <td>#H5Pget_buffer</td> - * <td>Reads buffer settings.</td> - * </tr> - * <tr> - * <td>#H5Pset_chunk_cache</td> - * <td>Sets the raw data chunk cache parameters.</td> - * </tr> - * <tr> - * <td>#H5Pget_chunk_cache</td> - * <td>Retrieves the raw data chunk cache parameters.</td> - * </tr> - * <tr> - * <td>#H5Pset_edc_check</td> - * <td>Sets whether to enable error-detection when reading a dataset.</td> - * </tr> - * <tr> - * <td>#H5Pget_edc_check</td> - * <td>Determines whether error-detection is enabled for dataset reads.</td> - * </tr> - * <tr> - * <td>#H5Pset_filter_callback</td> - * <td>Sets user-defined filter callback function.</td> - * </tr> - * <tr> - * <td>#H5Pset_data_transform</td> - * <td>Sets a data transform expression.</td> - * </tr> - * <tr> - * <td>#H5Pget_data_transform</td> - * <td>Retrieves a data transform expression.</td> - * </tr> - * <tr> - * <td>#H5Pset_type_conv_cb</td> - * <td>Sets user-defined datatype conversion callback function.</td> - * </tr> - * <tr> - * <td>#H5Pget_type_conv_cb</td> - * <td>Gets user-defined datatype conversion callback function.</td> - * </tr> - * <tr> - * <td>#H5Pset_hyper_vector_size</td> - * <td>Sets number of I/O vectors to be read/written in hyperslab I/O.</td> - * </tr> - * <tr> - * <td>#H5Pget_hyper_vector_size</td> - * <td>Retrieves number of I/O vectors to be read/written in hyperslab I/O.</td> - * </tr> - * <tr> - * <td>#H5Pset_btree_ratios</td> - * <td>Sets B-tree split ratios for a dataset transfer property list.</td> - * </tr> - * <tr> - * <td>#H5Pget_btree_ratios</td> - * <td>Gets B-tree split ratios for a dataset transfer property list.</td> - * </tr> - * <tr> - * <td>#H5Pset_vlen_mem_manager</td> - * <td>Sets the memory manager for variable-length datatype allocation in #H5Dread and - * #H5Dvlen_reclaim.</td> - * </tr> - * <tr> - * <td>#H5Pget_vlen_mem_manager</td> - * <td>Gets the memory manager for variable-length datatype allocation in #H5Dread and - * #H5Dvlen_reclaim.</td> - * </tr> - * <tr> - * <td>#H5Pset_dxpl_mpio</td> - * <td>Sets data transfer mode.</td> - * </tr> - * <tr> - * <td>#H5Pget_dxpl_mpio</td> - * <td>Returns the data transfer mode.</td> - * </tr> - * <tr> - * <td>#H5Pset_dxpl_mpio_chunk_opt</td> - * <td>Sets a flag specifying linked-chunk I/O or multi-chunk I/O.</td> - * </tr> - * <tr> - * <td>#H5Pset_dxpl_mpio_chunk_opt_num</td> - * <td>Sets a numeric threshold for linked-chunk I/O.</td> - * </tr> - * <tr> - * <td>#H5Pset_dxpl_mpio_chunk_opt_ratio</td> - * <td>Sets a ratio threshold for collective I/O.</td> - * </tr> - * <tr> - * <td>#H5Pset_dxpl_mpio_collective_opt</td> - * <td>Sets a flag governing the use of independent versus collective I/O.</td> - * </tr> - * <tr> - * <td>#H5Pset_multi_type</td> - * <td>Sets the type of data property for the MULTI driver.</td> - * </tr> - * <tr> - * <td>#H5Pget_multi_type</td> - * <td>Retrieves the type of data property for the MULTI driver.</td> - * </tr> - * <tr> - * <td>#H5Pset_small_data_block_size</td> - * <td>Sets the size of a contiguous block reserved for small data.</td> - * </tr> - * <tr> - * <td>#H5Pget_small_data_block_size</td> - * <td>Retrieves the current small data block size setting.</td> - * </tr> - * </table> + * \anchor dapl_table_tag Dataset access property list functions (H5P) + * \snippet{doc} tables/propertyLists.dox dapl_table * * \subsection subsec_dataset_program Programming Model for Datasets * This section explains the programming model for datasets. @@ -1106,41 +867,7 @@ * the pipeline processing: the pipeline and filter operations are identical no matter what data access * mechanism is used. * - * <table> - * <caption>I/O file drivers</caption> - * <tr> - * <th>File Driver</th> - * <th>Description</th> - * </tr> - * <tr> - * <td>#H5FD_CORE</td> - * <td>Store in memory (optional backing store to disk file).</td> - * </tr> - * <tr> - * <td>#H5FD_FAMILY</td> - * <td>Store in a set of files.</td> - * </tr> - * <tr> - * <td>#H5FD_LOG</td> - * <td>Store in logging file.</td> - * </tr> - * <tr> - * <td>#H5FD_MPIO</td> - * <td>Store using MPI/IO.</td> - * </tr> - * <tr> - * <td>#H5FD_MULTI</td> - * <td>Store in multiple files. There are several options to control layout.</td> - * </tr> - * <tr> - * <td>#H5FD_SEC2</td> - * <td>Serial I/O to file using Unix “section 2” functions.</td> - * </tr> - * <tr> - * <td>#H5FD_STDIO</td> - * <td>Serial I/O to file using Unix “stdio” functions.</td> - * </tr> - * </table> + * \snippet{doc} tables/propertyLists.dox lcpl_table * * Each file driver writes/reads contiguous blocks of bytes from a logically contiguous address * space. The file driver is responsible for managing the details of the different physical storage @@ -1157,29 +884,7 @@ * Data transfer properties set optional parameters that control parts of the data pipeline. The * function listing below shows transfer properties that control the behavior of the library. * - * <table> - * <caption>Data transfer property list functions</caption> - * <tr> - * <th>C Function</th> - * <th>Purpose</th> - * </tr> - * <tr> - * <td>#H5Pset_buffer</td> - * <td>Maximum size for the type conversion buffer and the background buffer. May also supply - * pointers to application-allocated buffers.</td> - * </tr> - * <tr> - * <td>#H5Pset_hyper_vector_size</td> - * <td>set the number of "I/O vectors" (offset and length pairs) which are to be - * accumulated in memory before being issued to the lower levels - * of the library for reading or writing the actual data.</td> - * </tr> - * <tr> - * <td>#H5Pset_btree_ratios</td> - * <td>Set 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.</td> - * </tr> - * </table> + * \snippet{doc} tables/fileDriverLists.dox file_driver_table * * Some filters and file drivers require or use additional parameters from the application program. * These can be passed in the data transfer property list. The table below shows file driver property @@ -1897,10 +1602,10 @@ allocated if necessary. * <th>byte 0</th> * </tr> * <tr> - * <td> ???????? </td> - * <td> ????SPPP </td> - * <td> PPPPPPPP </td> - * <td> PPPP???? </td> + * <td> ???????? </td> + * <td> ????SPPP </td> + * <td> PPPPPPPP </td> + * <td> PPPP???? </td> * </tr> * <tr> * <td colspan="4"> diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h index db628a3..7cf4952 100644 --- a/src/H5Dpublic.h +++ b/src/H5Dpublic.h @@ -464,6 +464,9 @@ H5_DLL hid_t H5Dget_type(hid_t dset_id); * a copy of the dataset creation property list associated with * the dataset specified by \p dset_id. * + * The creation property list identifier should be released with + * H5Pclose() to prevent resource leaks. + * */ H5_DLL hid_t H5Dget_create_plist(hid_t dset_id); @@ -633,6 +636,7 @@ H5_DLL herr_t H5Dget_num_chunks(hid_t dset_id, hid_t fspace_id, hsize_t *nchunks */ H5_DLL herr_t H5Dget_chunk_info_by_coord(hid_t dset_id, const hsize_t *offset, unsigned *filter_mask, haddr_t *addr, hsize_t *size); + /** * -------------------------------------------------------------------------- * \ingroup H5D @@ -656,7 +660,7 @@ H5_DLL herr_t H5Dget_chunk_info_by_coord(hid_t dset_id, const hsize_t *offset, u * Iterate over all chunked datasets and chunks in a file. * \snippet H5D_examples.c H5Ovisit_cb * - * \since 1.12.3, 1.13.0 + * \since 1.12.3 * */ H5_DLL herr_t H5Dchunk_iter(hid_t dset_id, hid_t dxpl_id, H5D_chunk_iter_op_t cb, void *op_data); diff --git a/src/H5ESpublic.h b/src/H5ESpublic.h index 6b8b2a9..6180487 100644 --- a/src/H5ESpublic.h +++ b/src/H5ESpublic.h @@ -2,7 +2,7 @@ * Copyright by The HDF Group. * * All rights reserved. * * * - * This file is part of HDF5. The full HDF5 copyright notice, including * + * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the COPYING file, which can be found at the root of the source code * * distribution tree, or in https://www.hdfgroup.org/licenses. * @@ -28,12 +28,14 @@ /* Public Typedefs */ /*******************/ -/* Asynchronous operation status */ +/** + * Asynchronous operation status + */ typedef enum H5ES_status_t { - H5ES_STATUS_IN_PROGRESS, /* Operation(s) have not yet completed */ - H5ES_STATUS_SUCCEED, /* Operation(s) have completed, successfully */ - H5ES_STATUS_FAIL, /* An operation has completed, but failed */ - H5ES_STATUS_CANCELED /* Operation(s) has been canceled */ + H5ES_STATUS_IN_PROGRESS, /**< Operation(s) have not yet completed */ + H5ES_STATUS_SUCCEED, /**< Operation(s) have completed, successfully */ + H5ES_STATUS_CANCELED, /**< Operation(s) has been canceled */ + H5ES_STATUS_FAIL /**< An operation has completed, but failed */ } H5ES_status_t; /********************/ diff --git a/src/H5FDmpio.h b/src/H5FDmpio.h index ba508eb..a70f34b 100644 --- a/src/H5FDmpio.h +++ b/src/H5FDmpio.h @@ -104,10 +104,10 @@ H5_DLL herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info); * \param[out] info MPI-2 info object * \returns \herr_t * - * \details H5Pget_fapl_mpio() returns duplicates of the stored MPI communicator + * \details If the file access property list is set to the #H5FD_MPIO driver, + * H5Pget_fapl_mpio() returns duplicates of the stored MPI communicator * and Info object through the \p comm and \p info pointers, if those - * values are non-null. The file access property list must be set to the - * #H5FD_MPIO driver. + * values are non-null. * * Since the MPI communicator and Info object are duplicates of the * stored information, future modifications to the access property list diff --git a/src/H5FDpublic.h b/src/H5FDpublic.h index c66a46c..cd476b9 100644 --- a/src/H5FDpublic.h +++ b/src/H5FDpublic.h @@ -18,8 +18,13 @@ #ifndef H5FDpublic_H #define H5FDpublic_H -#include "H5public.h" -#include "H5Fpublic.h" /*for H5F_close_degree_t */ +/* Public headers needed by this file */ +#include "H5public.h" /* Generic Functions */ +#include "H5Fpublic.h" /* Files */ + +/*****************/ +/* Public Macros */ +/*****************/ #define H5_HAVE_VFL 1 /*define a convenient app feature test*/ #define H5FD_VFD_DEFAULT 0 /* Default VFL driver value */ @@ -462,7 +467,26 @@ H5_DLL herr_t H5FDtruncate(H5FD_t *file, hid_t dxpl_id, hbool_t closing); H5_DLL herr_t H5FDlock(H5FD_t *file, hbool_t rw); H5_DLL herr_t H5FDunlock(H5FD_t *file); -/* Allows querying a VFD ID for features before the file is opened */ +/** + * \ingroup H5FD + * + * \brief Allows querying a VFD ID for features before the file is opened + * + * \param[in] driver_id Virtual File Driver (VFD) ID + * \param[out] flags VFD flags supported + * + * \return \herr_t + * + * \details Queries a virtual file driver (VFD) for feature flags. Takes a + * VFD hid_t so it can be used before the file is opened. For example, + * this could be used to check if a VFD supports SWMR. + * + * \note The flags obtained here are just those of the base driver and + * do not take any configuration options (e.g., set via a fapl + * call) into consideration. + * + * \since 1.10.2 + */ H5_DLL herr_t H5FDdriver_query(hid_t driver_id, unsigned long *flags /*out*/); #ifdef __cplusplus diff --git a/src/H5Fmodule.h b/src/H5Fmodule.h index 523d6bf..6939f4a 100644 --- a/src/H5Fmodule.h +++ b/src/H5Fmodule.h @@ -411,204 +411,15 @@ * </tr> * </table> * - * <table> - * <caption>File creation property list functions </caption> - * <tr> - * <th>Function</th> - * <th>Purpose</th> - * </tr> - * <tr> - * <td>#H5Pset_userblock/#H5Pget_userblock</td> - * <td>Sets/retrieves size of userblock.</td> - * </tr> - * <tr> - * <td>#H5Pset_sizes/#H5Pget_sizes</td> - * <td>Sets/retrieves byte size of offsets and lengths used to address objects in HDF5 file.</td> - * </tr> - * <tr> - * <td>#H5Pset_sym_k/#H5Pget_sym_k</td> - * <td>Sets/retrieves size of parameters used to control symbol table nodes.</td> - * </tr> - * <tr> - * <td>#H5Pset_istore_k/#H5Pget_istore_k</td> - * <td>Sets/retrieves size of parameter used to control B-trees for indexing chunked datasets.</td> - * </tr> - * <tr> - * <td>#H5Pset_file_image</td> - * <td>Sets an initial file image in a memory buffer.</td> - * </tr> - * <tr> - * <td>#H5Pget_file_image</td> - * <td>Retrieves a copy of the file image designated as the initial content and structure of a file.</td> - * </tr> - * <tr> - * <td>#H5Pset_shared_mesg_nindexes/#H5Pget_shared_mesg_nindexes</td> - * <td>Sets or retrieves number of shared object header message indexes in file - * creation property list.</td> - * </tr> - * <tr> - * <td>#H5Pset_shared_mesg_index</td> - * <td>Configures the specified shared object header message index.</td> - * </tr> - * <tr> - * <td>#H5Pget_shared_mesg_index</td> - * <td>Retrieves the configuration settings for a shared message index.</td> - * </tr> - * <tr> - * <td>#H5Pset_shared_mesg_phase_change/#H5Pget_shared_mesg_phase_change</td> - * <td>Sets or retrieves shared object header message storage phase change thresholds.</td> - * </tr> - * <tr> - * <td>#H5Pget_version</td> - * <td></td> - * </tr> - * </table> + * \anchor fcpl_table_tag File creation property list functions (H5P) + * \snippet{doc} tables/propertyLists.dox fcpl_table * - * <table> - * <caption>File access property list functions </caption> - * <tr> - * <th>Function</th> - * <th>Purpose</th> - * </tr> - * <tr> - * <td>#H5Pset_alignment/#H5Pget_alignment</td> - * <td>Sets/retrieves alignment properties.</td> - * </tr> - * <tr> - * <td>#H5Pset_cache/#H5Pget_cache</td> - * <td>Sets/retrieves metadata cache and raw data chunk cache parameters.</td> - * </tr> - * <tr> - * <td>#H5Pset_elink_file_cache_size/#H5Pget_elink_file_cache_size</td> - * <td>Sets/retrieves the size of the external link open file cache from the specified - * file access property list.</td> - * </tr> - * <tr> - * <td>#H5Pset_gc_references/#H5Pget_gc_references</td> - * <td>Sets/retrieves garbage collecting references flag.</td> - * </tr> - * <tr> - * <td>#H5Pset_family_offset</td> - * <td>Sets offset property for low-level access to a file in a family of files.</td> - * </tr> - * <tr> - * <td>#H5Pget_family_offset</td> - * <td>Retrieves a data offset from the file access property list.</td> - * </tr> - * <tr> - * <td>#H5Pset_meta_block_size/#H5Pget_meta_block_size</td> - * <td>Sets the minimum metadata blocksize or retrieves the current metadata block size setting.</td> - * </tr> - * <tr> - * <td>#H5Pset_mdc_config</td> - * <td>Set the initial metadata cache configuration in the indicated File Access Property List - * to the supplied value.</td> - * </tr> - * <tr> - * <td>#H5Pget_mdc_config</td> - * <td>Get the current initial metadata cache config-uration from the indicated File Access - * Property List.</td> - * </tr> - * <tr> - * <td>#H5Pset_sieve_buf_size/#H5Pget_sieve_buf_size</td> - * <td>Sets/retrieves maximum size of data sieve buffer.</td> - * </tr> - * <tr> - * <td>#H5Pset_libver_bounds</td> - * <td>Sets bounds on library versions, and indirectly format versions, to be used - * when creating objects.</td> - * </tr> - * <tr> - * <td>#H5Pget_libver_bounds</td> - * <td>Retrieves library version bounds settings that indirectly control the format - * versions used when creating objects.</td> - * </tr> - * <tr> - * <td>#H5Pset_small_data_block_size</td> - * <td>Sets the size of a contiguous block reserved for small data.</td> - * </tr> - * <tr> - * <td>#H5Pget_small_data_block_size</td> - * <td>Retrieves the current small data block size setting.</td> - * </tr> - * </table> + * \anchor fapl_table_tag File access property list functions (H5P) + * \snippet{doc} tables/propertyLists.dox fapl_table + * + * \anchor fd_pl_table_tag File driver property list functions (H5P) + * \snippet{doc} tables/propertyLists.dox fd_pl_table * - * <table> - * <caption>File driver functions </caption> - * <tr> - * <th>Function</th> - * <th>Purpose</th> - * </tr> - * <tr> - * <td>#H5Pset_driver</td> - * <td>Sets a file driver.</td> - * </tr> - * <tr> - * <td>#H5Pget_driver</td> - * <td>Returns the identifier for the driver used to create a file.</td> - * </tr> - * <tr> - * <td>#H5Pget_driver_info</td> - * <td>Returns a pointer to file driver information.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_core/#H5Pget_fapl_core</td> - * <td>Sets the driver for buffered memory files (in RAM) or retrieves information regarding - * the driver.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_direct/#H5Pget_fapl_direct</td> - * <td>Sets up use of the direct I/O driver or retrieves the direct I/O driver settings.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_family/#H5Pget_fapl_family</td> - * <td>Sets driver for file families, designed for systems that do not support files - * larger than 2 gigabytes, or retrieves information regarding driver.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_log</td> - * <td>Sets logging driver.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_mpio/#H5Pget_fapl_mpio</td> - * <td>Sets driver for files on parallel file systems (MPI I/O) or retrieves information - * regarding the driver.</td> - * </tr> - * <tr> - * <td>H5Pset_fapl_mpiposix/H5Pget_fapl_mpiposix</td> - * <td>No longer available.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_multi/#H5Pget_fapl_multi</td> - * <td>Sets driver for multiple files, separating categories of metadata and raw data, - * or retrieves information regarding driver.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_sec2</td> - * <td>Sets driver for unbuffered permanent files or retrieves information regarding driver.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_split</td> - * <td>Sets driver for split files, a limited case of multiple files with one metadata file - * and one raw data file.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_stdio</td> - * <td>Sets driver for buffered permanent files.</td> - * </tr> - * <tr> - * <td>#H5Pset_fapl_windows</td> - * <td>Sets the Windows I/O driver.</td> - * </tr> - * <tr> - * <td>#H5Pset_multi_type</td> - * <td>Specifies type of data to be accessed via the MULTI driver enabling more direct access.</td> - * </tr> - * <tr> - * <td>#H5Pget_multi_type</td> - * <td>Retrieves type of data property for MULTI driver.</td> - * </tr> - * </table> * * \subsection subsec_file_create Creating or Opening an HDF5 File * This section describes in more detail how to create and how to open files. @@ -865,100 +676,7 @@ * #H5FD_SEC2. Alternative layouts and drivers are designed to suit the needs of a variety of * systems, environments, and applications. The drivers are listed in the table below. * - * <table> - * <caption id="table_file_drivers">Supported file drivers</caption> - * <tr> - * <th>Driver Name</th> - * <th>Driver Identifier</th> - * <th>Description</th> - * <th>Related API</th> - * </tr> - * <tr> - * <td>POSIX</td> - * <td>#H5FD_SEC2</td> - * <td>This driver uses POSIX file-system functions like read and write to perform I/O to a single, - * permanent file on local disk with no system buffering. This driver is POSIX-compliant and is - * the default file driver for all systems.</td> - * <td>#H5Pset_fapl_sec2</td> - * </tr> - * <tr> - * <td>Direct</td> - * <td>#H5FD_DIRECT</td> - * <td>This is the #H5FD_SEC2 driver except data is written to or read from the file - * synchronously without being cached by the system.</td> - * <td>#H5Pset_fapl_direct</td> - * </tr> - * <tr> - * <td>Log</td> - * <td>#H5FD_LOG</td> - * <td>This is the #H5FD_SEC2 driver with logging capabilities.</td> - * <td>#H5Pset_fapl_log</td> - * </tr> - * <tr> - * <td>Windows</td> - * <td>#H5FD_WINDOWS</td> - * <td>This driver was modified in HDF5-1.8.8 to be a wrapper of the POSIX driver, - * #H5FD_SEC2. This change should not affect user applications.</td> - * <td>#H5Pset_fapl_windows</td> - * </tr> - * <tr> - * <td>STDIO</td> - * <td>#H5FD_STDIO</td> - * <td>This driver uses functions from the standard C stdio.h to perform I/O - * to a single, permanent file on local disk with additional system buffering.</td> - * <td>#H5Pset_fapl_stdio</td> - * </tr> - * <tr> - * <td>Memory</td> - * <td>#H5FD_CORE</td> - * <td>With this driver, an application can work with a file in memory for faster reads and - * writes. File contents are kept in memory until the file is closed. At closing, the memory - * version of the file can be written back to disk or abandoned.</td> - * <td>#H5Pset_fapl_core</td> - * </tr> - * <tr> - * <td>Family</td> - * <td>#H5FD_FAMILY</td> - * <td>With this driver, the HDF5 file’s address space is partitioned into pieces and sent to - * separate storage files using an underlying driver of the user’s choice. This driver is for - * systems that do not support files larger than 2 gigabytes.</td> - * <td>#H5Pset_fapl_family</td> - * </tr> - * <tr> - * <td>Multi</td> - * <td>#H5FD_MULTI</td> - * <td>With this driver, data can be stored in multiple files according to the type of the data. - * I/O might work better if data is stored in separate files based on the type of data. The Split - * driver is a special case of this driver.</td> - * <td>#H5Pset_fapl_multi</td> - * </tr> - * <tr> - * <td>Split</td> - * <td>H5FD_SPLIT</td> - * <td>This file driver splits a file into two parts. One part stores metadata, and the other part - * stores raw data. This splitting a file into two parts is a limited case of the Multi driver.</td> - * <td>#H5Pset_fapl_split</td> - * </tr> - * <tr> - * <td>Parallel</td> - * <td>#H5FD_MPIO</td> - * <td>This is the standard HDF5 file driver for parallel file systems. This driver uses the MPI - * standard for both communication and file I/O.</td> - * <td>#H5Pset_fapl_mpio</td> - * </tr> - * <tr> - * <td>Parallel POSIX</td> - * <td>H5FD_MPIPOSIX</td> - * <td>This driver is no longer available</td> - * <td></td> - * </tr> - * <tr> - * <td>Stream</td> - * <td>H5FD_STREAM</td> - * <td>This driver is no longer available.</td> - * <td></td> - * </tr> - * </table> + * \snippet{doc} tables/fileDriverLists.dox supported_file_driver_table * * For more information, see the HDF5 Reference Manual entries for the function calls shown in * the column on the right in the table above. diff --git a/src/H5Gmodule.h b/src/H5Gmodule.h index a112a40..3946110 100644 --- a/src/H5Gmodule.h +++ b/src/H5Gmodule.h @@ -481,100 +481,7 @@ * </tr> * </table> * - * <table> - * <caption>Group creation property list functions</caption> - * <tr> - * <th>Function</th> - * <th>Purpose</th> - * </tr> - * <tr> - * <td>#H5Pall_filters_avail</td> - * <td>Verifies that all required filters are available.</td> - * </tr> - * <tr> - * <td>#H5Pget_filter</td> - * <td>Returns information about a filter in a pipeline. The - * C function is a macro: \see \ref api-compat-macros.</td> - * </tr> - * <tr> - * <td>#H5Pget_filter_by_id</td> - * <td>Returns information about the specified filter. The - * C function is a macro: \see \ref api-compat-macros.</td> - * </tr> - * <tr> - * <td>#H5Pget_nfilters</td> - * <td>Returns the number of filters in the pipeline.</td> - * </tr> - * <tr> - * <td>#H5Pmodify_filter</td> - * <td>Modifies a filter in the filter pipeline.</td> - * </tr> - * <tr> - * <td>#H5Premove_filter</td> - * <td>Deletes one or more filters in the filter pipeline.</td> - * </tr> - * <tr> - * <td>#H5Pset_deflate</td> - * <td>Sets the deflate (GNU gzip) compression method and compression level.</td> - * </tr> - * <tr> - * <td>#H5Pset_filter</td> - * <td>Adds a filter to the filter pipeline.</td> - * </tr> - * <tr> - * <td>#H5Pset_fletcher32</td> - * <td>Sets up use of the Fletcher32 checksum filter.</td> - * </tr> - * <tr> - * <td>#H5Pset_link_phase_change</td> - * <td>Sets the parameters for conversion between compact and dense groups.</td> - * </tr> - * <tr> - * <td>#H5Pget_link_phase_change</td> - * <td>Queries the settings for conversion between compact and dense groups.</td> - * </tr> - * <tr> - * <td>#H5Pset_est_link_info</td> - * <td>Sets estimated number of links and length of link names in a group.</td> - * </tr> - * <tr> - * <td>#H5Pget_est_link_info</td> - * <td>Queries data required to estimate required local heap or object header size.</td> - * </tr> - * <tr> - * <td>#H5Pset_nlinks</td> - * <td>Sets maximum number of soft or user-defined link traversals.</td> - * </tr> - * <tr> - * <td>#H5Pget_nlinks</td> - * <td>Retrieves the maximum number of link traversals.</td> - * </tr> - * <tr> - * <td>#H5Pset_link_creation_order</td> - * <td>Sets creation order tracking and indexing for links in a group.</td> - * </tr> - * <tr> - * <td>#H5Pget_link_creation_order</td> - * <td>Queries whether link creation order is tracked and/or indexed in a group.</td> - * </tr> - * <tr> - * <td>#H5Pset_create_intermediate_group</td> - * <td>Specifies in the property list whether to create missing intermediate groups.</td> - * </tr> - * <tr> - * <td>#H5Pget_create_intermediate_group</td> - * <td>Determines whether the property is set to enable creating missing intermediate groups.</td> - * </tr> - * <tr> - * <td>#H5Pset_char_encoding</td> - * <td>Sets the character encoding used to encode a string. Use to set ASCII or UTF-8 character - * encoding for object names.</td> - * </tr> - * <tr> - * <td>#H5Pget_char_encoding</td> - * <td>Retrieves the character encoding used to create a string.</td> - * </tr> - * </table> + * \snippet{doc} tables/propertyLists.dox gcpl_table * * <table> * <caption>Other external link functions</caption> @@ -1017,7 +924,7 @@ * containing thousands to millions of members. Links are stored in * a fractal heap and indexed with an improved B-tree. * \li The new implementation also enables the use of link names consisting of - * non-ASCII character sets (see H5Pset_char_encoding()) and is + * non-ASCII character sets (see #H5Pset_char_encoding) and is * required for all link types other than hard or soft links, e.g., * external and user-defined links (see the \ref H5L APIs). * diff --git a/src/H5Gpublic.h b/src/H5Gpublic.h index 74f0da7..a663395 100644 --- a/src/H5Gpublic.h +++ b/src/H5Gpublic.h @@ -120,7 +120,7 @@ extern "C" { * * \since 1.8.0 * - * \see H5Gopen2(), H5Gclose() + * \see H5Gopen2() * */ H5_DLL hid_t H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id); @@ -167,7 +167,7 @@ H5_DLL hid_t H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcp * H5Gclose() when the group is no longer needed so that resource * leaks will not develop. * - * \see H5Olink(), H5Dcreate(), \ref api-compat-macros + * \see H5Olink(), H5Gcreate() * * \since 1.8.0 * @@ -199,7 +199,7 @@ H5_DLL hid_t H5Gcreate_anon(hid_t loc_id, hid_t gcpl_id, hid_t gapl_id); * * \since 1.8.0 * - * \see H5Gcreate2(), H5Gclose() + * \see H5Gcreate2() * */ H5_DLL hid_t H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id); @@ -218,12 +218,10 @@ H5_DLL hid_t H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id); * property list associated with the group specified by \p group_id. * * The creation property list identifier should be released with - * H5Gclose() to prevent resource leaks. + * H5Pclose() to prevent resource leaks. * * \since 1.8.0 * - * \see H5Gcreate2(), H5Gclose() - * */ H5_DLL hid_t H5Gget_create_plist(hid_t group_id); @@ -250,8 +248,6 @@ H5_DLL hid_t H5Gget_create_plist(hid_t group_id); * * \since 1.8.0 * - * \see H5Gcreate2(), H5Gclose() - * */ H5_DLL herr_t H5Gget_info(hid_t loc_id, H5G_info_t *ginfo); @@ -284,8 +280,6 @@ H5_DLL herr_t H5Gget_info(hid_t loc_id, H5G_info_t *ginfo); * * \since 1.8.0 * - * \see H5Gcreate2(), H5Gclose() - * */ H5_DLL herr_t H5Gget_info_by_name(hid_t loc_id, const char *name, H5G_info_t *ginfo, hid_t lapl_id); @@ -331,8 +325,6 @@ H5_DLL herr_t H5Gget_info_by_name(hid_t loc_id, const char *name, H5G_info_t *gi * * \since 1.8.0 * - * \see H5Gcreate2(), H5Gclose() - * */ H5_DLL herr_t H5Gget_info_by_idx(hid_t loc_id, const char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5G_info_t *ginfo, hid_t lapl_id); @@ -360,8 +352,6 @@ H5_DLL herr_t H5Gget_info_by_idx(hid_t loc_id, const char *group_name, H5_index_ * * \since 1.8.0 * - * \see H5Gcreate2(), H5Gclose() - * */ H5_DLL herr_t H5Gflush(hid_t group_id); @@ -385,8 +375,6 @@ H5_DLL herr_t H5Gflush(hid_t group_id); * * \since 1.8.0 * - * \see H5Gcreate2(), H5Gclose() - * */ H5_DLL herr_t H5Grefresh(hid_t group_id); diff --git a/src/H5Lpublic.h b/src/H5Lpublic.h index 9e3084d..e487b0f 100644 --- a/src/H5Lpublic.h +++ b/src/H5Lpublic.h @@ -733,7 +733,7 @@ H5_DLL htri_t H5Lexists(hid_t loc_id, const char *name, hid_t lapl_id); * \p cset specifies the character set in which the link name is * encoded. Valid values include the following: * \csets - * This value is set with H5Pset_char_encoding(). + * This value is set with #H5Pset_char_encoding. * * \c token is the location that a hard link points to, and * \c val_size is the size of a soft link or user defined link value. @@ -888,10 +888,12 @@ H5_DLL ssize_t H5Lget_name_by_idx(hid_t loc_id, const char *group_name, H5_index * not been indexed by the index type, they will first be sorted by * that index then the iteration will begin; if the links have been * so indexed, the sorting step will be unnecessary, so the iteration - * may begin more quickly. + * may begin more quickly. Valid values include the following: + * \indexes * * \p order specifies the order in which objects are to be inspected - * along the index \p idx_type. + * along the index \p idx_type. Valid values include the following: + * \orders * * \p idx_p tracks the iteration and allows an iteration to be * resumed if it was stopped before all members were processed. It is @@ -1680,7 +1682,7 @@ typedef herr_t (*H5L_iterate1_t)(hid_t group, const char *name, const H5L_info1_ * \c cset specifies the character set in which the link name is * encoded. Valid values include the following: * \csets - * This value is set with H5Pset_char_encoding(). + * This value is set with #H5Pset_char_encoding. * * \c address and \c val_size are returned for hard and symbolic * links, respectively. Symbolic links include soft and external links @@ -1796,10 +1798,12 @@ H5_DLL herr_t H5Lget_info_by_idx1(hid_t loc_id, const char *group_name, H5_index * not been indexed by the index type, they will first be sorted by * that index then the iteration will begin; if the links have been * so indexed, the sorting step will be unnecessary, so the iteration - * may begin more quickly. + * may begin more quickly. Valid values include the following: + * \indexes * * \p order specifies the order in which objects are to be inspected - * along the index \p idx_type. + * along the index \p idx_type. Valid values include the following: + * \orders * * \p idx_p tracks the iteration and allows an iteration to be * resumed if it was stopped before all members were processed. It is diff --git a/src/H5MMpublic.h b/src/H5MMpublic.h index 70ac644..d4aba98 100644 --- a/src/H5MMpublic.h +++ b/src/H5MMpublic.h @@ -14,8 +14,6 @@ /*------------------------------------------------------------------------- * * Created: H5MMpublic.h - * Jul 10 1997 - * Robb Matzke * * Purpose: Public declarations for the H5MM (memory management) * package. diff --git a/src/H5Mpublic.h b/src/H5Mpublic.h index 25d3058..24d207c 100644 --- a/src/H5Mpublic.h +++ b/src/H5Mpublic.h @@ -208,6 +208,9 @@ H5_DLL hid_t H5Mget_val_type(hid_t map_id); * \details H5Mget_create_plist() returns an identifier for a copy of the * creation property list for a map object specified by \p map_id. * + * The creation property list identifier should be released with + * H5Pclose() to prevent resource leaks. + * * \since 1.12.0 * */ diff --git a/src/H5Opublic.h b/src/H5Opublic.h index cc131e1..a645592 100644 --- a/src/H5Opublic.h +++ b/src/H5Opublic.h @@ -304,7 +304,7 @@ H5_DLL hid_t H5Oopen_by_token(hid_t loc_id, H5O_token_t token); * * \return \hid_tv{object} * - * \details H5Open_by_idx() opens the nth object in the group specified by \p loc_id + * \details H5Oopen_by_idx() opens the nth object in the group specified by \p loc_id * and \p group_name. * * \p loc_id specifies a location identifier. diff --git a/src/H5PLextern.h b/src/H5PLextern.h index 7f3df5e..d136051 100644 --- a/src/H5PLextern.h +++ b/src/H5PLextern.h @@ -2,7 +2,7 @@ * Copyright by The HDF Group. * * All rights reserved. * * * - * This file is part of HDF5. The full HDF5 copyright notice, including * + * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the COPYING file, which can be found at the root of the source code * * distribution tree, or in https://www.hdfgroup.org/licenses. * diff --git a/src/H5PLmodule.h b/src/H5PLmodule.h index 66a24fd..fff1e95 100644 --- a/src/H5PLmodule.h +++ b/src/H5PLmodule.h @@ -2,7 +2,7 @@ * Copyright by The HDF Group. * * All rights reserved. * * * - * This file is part of HDF5. The full HDF5 copyright notice, including * + * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the COPYING file, which can be found at the root of the source code * * distribution tree, or in https://www.hdfgroup.org/licenses. * diff --git a/src/H5PLpublic.h b/src/H5PLpublic.h index 55ff594..a886375 100644 --- a/src/H5PLpublic.h +++ b/src/H5PLpublic.h @@ -2,7 +2,7 @@ * Copyright by The HDF Group. * * All rights reserved. * * * - * This file is part of HDF5. The full HDF5 copyright notice, including * + * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the COPYING file, which can be found at the root of the source code * * distribution tree, or in https://www.hdfgroup.org/licenses. * diff --git a/src/H5Pmodule.h b/src/H5Pmodule.h index c7ab3bd..04eb124 100644 --- a/src/H5Pmodule.h +++ b/src/H5Pmodule.h @@ -789,9 +789,9 @@ * <li>\ref subsec_file_property_lists</li> * <li>\ref subsubsec_file_examples_props</li> * <li>\ref subsubsec_file_examples_access</li> - * <li>"File creation property list functions (H5P)"</li> - * <li>"File access property list functions (H5P)"</li> - * <li>"File driver functions (H5P)"</li></ul> + * <li>\ref dcpl_table_tag "Dataset creation property list functions (H5P)"</li> + * <li>\ref fapl_table_tag "File access property list functions (H5P)"</li> + * <li>\ref fd_pl_table_tag "File driver property list functions (H5P)"</li></ul> * \li In the \ref sec_attribute chapter, see "Attribute creation property list functions (H5P)". * \li In the \ref sec_group chapter, see "Group creation property list functions (H5P)". * \li Property lists are discussed throughout \ref sec_dataset. @@ -799,16 +799,16 @@ * All property list functions are described in the \ref H5P section of the * \ref RM. The function index at the top of the page provides a categorized listing * grouped by property list class. Those classes are listed below: - * \li File creation properties - * \li File access properties - * \li Group creation properties - * \li Dataset creation properties - * \li Dataset access properties - * \li Dataset transfer properties - * \li Link creation properties - * \li Link access properties - * \li Object creation properties - * \li Object copy properties + * \li \ref FCPL + * \li \ref FAPL + * \li \ref GCPL + * \li \ref DCPL + * \li \ref DAPL + * \li \ref DXPL + * \li \ref LCPL + * \li \ref LAPL + * \li \ref OCPL + * \li \ref OCPYPL * * Additional categories not related to the class structure are as follows: * \li General property list operations @@ -894,135 +894,186 @@ * or writing data. Property lists can be modified by adding or changing * properties. Property lists are deleted by closing the associated handles. * - * <table> - * <tr><th>Create</th><th>Read</th></tr> - * <tr valign="top"> - * <td> - * \snippet{lineno} H5P_examples.c create - * </td> - * <td> - * \snippet{lineno} H5P_examples.c read - * </td> - * <tr><th>Update</th><th>Delete</th></tr> - * <tr valign="top"> - * <td> - * \snippet{lineno} H5P_examples.c update - * </td> - * <td> - * \snippet{lineno} H5P_examples.c delete - * </td> - * </tr> - * </table> + * \ref PLCR + * \snippet{doc} tables/propertyLists.dox plcr_table + * + * \ref PLCR + * \snippet{doc} tables/propertyLists.dox plcra_table + * + * \ref PLCR / \ref OCPL / \ref GCPL + * \snippet{doc} tables/propertyLists.dox fcpl_table + * + * \ref PLCR + * \snippet{doc} tables/propertyLists.dox fapl_table + * \snippet{doc} tables/propertyLists.dox fd_pl_table + * + * \ref PLCR + * \snippet{doc} tables/propertyLists.dox lapl_table + * + * \ref PLCR / \ref OCPL + * \snippet{doc} tables/propertyLists.dox dcpl_table + * + * \ref PLCR / \ref LAPL + * \snippet{doc} tables/propertyLists.dox dapl_table + * + * \ref PLCR / \ref OCPL + * \snippet{doc} tables/propertyLists.dox gcpl_table + * + * \ref PLCR / \ref LAPL + * \snippet{doc} tables/propertyLists.dox gapl_table + * + * \ref PLCR + * \snippet{doc} tables/propertyLists.dox ocpl_table + * + * \ref PLCR + * \snippet{doc} tables/propertyLists.dox ocpypl_table + * + * \ref PLCR + * \snippet{doc} tables/propertyLists.dox strcpl_table + * + * \ref PLCR / \ref STRCPL + * \snippet{doc} tables/propertyLists.dox lcpl_table + * + * \ref PLCR / \ref STRCPL + * \snippet{doc} tables/propertyLists.dox acpl_table + * * * \defgroup STRCPL String Creation Properties + * \ingroup H5P * Currently, there are only two creation properties that you can use to control * the creation of HDF5 attributes and links. The first creation property, the * choice of a character encoding, applies to both attributes and links. * The second creation property applies to links only, and advises the library * to automatically create missing intermediate groups when creating new objects. - * \ingroup H5P + * + * \snippet{doc} tables/propertyLists.dox strcpl_table * * \defgroup LCPL Link Creation Properties - * The first creation property, the choice of a character encoding, applies to - * both attributes and links. - * The second creation property applies to links only, and advises the library - * to automatically create missing intermediate groups when creating new objects. * \ingroup STRCPL + * This creation property applies to links only, and advises the library + * to automatically create missing intermediate groups when creating new objects. + * + * \snippet{doc} tables/propertyLists.dox lcpl_table * * @see STRCPL * * \defgroup ACPL Attribute Creation Properties - * The creation property, the choice of a character encoding, applies to attributes. * \ingroup STRCPL + * The creation property, the choice of a character encoding, applies to attributes. + * + * \snippet{doc} tables/propertyLists.dox acpl_table * * @see STRCPL * * \defgroup LAPL Link Access Properties * \ingroup H5P * + * \snippet{doc} tables/propertyLists.dox lapl_table + * * \defgroup DAPL Dataset Access Properties + * \ingroup LAPL * Use dataset access properties to modify the default behavior of the HDF5 * library when accessing datasets. The properties include adjusting the size * of the chunk cache, providing prefixes for external content and virtual * dataset file paths, and controlling flush behavior, etc. These properties * are \Emph{not} persisted with datasets, and can be adjusted at runtime before * a dataset is created or opened. - * \ingroup LAPL + * + * \snippet{doc} tables/propertyLists.dox dapl_table * * \defgroup DCPL Dataset Creation Properties + * \ingroup OCPL * Use dataset creation properties to control aspects of dataset creation such * as fill time, storage layout, compression methods, etc. * Unlike dataset access and transfer properties, creation properties \Emph{are} * stored with the dataset, and cannot be changed once a dataset has been * created. - * \ingroup OCPL + * + * \snippet{doc} tables/propertyLists.dox dcpl_table * * \defgroup DXPL Dataset Transfer Properties + * \ingroup H5P * Use dataset transfer properties to customize certain aspects of reading * and writing datasets such as transformations, MPI-IO I/O mode, error * detection, etc. These properties are \Emph{not} persisted with datasets, * and can be adjusted at runtime before a dataset is read or written. - * \ingroup H5P + * + * \snippet{doc} tables/propertyLists.dox dxpl_table * * \defgroup FAPL File Access Properties + * \ingroup H5P * Use file access properties to modify the default behavior of the HDF5 * library when accessing files. The properties include selecting a virtual * file driver (VFD), configuring the metadata cache (MDC), control * file locking, etc. These properties are \Emph{not} persisted with files, and * can be adjusted at runtime before a file is created or opened. - * \ingroup H5P + * + * \snippet{doc} tables/propertyLists.dox fapl_table + * \snippet{doc} tables/propertyLists.dox fd_pl_table * * \defgroup FCPL File Creation Properties + * \ingroup GCPL * Use file creation properties to control aspects of file creation such * as setting a file space management strategy or creating a user block. * Unlike file access properties, creation properties \Emph{are} * stored with the file, and cannot be changed once a file has been * created. - * \ingroup GCPL * - * \defgroup GAPL General Access Properties - * The functions in this section can be applied to different kinds of property - * lists. + * \snippet{doc} tables/propertyLists.dox fcpl_table + * + * \defgroup GAPL Group Access Properties * \ingroup LAPL + * The functions in this section can be applied to group property lists. + * + * \snippet{doc} tables/propertyLists.dox gapl_table * * \defgroup GCPL Group Creation Properties + * \ingroup OCPL * Use group creation properties to control aspects of group creation such * as storage layout, compression, and link creation order tracking. * Unlike file access properties, creation properties \Emph{are} * stored with the group, and cannot be changed once a group has been * created. - * \ingroup OCPL + * + * \snippet{doc} tables/propertyLists.dox gcpl_table * * \defgroup PLCR Property List Class Root - * Use the functions in this module to manage HDF5 property lists. * \ingroup H5P + * Use the functions in this module to manage HDF5 property lists. + * + * \snippet{doc} tables/propertyLists.dox plcr_table * * \defgroup PLCRA Property List Class Root (Advanced) + * \ingroup H5P * You can create and customize user-defined property list classes using the * functions described below. Arbitrary user-defined properties can also * be inserted into existing property lists as so-called temporary properties. - * \ingroup H5P * + * \snippet{doc} tables/propertyLists.dox plcra_table * * \defgroup OCPL Object Creation Properties * \ingroup H5P * + * \snippet{doc} tables/propertyLists.dox ocpl_table + * * \defgroup OCPYPL Object Copy Properties * \ingroup H5P * + * \snippet{doc} tables/propertyLists.dox ocpypl_table + * * \defgroup FMPL File Mount Properties - * Empty property class. * \ingroup H5P + * Empty property class. * * * \defgroup TCPL Datatype Creation Properties - * TCPL isn't supported yet. * \ingroup OCPL + * TCPL isn't supported yet. * * * \defgroup TAPL Datatype Access Properties - * TAPL isn't supported yet. * \ingroup LAPL + * TAPL isn't supported yet. * * * diff --git a/src/H5Ppublic.h b/src/H5Ppublic.h index 8990922..366bf81 100644 --- a/src/H5Ppublic.h +++ b/src/H5Ppublic.h @@ -5675,6 +5675,9 @@ H5_DLL herr_t H5Pget_dset_no_attrs_hint(hid_t dcpl_id, hbool_t *minimize); * are null pointers then the corresponding information is not * returned. * + * \note On Windows, off_t is typically a 32-bit signed long value, which + * limits the valid offset that can be returned to 2 GiB. + * * \version 1.6.4 \p idx parameter type changed to unsigned. * \since 1.0.0 * @@ -8054,9 +8057,8 @@ H5_DLL herr_t H5Pget_mpio_no_collective_cause(hid_t plist_id, uint32_t *local_no uint32_t *global_no_collective_cause); #endif /* H5_HAVE_PARALLEL */ -/* Link creation property list (LCPL) routines */ /** - * \ingroup STRCPL + * \ingroup LCPL * * \brief Determines whether property is set to enable creating missing * intermediate groups @@ -8087,7 +8089,7 @@ H5_DLL herr_t H5Pget_mpio_no_collective_cause(hid_t plist_id, uint32_t *local_no */ H5_DLL herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd /*out*/); /** - * \ingroup STRCPL + * \ingroup LCPL * * \brief Specifies in property list whether to create missing * intermediate groups @@ -8469,9 +8471,8 @@ H5_DLL herr_t H5Pget_map_iterate_hints(hid_t mapl_id, size_t *key_prefetch_size size_t *key_alloc_size /*out*/); #endif /* H5_HAVE_MAP_API */ -/* String creation property list (STRCPL) routines */ /** - * \ingroup STRCPL + * \ingroup ACPL * * \brief Retrieves the character encoding used to create a link or * attribute name @@ -8500,7 +8501,7 @@ H5_DLL herr_t H5Pget_map_iterate_hints(hid_t mapl_id, size_t *key_prefetch_size */ H5_DLL herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding /*out*/); /** - * \ingroup STRCPL + * \ingroup ACPL * * \brief Sets the character encoding used to encode link and attribute * names diff --git a/src/H5Tmodule.h b/src/H5Tmodule.h index 83f7467..590a60c 100644 --- a/src/H5Tmodule.h +++ b/src/H5Tmodule.h @@ -3872,26 +3872,6 @@ filled according to the value of this property. The padding can be: * to HDF5 files and linked to groups as HDF5 datatype objects or so-called * \Emph{committed datatypes}. * - * <table> - * <tr><th>Create</th><th>Read</th></tr> - * <tr valign="top"> - * <td> - * \snippet{lineno} H5T_examples.c create - * </td> - * <td> - * \snippet{lineno} H5T_examples.c read - * </td> - * <tr><th>Update</th><th>Delete</th></tr> - * <tr valign="top"> - * <td> - * \snippet{lineno} H5T_examples.c update - * </td> - * <td> - * \snippet{lineno} H5T_examples.c delete - * </td> - * </tr> - * </table> - * * \defgroup ARRAY Array Datatypes * \ingroup H5T * \defgroup ATOM Atomic Datatypes @@ -3912,33 +3892,36 @@ filled according to the value of this property. The padding can be: * * \defgroup PDT Predefined Datatypes * \ingroup H5T - * \details What is a predefined HDF5 datatype? - * \todo Fill in the blanks! * * \defgroup PDTCPU By CPU * \ingroup PDT * \details CPU-specific datatypes * \defgroup PDTALPHA DEC Alpha * \ingroup PDTCPU + * \snippet{doc} tables/predefinedDatatypes.dox predefined_dec_datatypes_table * \defgroup PDTX86 AMD & INTEL * \ingroup PDTCPU + * \snippet{doc} tables/predefinedDatatypes.dox predefined_intel_datatypes_table * \defgroup PDTMIPS SGI MIPS * \ingroup PDTCPU + * \snippet{doc} tables/predefinedDatatypes.dox predefined_mips_datatypes_table * * \defgroup PDTIEEE IEEE * \ingroup PDT * \details The IEEE floating point types in big- and little-endian byte orders. + * \snippet{doc} tables/predefinedDatatypes.dox predefined_ieee_datatypes_table * * \defgroup PDTSTD Standard Datatypes * \ingroup PDT * \details These are "standard" types. For instance, signed (2's complement) * and unsigned integers of various sizes in big- and little-endian * byte orders. + * \snippet{doc} tables/predefinedDatatypes.dox predefined_std_datatypes_table * * \defgroup PDTUNIX UNIX-specific Datatypes * \ingroup PDT * \details Types which are particular to Unix. - * \todo Fill in the blanks! + * \snippet{doc} tables/predefinedDatatypes.dox predefined_unix_datatypes_table * * \defgroup PDTNAT Native Datatypes * \ingroup PDT @@ -3952,13 +3935,16 @@ filled according to the value of this property. The padding can be: * \li The datatype \c LLONG corresponds C's \Code{long long} and * \c LDOUBLE is \Code{long double}. These types might be the same * as \c LONG and \c DOUBLE, respectively. + * \snippet{doc} tables/predefinedDatatypes.dox predefined_native_datatypes_table + * * \defgroup PDTC9x C9x Integer Datatypes * \ingroup PDTNAT * \details C9x integer types - * \todo Fill in the blanks! + * \snippet{doc} tables/predefinedDatatypes.dox predefined_c9x_datatypes_table * * \defgroup PDTS Strings * \ingroup PDT + * \snippet{doc} tables/predefinedDatatypes.dox predefined_string_datatypes_table * */ diff --git a/src/H5Tpublic.h b/src/H5Tpublic.h index 13e92f6..29008db 100644 --- a/src/H5Tpublic.h +++ b/src/H5Tpublic.h @@ -1083,7 +1083,7 @@ H5_DLLVAR hid_t H5T_NATIVE_UINT_FAST64_g; * When creating a fixed-length string datatype, \p size will * be the length of the string in bytes. The length of the * string in characters will depend on i the encoding used; see - * H5Pset_char_encoding(). + * #H5Pset_char_encoding. * * ENUMs created with this function have a signed native integer * base datatype. Use H5Tenum_create() if a different integer base diff --git a/src/H5VLmodule.h b/src/H5VLmodule.h index 1ad0c8d..9fc14ab 100644 --- a/src/H5VLmodule.h +++ b/src/H5VLmodule.h @@ -27,18 +27,18 @@ #define H5_MY_PKG_ERR H5E_VOL #define H5_MY_PKG_INIT YES -/** \page H5VL_UG The HDF5 VOL plugin +/** \page H5VL_UG The HDF5 Virtual Object Layer (VOL) * - * \section sec_vol The HDF5 VOL plugin + * \section sec_vol The HDF5 Virtual Object Layer (VOL) * - * \section subsec_vol_intro Introduction + * \subsection subsec_vol_intro Introduction * The virtual object layer is an abstraction layer in the HDF5 library that intercepts all API calls - * that could potentially access objects in an HDF5 container and forwards those calls to a VOL connector, - * which implements the storage. The user or application gets the benefit of using the familiar and - * widely-used HDF5 data model and API, but can map the physical storage of the HDF5 file and objects - * to storage that better meets the application's data needs. + * that could potentially access objects in an HDF5 container and forwards those calls to a VOL + * connector, which implements the storage. The user or application gets the benefit of using the + * familiar and widely-used HDF5 data model and API, but can map the physical storage of the HDF5 file + * and objects to storage that better meets the application’s data needs. * - * \section subsec_vol_abstract_layer The VOL Abstraction Layer + * \subsection subsec_vol_abstract_layer The VOL Abstraction Layer * The VOL lies just under the public API. When a storage-oriented public APIcall is made, the library * performs a few sanity checks on the input parameters and then immediately invokes a VOL callback, * which resolves to an implementation in the VOL connector that was selected when opening or creating @@ -74,11 +74,11 @@ * For more information about which calls go through the VOL and the mechanism by which this is implemented, * see the connector author and library internals documentation. * - * \section subsec_vol_connect VOL Connectors + * \subsection subsec_vol_connect VOL Connectors * A VOL connector can be implemented in several ways: * \li as a shared or static library linked to an application * \li as a dynamically loaded plugin, implemented as a shared library - * \li and even as an internal connector, built into the HDF5 libraryitself + * \li and even as an internal connector, built into the HDF5 library itself * * This section mostly focuses on external connectors, both libraries and plugins, as those are expected * to be much more common than internal implementations. @@ -122,7 +122,9 @@ * \todo Describe the VOL plugin life cycle. * * \defgroup ASYNC Asynchronous Functions - * \brief Asynchronous Functions + * \brief List of the asynchronous functions. + * \note The argument \p es_id associated with the asynchronous APIs is the \Emph{event set id}. See H5ES for + *context. * * \defgroup H5VLDEF Definitions * \ingroup H5VL |