summaryrefslogtreecommitdiffstats
path: root/doxygen/dox
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2020-11-03 16:42:09 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2020-11-03 16:42:09 (GMT)
commitc812f3fea2c9bacfc0f2d2bcad6960e9aa640dcd (patch)
tree79245efc0218e670e8c5edd9eb0d57ad045f0633 /doxygen/dox
parentdc47bb7084d55993a0a6f3725dcf79d92d7f0e65 (diff)
downloadhdf5-c812f3fea2c9bacfc0f2d2bcad6960e9aa640dcd.zip
hdf5-c812f3fea2c9bacfc0f2d2bcad6960e9aa640dcd.tar.gz
hdf5-c812f3fea2c9bacfc0f2d2bcad6960e9aa640dcd.tar.bz2
Add doxygen auotoconf and cmake support
Diffstat (limited to 'doxygen/dox')
-rw-r--r--doxygen/dox/H5Acreate.dox9
-rw-r--r--doxygen/dox/H5Aiterate.dox9
-rw-r--r--doxygen/dox/H5Fget_info.dox47
-rw-r--r--doxygen/dox/H5Lget_info.dox18
-rw-r--r--doxygen/dox/H5Lget_info_by_idx.dox18
-rw-r--r--doxygen/dox/H5Literate.dox22
-rw-r--r--doxygen/dox/H5Literate_by_name.dox23
-rw-r--r--doxygen/dox/H5Lvisit.dox22
-rw-r--r--doxygen/dox/H5Lvisit_by_name.dox22
-rw-r--r--doxygen/dox/H5Oget_info.dox121
-rw-r--r--doxygen/dox/H5Oget_info_by_idx.dox92
-rw-r--r--doxygen/dox/H5Oget_info_by_name.dox99
-rw-r--r--doxygen/dox/H5Ovisit.dox92
-rw-r--r--doxygen/dox/H5Ovisit_by_name.dox92
-rw-r--r--doxygen/dox/H5Sencode.dox5
-rw-r--r--doxygen/dox/mainpage.dox36
-rw-r--r--doxygen/dox/rm-template.dox72
17 files changed, 799 insertions, 0 deletions
diff --git a/doxygen/dox/H5Acreate.dox b/doxygen/dox/H5Acreate.dox
new file mode 100644
index 0000000..18d648f
--- /dev/null
+++ b/doxygen/dox/H5Acreate.dox
@@ -0,0 +1,9 @@
+/**
+ * \ingroup H5A
+ * \def H5Acreate()
+ * H5Acreate() is a macro that is mapped to either H5Acreate1() or
+ * H5Acreate2().
+ *
+ *
+ * \todo Standardize the way we describe these macros!
+ */
diff --git a/doxygen/dox/H5Aiterate.dox b/doxygen/dox/H5Aiterate.dox
new file mode 100644
index 0000000..46b9bb4
--- /dev/null
+++ b/doxygen/dox/H5Aiterate.dox
@@ -0,0 +1,9 @@
+/**
+ * \ingroup H5A
+ * \def H5Aiterate()
+ * H5Aiterate() is a macro that is mapped to either H5Aiterate1() or
+ * H5Aiterate2().
+ *
+ *
+ * \todo Standardize the way we describe these macros!
+ */
diff --git a/doxygen/dox/H5Fget_info.dox b/doxygen/dox/H5Fget_info.dox
new file mode 100644
index 0000000..b2eeb6c
--- /dev/null
+++ b/doxygen/dox/H5Fget_info.dox
@@ -0,0 +1,47 @@
+/**
+ * \ingroup H5F
+ * \def H5Fget_info()
+ * H5Fget_info() is a macro that is mapped to either H5Fget_info1()
+ * or H5Fget_info2(), depending on the needs of the application.
+ * Similarly, the macro for the \ref H5F_info_t struct is mapped to either
+ * H5F_info1_t or H5F_info2_t.
+ *
+ * Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in "API Compatibility
+ * Macros in HDF5".
+ *
+ * When both the HDF5 library and the application are built and installed with
+ * no specific compatibility flags, H5Fget_info() is mapped to the most recent
+ * version of the function, currently H5Fget_info2(). If the library and/or
+ * application is compiled for Release 1.8 emulation, H5Fget_info() will be
+ * mapped to H5Fget_info1(). Since there was no H5Fget_info() function in
+ * Release 1.6, if the library and/or application is compiled for Release 1.6
+ * emulation, H5Fget_info() will be mapped to the most recent version of the
+ * function, currently H5Fget_info2(). Function-specific flags are available to
+ * override these settings on a function-by-function basis when the application
+ * is compiled.
+ *
+ * Specific compile-time compatibility flags and the resulting
+ * mappings are as follows:
+ *
+ * \Bold{Global settings}\n
+ * \li No compatibility flag: H5Fget_info2() and H5F_info2_t
+ * \li Enable deprecated symbols: H5Fget_info2() and H5F_info2_t
+ * \li Disable deprecated symbols: H5Fget_info2() and H5F_info2_t
+ * \li Emulate Release 1.6 interface: H5Fget_info2() and H5F_info2_t
+ * \li Emulate Release 1.8 interface: H5Fget_info1() and H5F_info1_t
+ *
+ * \Bold{Function- and struct-level macros}\n
+ * \li \Code{H5Fget_info_vers=2}: H5Fget_info2()
+ * \li \Code{H5Fget_info_vers=1}: H5Fget_info1()
+ * \li \Code{H5F_info_t_vers=2}: H5F_info2_t
+ * \li \Code{H5F_info_t_vers=1}: H5F_info1_t
+ *
+ * \todo Fix the reference.
+ *
+ * \version 1.10.0 The C function H5Fget_info() and H5F_info_t renamed to
+ * H5Fget_info1() and H5F_info1_t, respectively, and deprecated
+ * in this release. The C macro #H5Fget_info, the C function
+ * H5Fget_info2(), and the struct H5F_info2_t introduced in this
+ * release.
+ */
diff --git a/doxygen/dox/H5Lget_info.dox b/doxygen/dox/H5Lget_info.dox
new file mode 100644
index 0000000..686dfe4
--- /dev/null
+++ b/doxygen/dox/H5Lget_info.dox
@@ -0,0 +1,18 @@
+ /**
+ * \ingroup LMGT
+ * \def H5Lget_info()
+ * H5Lget_info() is a macro that is mapped to either H5Lget_info1()
+ * or H5Lget_info2() Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in Compatibility
+ * Macros in HDF5. If the library and/or application is compiled for Release
+ * 1.12 emulation, H5Lget_info() will be mapped to H5Lget_info2() and
+ * H5Lget_info1() is deprecated. With earlier versions, H5Lget_info() is mapped to
+ * H5Lget_info1(). Specific compile-time compatibility flags and the resulting
+ * mappings are as follows:
+ * \li No compatibility flag: H5Lget_info2() (using 1.12 source) H5Lget_info1()
+ * (using 1.10 or 1.8 source)
+ * \li Emulate Release 1.12: H5Lget_info2()
+ * \li Emulate Release 1.8 or 1.10 interface: H5Lget_info1()
+ *
+ * \todo Fix the reference.
+ */
diff --git a/doxygen/dox/H5Lget_info_by_idx.dox b/doxygen/dox/H5Lget_info_by_idx.dox
new file mode 100644
index 0000000..8f1511e
--- /dev/null
+++ b/doxygen/dox/H5Lget_info_by_idx.dox
@@ -0,0 +1,18 @@
+ /**
+ * \ingroup LMGT
+ * \def H5Lget_info_by_idx()
+ * H5Lget_info_by_idx() is a macro that is mapped to either H5Lget_info_by_idx1()
+ * or H5Lget_info_by_idx2() Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in Compatibility
+ * Macros in HDF5. If the library and/or application is compiled for Release
+ * 1.12 emulation, H5Lget_info_by_idx() will be mapped to H5Lget_info_by_idx2() and
+ * H5Lget_info_by_idx1() is deprecated. With earlier versions, H5Lget_infoby_idx() is mapped to
+ * H5Lget_info_by_idx1(). Specific compile-time compatibility flags and the resulting
+ * mappings are as follows:
+ * \li No compatibility flag: H5Lget_info_by_idx2() (using 1.12 source) H5Lget_info_by_idx1()
+ * (using 1.10 or 1.8 source)
+ * \li Emulate Release 1.12: H5Lget_info_by_idx2()
+ * \li Emulate Release 1.8 or 1.10 interface: H5Lget_info_by_idx1()
+ *
+ * \todo Fix the reference.
+ */
diff --git a/doxygen/dox/H5Literate.dox b/doxygen/dox/H5Literate.dox
new file mode 100644
index 0000000..4d3a8dc
--- /dev/null
+++ b/doxygen/dox/H5Literate.dox
@@ -0,0 +1,22 @@
+/**
+ * \ingroup TRAV
+ * \def H5Literate()
+ * H5Literate() is a macro that is mapped to either H5Literate1() or
+ * H5Literate2() Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in
+ * Compatibility Macros in HDF5. If the library and/or application is
+ * compiled for Release 1.12 emulation, H5Literate() will be mapped to
+ * H5Literate2() and H5Literate1() is deprecated. With earlier versions,
+ * H5Literate() is mapped to H5Literate1(). Specific compile-time compatibility
+ * flags and the resulting mappings are as follows:
+ * \li No compatibility flag: H5Literate2() (using 1.12 source) H5Literate1()
+ * (using 1.10 or 1.8 source)
+ * \li Emulate Release 1.12: H5Literate2()
+ * \li Emulate Release 1.8 or 1.10 interface: H5Literate1()
+ *
+ * \todo Fix the reference.
+ *
+ * \version 1.12.0 The function H5Literate() was renamed to H5Literate1() and
+ * deprecated in this release. The macro H5Literate() and the
+ * function H5Literate2() were introduced in this release.
+ */
diff --git a/doxygen/dox/H5Literate_by_name.dox b/doxygen/dox/H5Literate_by_name.dox
new file mode 100644
index 0000000..174157a
--- /dev/null
+++ b/doxygen/dox/H5Literate_by_name.dox
@@ -0,0 +1,23 @@
+/**
+ * \ingroup TRAV
+ * \def H5Literate_by_name()
+ * H5Literate_by_name() is a macro that is mapped to either
+ * H5Literate_by_name1() or H5Literate_by_name2() Such macros are provided to
+ * facilitate application compatibility. Their use and mappings are fully
+ * described in Compatibility Macros in HDF5. If the library and/or application is
+ * compiled for Release 1.12 emulation, H5Literate_by_name() will be mapped to
+ * H5Literate_by_name2() and H5Literate_by_name1() is deprecated. With earlier
+ * versions, H5Literate_by_name() is mapped to H5Literate_by_name1().
+ * Specific compile-time compatibility flags and the resulting mappings are as
+ * follows:
+ * \li No compatibility flag: H5Literate_by_name2() (using 1.12 source)
+ * H5Literate_by_name1() (using 1.10 or 1.8 source)
+ * \li Emulate Release 1.12: H5Literate_by_name2()
+ * \li Emulate Release 1.8 or 1.10 interface: H5Literate_by_name1()
+ *
+ * \todo Fix the reference.
+ *
+ * \version 1.12.0 The function H5Literate_by_name() was renamed to H5Literate_by_name1() and
+ * deprecated in this release. The macro H5Literate_by_name() and the
+ * function H5Literate_by_name2() were introduced in this release.
+ */
diff --git a/doxygen/dox/H5Lvisit.dox b/doxygen/dox/H5Lvisit.dox
new file mode 100644
index 0000000..e356576
--- /dev/null
+++ b/doxygen/dox/H5Lvisit.dox
@@ -0,0 +1,22 @@
+/**
+ * \ingroup TRAV
+ * \def H5Lvisit()
+ * H5Lvisit() is a macro that is mapped to either H5Lvisit1() or
+ * H5Lvisit2() Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in
+ * Compatibility Macros in HDF5. If the library and/or application is
+ * compiled for Release 1.12 emulation, H5Lvisit() will be mapped to
+ * H5Lvisit2() and H5Lvisit1() is deprecated. With earlier versions,
+ * H5Lvisit() is mapped to H5Lvisit1(). Specific compile-time compatibility
+ * flags and the resulting mappings are as follows:
+ * \li No compatibility flag: H5Lvisit2() (using 1.12 source) H5Lvisit1()
+ * (using 1.10 or 1.8 source)
+ * \li Emulate Release 1.12: H5Lvisit2()
+ * \li Emulate Release 1.8 or 1.10 interface: H5Lvisit1()
+ *
+ * \todo Fix the reference.
+ *
+ * \version 1.12.0 The function H5Lvisit() was renamed to H5Lvisit1() and
+ * deprecated in this release. The macro H5Lvisit() and the
+ * function H5Lvisit2() were introduced in this release.
+ */
diff --git a/doxygen/dox/H5Lvisit_by_name.dox b/doxygen/dox/H5Lvisit_by_name.dox
new file mode 100644
index 0000000..0bb482e
--- /dev/null
+++ b/doxygen/dox/H5Lvisit_by_name.dox
@@ -0,0 +1,22 @@
+/**
+ * \ingroup TRAV
+ * \def H5Lvisit_by_name()
+ * H5Lvisit_by_name() is a macro that is mapped to either H5Lvisit_by_name1() or
+ * H5Lvisit_by_name2() Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in
+ * Compatibility Macros in HDF5. If the library and/or application is
+ * compiled for Release 1.12 emulation, H5Lvisit_by_name() will be mapped to
+ * H5Lvisit_by_name2() and H5Lvisit_by_name1() is deprecated. With earlier versions,
+ * H5Lvisit_by_name() is mapped to H5Lvisit_by_name1(). Specific compile-time
+ * compatibility flags and the resulting mappings are as follows:
+ * \li No compatibility flag: H5Lvisit_by_name2() (using 1.12 source) H5Lvisit_by_name1()
+ * (using 1.10 or 1.8 source)
+ * \li Emulate Release 1.12: H5Lvisit_by_name2()
+ * \li Emulate Release 1.8 or 1.10 interface: H5Lvisit_by_name1()
+ *
+ * \todo Fix the reference.
+ *
+ * \version 1.12.0 The function H5Lvisit_by_name() was renamed to H5Lvisit_by_name1() and
+ * deprecated in this release. The macro H5Lvisit_by_name() and the
+ * function H5Lvisit_by_name2() were introduced in this release.
+ */
diff --git a/doxygen/dox/H5Oget_info.dox b/doxygen/dox/H5Oget_info.dox
new file mode 100644
index 0000000..e8b7afa
--- /dev/null
+++ b/doxygen/dox/H5Oget_info.dox
@@ -0,0 +1,121 @@
+/**
+ * \ingroup H5O
+ * \def H5Oget_info()
+ *
+ * #H5Oget_info is a macro that is mapped to:
+ * \li H5Oget_info3()
+ * \li H5Oget_info1()
+ *
+ * \details Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in
+ * API Compatibility Macros in HDF5; we urge you to read that
+ * document closely.
+ *
+ * In HDF5 versions 1.12 and after, #H5Oget_info is mapped to
+ * \ref H5Oget_info3() and \ref H5Oget_info1() is deprecated.
+ * In version 1.10 #H5Oget_info is identical to \ref H5Oget_info1().
+ *
+ * Specific compile-time compatibility flags and the resulting
+ * mappings are as follows:
+ * \par
+ * <table>
+ * <tr>
+ * <th>Compatibility setting</th>
+ * <th>H5Oget_info</th>
+ * </tr>
+ * <tr>
+ * <td>No compatibility flag</td>
+ * <td>\ref H5Oget_info3() (in release 1.12)</td>
+ * </tr>
+ * <tr>
+ <td></td>
+ * <td>\ref H5Oget_info1() (in 1.8 or 1.10)</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.12</td>
+ * <td>\ref H5Oget_info3()</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.10/1.8 interface</td>
+ * <td>\ref H5Oget_info1()</td>
+ * </tr>
+ * </table>
+ *
+ * \note If you are iterating through a lot of different objects to
+ * retrieve information via the H5Oget_info() family of routines,
+ * you may see memory building up. This can be due to memory
+ * allocation for metadata such as object headers and messages
+ * when the iterated objects are put into the metadata cache.
+ * \note
+ * If the memory buildup is not desirable, you can configure a
+ * smaller cache via H5Fset_mdc_config() or set the file access
+ * property list via H5Pset_mdc_config(). A smaller sized cache
+ * will force metadata entries to be evicted from the cache,
+ * thus freeing the memory associated with the entries.
+ *
+ * \todo Fix reference to the document
+ *
+ * \par Version
+ * <table>
+ * <tr>
+ * <th>Release</th>
+ * <th>Change</th>
+ * </tr>
+ * <tr>
+ * <td>1.12.0</td>
+ * <td>The macro #H5Oget_info and the function \ref H5Oget_info3() were added,
+ * and \ref H5Oget_info1() was deprecated.</td>
+ * </tr>
+ * <tr>
+ * <td>1.10.5</td>
+ * <td>The macro #H5Oget_info was removed.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The functions \ref H5Oget_info1() and
+ * #H5Oget_info are identical in this release.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>This change was added to restore the broken API compatibility
+ * introduced in HDF5-1.10.3.</td>
+ * </tr>
+ * <tr>
+ * <td>1.10.3</td>
+ * <td>The function \ref H5Oget_info() was renamed \ref H5Oget_info1.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The macro #H5Oget_info and the function \ref H5Oget_info2() were
+ * introduced in this release.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.15</td>
+ * <td>Added a note about the valid values for the \c version field in
+ * the \ref H5O_hdr_info_t structure.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.11</td>
+ * <td>Fortran subroutine introduced in this release.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.10</td>
+ * <td>Added \ref H5O_type_t structure to the Description section.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>Separated \ref H5O_hdr_info_t structure from \ref H5O_info_t
+ * in the Description section.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>Clarified the definition and implementation of the time fields.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.0</td>
+ * <td>Function introduced in this release.</td>
+ * </tr>
+ * </table>
+ *
+ *
+ */
diff --git a/doxygen/dox/H5Oget_info_by_idx.dox b/doxygen/dox/H5Oget_info_by_idx.dox
new file mode 100644
index 0000000..2598374
--- /dev/null
+++ b/doxygen/dox/H5Oget_info_by_idx.dox
@@ -0,0 +1,92 @@
+/**
+ * \ingroup H5O
+ * \def H5Oget_info_by_idx()
+ *
+ * #H5Oget_info_by_idx is a macro that is mapped to:
+ * \li H5Oget_info_by_idx3()
+ * \li H5Oget_info_by_idx1()
+ *
+ * \details Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in
+ * API Compatibility Macros in HDF5; we urge you to read that
+ * document closely.
+ *
+ * In HDF5 versions 1.12 and after, #H5Oget_info_by_idx is mapped to
+ * \ref H5Oget_info_by_idx3() and \ref H5Oget_info_by_idx1() is deprecated.
+ * In version 1.10 #H5Oget_info_by_idx is identical to \ref H5Oget_info_by_idx1().
+ *
+ * Specific compile-time compatibility flags and the resulting
+ * mappings are as follows:
+ *
+ * \par
+ * <table>
+ * <tr>
+ * <th>Compatibility setting</th>
+ * <th>H5Oget_info_by_idx</th>
+ * </tr>
+ * <tr>
+ * <td>No compatibility flag</td>
+ * <td>\ref H5Oget_info_by_idx3() for 1.12</td>
+ * </tr>
+ * <tr>
+ <td></td>
+ * <td>\ref H5Oget_info_by_idx1() for 1.8/1.10</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.12</td>
+ * <td>\ref H5Oget_info_by_idx3()</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.10/1.8 interface</td>
+ * <td>\ref H5Oget_info_by_idx1()</td>
+ * </tr>
+ * </table>
+ *
+ * \todo Fix reference to the document
+ *
+ * \par Version
+ * <table>
+ * <tr>
+ * <th>Release</th>
+ * <th>Change</th>
+ * </tr>
+ * <tr>
+ * <td>1.12.0</td>
+ * <td>The macro #H5Oget_info_by_idx and function \ref H5Oget_info_by_idx3() were added,
+ * and \ref H5Oget_info_by_idx1() was deprecated.</td>
+ * </tr>
+ * <tr>
+ * <td>1.10.5</td>
+ * <td>The macro #H5Oget_info_by_idx was removed.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The functions \ref H5Oget_info_by_idx() and
+ * H5Oget_info_by_idx1() are identical in this release.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>This change was added to restore the broken API compatibility
+ * introduced in HDF5-1.10.3.</td>
+ * </tr>
+ * <tr>
+ * <td>1.10.3</td>
+ * <td>The function \ref H5Oget_info_by_idx() was renamed \ref H5Oget_info_by_idx1.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The macro #H5Oget_info_by_idx and the function \ref H5Oget_info_by_idx2() were
+ * introduced in this release.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.11</td>
+ * <td>Fortran subroutine introduced in this release.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.0</td>
+ * <td>Function introduced in this release.</td>
+ * </tr>
+ * </table>
+ *
+ *
+ */
diff --git a/doxygen/dox/H5Oget_info_by_name.dox b/doxygen/dox/H5Oget_info_by_name.dox
new file mode 100644
index 0000000..3276c5a
--- /dev/null
+++ b/doxygen/dox/H5Oget_info_by_name.dox
@@ -0,0 +1,99 @@
+/**
+ * \ingroup H5O
+ * \def H5Oget_info_by_name()
+ *
+ * #H5Oget_info_by_name is a macro that is mapped to:
+ * \li H5Oget_info_by_name3()
+ * \li H5Oget_info_by_name1()
+ *
+ * \details Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in
+ * API Compatibility Macros in HDF5; we urge you to read that
+ * document closely.
+ *
+ * In HDF5 versions 1.12 and after, #H5Oget_info_by_name is mapped to
+ * \ref H5Oget_info_by_name3(). In version 1.10 #H5Oget_info_by_name is
+ * identical to \ref H5Oget_info_by_name1().
+ *
+ * Specific compile-time compatibility flags and the resulting
+ * mappings are as follows:
+ *
+ * \par
+ * <table>
+ * <tr>
+ * <th>Compatibility setting</th>
+ * <th>H5Oget_info_by_name</th>
+ * </tr>
+ * <tr>
+ * <td>No compatibility flag</td>
+ * <td>\ref H5Oget_info_by_name3() for 1.12 and above</td>
+ * </tr>
+ * <tr>
+ <td></td>
+ * <td>\ref H5Oget_info_by_name1() for 1.8 or 1.10</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.12</td>
+ * <td>\ref H5Oget_info_by_name3()</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.10 or 1.8 interface</td>
+ * <td>\ref H5Oget_info_by_name1()</td>
+ * </tr>
+ * </table>
+ *
+ * \todo Fix reference to the document; exchange 1.8.8 and 1.8.0
+ *
+ * \par Version
+ * <table>
+ * <tr>
+ * <th>Release</th>
+ * <th>Change</th>
+ * </tr>
+ * <tr>
+ * <td>1.12.0</td>
+ * <td>The macro #H5Oget_info_by_name and function \ref H5Oget_info_by_name3() were added
+ * and \ref H5Oget_info_by_name1() was deprecated.</td>
+ * </tr>
+ * <tr>
+ * <td>1.10.5</td>
+ * <td>The macro #H5Oget_info_by_name was removed.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The functions \ref H5Oget_info_by_name() and
+ * H5Oget_info_by_name1() are identical in this release.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>This change was added to restore the broken API compatibility
+ * introduced in HDF5-1.10.3.</td>
+ * </tr>
+ * <tr>
+ * <td>1.10.3</td>
+ * <td>The function \ref H5Oget_info_by_name() was renamed
+ * to \ref H5Oget_info_by_name1.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The macro #H5Oget_info_by_name was renamed to
+ * \ref H5Oget_info_by_name1().</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The macro #H5Oget_info_by_name and the function \ref H5Oget_info_name2()
+ * were introduced in this release.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.8</td>
+ * <td>Fortran 2003 subroutine and \ref h5o_info_t derived
+ * type introduced in this release.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.0</td>
+ * <td>C function introduced in this release.</td>
+ * </tr>
+ * </table>
+ *
+ *
+ */
diff --git a/doxygen/dox/H5Ovisit.dox b/doxygen/dox/H5Ovisit.dox
new file mode 100644
index 0000000..5030a13
--- /dev/null
+++ b/doxygen/dox/H5Ovisit.dox
@@ -0,0 +1,92 @@
+/**
+ * \ingroup H5O
+ * \def H5Ovisit()
+ *
+ * #H5Ovisit is a macro that is mapped to one of the following:
+ * \li H5Ovisit3()
+ * \li H5Ovisit1()
+ *
+ * \details Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in
+ * API Compatibility Macros in HDF5; we urge you to read that
+ * document closely.
+ *
+ * In HDF5 versions 1.12 and after, \ref H5Ovisit() is mapped to
+ * \ref H5Ovisit3(). In version 1.10, \ref H5Ovisit() is identical
+ * to \ref H5Ovisit1().
+ *
+ * Specific compile-time compatibility flags and the resulting
+ * mappings are as follows:
+ *
+ * \par
+ * <table>
+ * <tr>
+ * <th>Compatibility settings</th>
+ * <th>H5Ovisit</th>
+ * </tr>
+ * <tr>
+ * <td>No compatibility flag</td>
+ * <td>\ref H5Ovisit3() in 1.12 or after</td>
+ * </tr>
+ * <tr>
+ <td></td>
+ * <td>\ref H5Ovisit1() for 1.8 and 1.10</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.12</td>
+ * <td>\ref H5Ovisit3()</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.10 or 1.8 interface</td>
+ * <td>\ref H5Ovisit1()</td>
+ * </tr>
+ * </table>
+ *
+ * \todo Fix reference to the document
+ *
+ * \par Version
+ * <table>
+ * <tr>
+ * <th>Release</th>
+ * <th>Change</th>
+ * </tr>
+ * <tr>
+ * <td>1.12.0</td>
+ * <td>The macro #H5Ovisit and function \ref H5Ovisit3() were added,
+ * and \ref H5Ovisit1() was deprecated.</td>
+ * </tr>
+ * <tr>
+ * <td>1.10.5</td>
+ * <td>The macro #H5Ovisit was removed.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The functions \ref H5Ovisit() and
+ * H5Ovisit1() are identical in this release.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>This change was added to restore the broken API compatibility
+ * introduced in HDF5-1.10.3.</td>
+ * </tr>
+ * <tr>
+ * <td>1.10.3</td>
+ * <td>The function \ref H5Ovisit() was renamed to \ref H5Ovisit1.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The macro #H5Ovisit and the function \ref H5Ovisit2() were
+ * introduced in this release.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.8</td>
+ * <td>Fortran subroutine and data structure added.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.0</td>
+ * <td>C function introduced.</td>
+ * </tr>
+ * </table>
+ *
+ *
+ */
diff --git a/doxygen/dox/H5Ovisit_by_name.dox b/doxygen/dox/H5Ovisit_by_name.dox
new file mode 100644
index 0000000..5c6e51a
--- /dev/null
+++ b/doxygen/dox/H5Ovisit_by_name.dox
@@ -0,0 +1,92 @@
+/**
+ * \ingroup H5O
+ * \def H5Ovisit_by_name()
+ *
+ * #H5Ovisit_by_name is a macro that is mapped to one of the following:
+ * \li H5Ovisit_by_name3()
+ * \li H5Ovisit_by_name1()
+ *
+ * \details Such macros are provided to facilitate application
+ * compatibility. Their use and mappings are fully described in
+ * API Compatibility Macros in HDF5; we urge you to read that
+ * document closely.
+ *
+ * In HDF5 versions 1.12 and after, \ref H5Ovisit_by_name() is mapped to
+ * \ref H5Ovisit_by_name3(). In version 1.10, \ref H5Ovisit_by_name()
+ * is identical to \ref H5Ovisit_by_name1().
+ *
+ * Specific compile-time compatibility flags and the resulting
+ * mappings are as follows:
+ *
+ * \par
+ * <table>
+ * <tr>
+ * <th>Compatibility settings</th>
+ * <th>H5Ovisit_by_name</th>
+ * </tr>
+ * <tr>
+ * <td>No compatibility flag</td>
+ * <td>\ref H5Ovisit_by_name3() for 1.12 and above</td>
+ * </tr>
+ * <tr>
+ <td></td>
+ * <td>\ref H5Ovisit_by_name1() for 1.10 or 1.8</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.12 interface</td>
+ * <td>\ref H5Ovisit_by_name3()</td>
+ * </tr>
+ * <tr>
+ * <td>Emulate Release 1.10 or 1.8 interface</td>
+ * <td>\ref H5Ovisit_by_name1()</td>
+ * </tr>
+ * </table>
+ *
+ * \todo Fix reference to the document
+ *
+ * \par Version
+ * <table>
+ * <tr>
+ * <th>Release</th>
+ * <th>Change</th>
+ * </tr>
+ * <tr>
+ * <td>1.12.0</td>
+ * <td>The macro #H5Ovisit_by_name and function \ref H5Ovisit_by_name3() were added.
+ * </tr>
+ * <tr>
+ * <td>1.10.5</td>
+ * <td>The macro #H5Ovisit_by_name was removed.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The functions \ref H5Ovisit_by_name() and
+ * H5Ovisit_by_name1() are identical in this release.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>This change was added to restore the broken API compatibility
+ * introduced in HDF5-1.10.3.</td>
+ * </tr>
+ * <tr>
+ * <td>1.10.3</td>
+ * <td>The function \ref H5Ovisit_by_name() was renamed
+ * to \ref H5Ovisit_by_name1.</td>
+ * </tr>
+ * <tr>
+ * <td></td>
+ * <td>The macro #H5Ovisit_by_name and the function \ref H5Ovisit_by_name2()
+ * were introduced in this release.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.8</td>
+ * <td>Fortran subroutine introduced in this release.</td>
+ * </tr>
+ * <tr>
+ * <td>1.8.0</td>
+ * <td>Function introduced in this release.</td>
+ * </tr>
+ * </table>
+ *
+ *
+ */
diff --git a/doxygen/dox/H5Sencode.dox b/doxygen/dox/H5Sencode.dox
new file mode 100644
index 0000000..fe0995c
--- /dev/null
+++ b/doxygen/dox/H5Sencode.dox
@@ -0,0 +1,5 @@
+/**
+ * \ingroup H5S
+ * \def H5Sencode()
+ * H5Sencode() is a macro that is mapped to either H5Sencode1() or H5Sencode2().
+*/
diff --git a/doxygen/dox/mainpage.dox b/doxygen/dox/mainpage.dox
new file mode 100644
index 0000000..f1949e4
--- /dev/null
+++ b/doxygen/dox/mainpage.dox
@@ -0,0 +1,36 @@
+/*! \mainpage API Documentation for HDF5 Version 1.13 (Draft)
+ *
+ * \todo Fix the search form for server deployments.
+ * \todo Make it mobile-friendly
+ *
+ * \section intro_sec Introduction
+ *
+ * \todo Write an introduction.
+ *
+ * \section quick_links Quick Links
+ *
+ * <ul>
+ * <li>\ref PDT "Predefined Datatypes"</li>
+ * <li><a href="https://portal.hdfgroup.org/display/HDF5/API+Compatibility+Macros">API Compatibility Macros</a></li>
+ * <li><a href="https://hdf5.wiki/">HDF5 Wiki</a></li>
+ * </ul>
+ *
+ * \section using_locations The Use of Locations (Identifier + Name) in the HDF5 API
+ *
+ * \todo Make this crystal clear!
+ *
+ * \section cpp_note Programming Note for C++ Developers Using C Functions
+ *
+ * If a C routine that takes a function pointer as an argument is called from
+ * within C++ code, the C routine should be returned from normally.
+ *
+ * Examples of this kind of routine include callbacks such as H5Pset_elink_cb()
+ * and H5Pset_type_conv_cb() and functions such as H5Tconvert() and H5Ewalk2().
+ *
+ * Exiting the routine in its normal fashion allows the HDF5 C library to clean
+ * up its work properly. In other words, if the C++ application jumps out of
+ * the routine back to the C++ \c catch statement, the library is not given the
+ * opportunity to close any temporary data structures that were set up when the
+ * routine was called. The C++ application should save some state as the
+ * routine is started so that any problem that occurs might be diagnosed.
+ */
diff --git a/doxygen/dox/rm-template.dox b/doxygen/dox/rm-template.dox
new file mode 100644
index 0000000..64e4770
--- /dev/null
+++ b/doxygen/dox/rm-template.dox
@@ -0,0 +1,72 @@
+/**\ingroup H5XYZ
+ *
+ * \brief A synopsis of what H5XYZgreat_function does
+ *
+ * \param[in] name1 Description of IN parameter \p name1
+ * \param[out] name2 Description of OUT parameter \p name2
+ * \param[in,out] name3 Description of INOUT parameter \p name3
+ *
+ * \return Returns what you always wanted
+ *
+ * \pre Describe preconditions for an entity. Can be repreated.
+ *
+ * \invariant Describe invariants for an entity. Can be repeated.
+ *
+ * \post Describe postconditions for an entity. Can be repreated.
+ *
+ * \deprecated This was my favorite function while it lasted.
+ *
+ * \details Describe the normal behavior flow of the function here. Try to be
+ * helpful!
+ *
+ * Make reference to other functions like this: H5Fopen().
+ *
+ * Make reference to formal parameters like this: \p name1
+ *
+ * Make reference to macros like this: #H5P_DEFAULT.
+ *
+ * Make reference to enumeration constants like this: #H5F_CLOSE_WEAK.
+ *
+ * Include code snippets like this:
+ * \snippet H5Zpublic.h H5Z_class2_t_snip
+ *
+ * Lists are supported:
+ * - mouse events
+ * -# mouse move event
+ * -# mouse click event\n
+ * More info about the click event.
+ * -# mouse double click event
+ * - keyboard events
+ * 1. key down event
+ * 2. key up event
+ *
+ * The distance between \f$(x_1,y_1)\f$ and \f$(x_2,y_2)\f$ is
+ * \f$\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}\f$.\n
+ * For tables, see
+ * <a href="https://www.doxygen.nl/manual/tables.html">this example</a>.
+ *
+ * This is an example of how to use the H5XYZgreat_function().\n
+ * The contents of the file hello_hdf5.c will be included.
+ * \include hello_hdf5.c
+ *
+ * \note Dear reader, ...
+ *
+ * \attention Colorless green ideas sleep furiously.
+ *
+ * \warning Don't do this at home!
+ *
+ * \author This function was written by an esteemed author. Repeat this
+ * command for multiple authors.
+ *
+ * \date Record the function's birthdate!
+ *
+ * \since 1.MAJOR.MINOR The 'since' command can also be used to record a
+ * function's introduction (via its initial release
+ * version).
+ *
+ * \version 1.MAJOR.MINOR An important event in the version history of this
+ * function. There can be multiple such events.
+ *
+ * \see H5XYZanother_great_function(), H5XYZnot_so_great_a_function()
+ *
+ */