Description: changed return type of H5Eget_num from SIZE_T to SSIZE_T to include negative return value for failure. Platforms tested: Not needed
1160 lines
44 KiB
HTML
1160 lines
44 KiB
HTML
<html>
|
|
<head><title>
|
|
HDF5/H5E API Specification
|
|
</title>
|
|
|
|
<!-- #BeginLibraryItem "/ed_libs/styles_RM.lbi" -->
|
|
|
|
<!--
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* Copyright by the Board of Trustees of the University of Illinois. *
|
|
* All rights reserved. *
|
|
* *
|
|
* This file is part of HDF5. The full HDF5 copyright notice, including *
|
|
* terms governing use, modification, and redistribution, is contained in *
|
|
* the files COPYING and Copyright.html. COPYING can be found at the root *
|
|
* of the source code distribution tree; Copyright.html can be found at the *
|
|
* root level of an installed copy of the electronic HDF5 document set and *
|
|
* is linked from the top-level documents page. It can also be found at *
|
|
* http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
|
|
* access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
-->
|
|
|
|
<link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
|
|
<!-- #EndLibraryItem --></head>
|
|
|
|
<body bgcolor="#FFFFFF">
|
|
<!-- HEADER RIGHT " " -->
|
|
|
|
|
|
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
|
|
<center>
|
|
<table border=0 width=98%>
|
|
<tr><td valign=top align=left>
|
|
<a href="index.html">HDF5 documents and links</a> <br>
|
|
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a> <br>
|
|
<!--
|
|
<a href="Glossary.html">Glossary</a><br>
|
|
-->
|
|
</td>
|
|
<td valign=top align=right>
|
|
And in this document, the
|
|
<a href="RM_H5Front.html">HDF5 Reference Manual</a>
|
|
<br>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5im.html">H5IM</a>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5lt.html">H5LT</a>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5pt.html">H5PT</a>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5tb.html">H5TB</a>
|
|
<br>
|
|
<a href="RM_H5.html">H5</a>
|
|
<a href="RM_H5A.html">H5A</a>
|
|
<a href="RM_H5D.html">H5D</a>
|
|
<a href="RM_H5E.html">H5E</a>
|
|
<a href="RM_H5F.html">H5F</a>
|
|
<a href="RM_H5G.html">H5G</a>
|
|
<a href="RM_H5I.html">H5I</a>
|
|
<a href="RM_H5P.html">H5P</a>
|
|
<br>
|
|
<a href="RM_H5R.html">H5R</a>
|
|
<a href="RM_H5S.html">H5S</a>
|
|
<a href="RM_H5T.html">H5T</a>
|
|
<a href="RM_H5Z.html">H5Z</a>
|
|
<a href="Tools.html">Tools</a>
|
|
<a href="PredefDTypes.html">Datatypes</a>
|
|
</td></tr>
|
|
</table>
|
|
</center>
|
|
<hr><!-- #EndLibraryItem --><center>
|
|
<h1>H5E: Error Interface</h1>
|
|
</center>
|
|
|
|
<h2>Error API Functions</h2>
|
|
|
|
These functions provide error handling capabilities in the HDF5 environment.
|
|
|
|
<p>
|
|
<strong>The C Interfaces:</strong>
|
|
|
|
<table border=0>
|
|
<tr><td valign=top>
|
|
<ul>
|
|
<li><a href="#Error-Clear">H5Eclear</a>
|
|
<li><a href="#Error-Print">H5Eprint</a>
|
|
<li><a href="#Error-Push">H5Epush</a>
|
|
<li><a href="#Error-SetAuto">H5Eset_auto</a>
|
|
<li><a href="#Error-GetAuto">H5Eget_auto</a>
|
|
<li><a href="#Error-Walk">H5Ewalk</a>
|
|
<li><a href="#Error-WalkCB">H5Ewalk_cb</a>
|
|
</ul>
|
|
</td><td> </td><td valign=top>
|
|
<ul>
|
|
<li><a href="#Error-GetMajor">H5Eget_major</a>
|
|
<li><a href="#Error-AutoIsStack">H5Eauto_is_stack</a>
|
|
<li><a href="#Error-RegisterClass">H5Eregister_class</a>
|
|
<li><a href="#Error-CreateMsg">H5Ecreate_msg</a>
|
|
<li><a href="#Error-GetClassName">H5Eget_class_name</a>
|
|
<li><a href="#Error-GetMsg">H5Eget_msg</a>
|
|
<li><a href="#Error-Pop">H5Epop</a>
|
|
</ul>
|
|
</td><td> </td><td valign=top>
|
|
<ul>
|
|
<li><a href="#Error-GetNum">H5Eget_num</a>
|
|
<li><a href="#Error-CloseMsg">H5Eclose_msg</a>
|
|
<li><a href="#Error-UnregisterClass">H5Eunregister_class</a>
|
|
<li><a href="#Error-GetCurrentStack">H5Eget_current_stack</a>
|
|
<li><a href="#Error-SetCurrentStack">H5Eset_current_stack</a>
|
|
<li><a href="#Error-CloseStack">H5Eclose_stack</a>
|
|
</ul>
|
|
</td></tr>
|
|
</table>
|
|
<br>
|
|
|
|
<i>Alphabetical Listing</i>
|
|
|
|
<table border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
<ul>
|
|
<li><a href="#Error-AutoIsStack">H5Eauto_is_stack</a>
|
|
<li><a href="#Error-Clear">H5Eclear</a>
|
|
<li><a href="#Error-CloseMsg">H5Eclose_msg</a>
|
|
<li><a href="#Error-CloseStack">H5Eclose_stack</a>
|
|
<li><a href="#Error-CreateMsg">H5Ecreate_msg</a>
|
|
<li><a href="#Error-GetAuto">H5Eget_auto</a>
|
|
<li><a href="#Error-GetClassName">H5Eget_class_name</a>
|
|
</ul>
|
|
</td>
|
|
|
|
<td> </td>
|
|
|
|
<td valign="top">
|
|
<ul>
|
|
<li><a href="#Error-GetCurrentStack">H5Eget_current_stack</a>
|
|
<li><a href="#Error-GetMajor">H5Eget_major</a>
|
|
<li><a href="#Error-GetMinor">H5Eget_minor</a>
|
|
<li><a href="#Error-GetMsg">H5Eget_msg</a>
|
|
<li><a href="#Error-GetNum">H5Eget_num</a>
|
|
<li><a href="#Error-Pop">H5Epop</a>
|
|
<li><a href="#Error-Print">H5Eprint</a>
|
|
</ul>
|
|
</td>
|
|
|
|
<td> </td>
|
|
|
|
<td valign="top">
|
|
<ul>
|
|
<li><a href="#Error-Push">H5Epush</a>
|
|
<li><a href="#Error-RegisterClass">H5Eregister_class</a>
|
|
<li><a href="#Error-SetAuto">H5Eset_auto</a>
|
|
<li><a href="#Error-SetCurrentStack">H5Eset_current_stack</a>
|
|
<li><a href="#Error-UnregisterClass">H5Eunregister_class</a>
|
|
<li><a href="#Error-Walk">H5Ewalk</a>
|
|
<li><a href="#Error-WalkCB">H5Ewalk_cb</a>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<strong>The FORTRAN90 Interfaces:</strong>
|
|
<br>
|
|
In general, each FORTRAN90 subroutine performs exactly the same task
|
|
as the corresponding C function.
|
|
<br>
|
|
|
|
<table border=0>
|
|
<tr><td valign=top>
|
|
<ul>
|
|
<li><a href="#Error-Clear">h5eclear_f</a>
|
|
<li><a href="#Error-Print">h5eprint_f</a>
|
|
</ul>
|
|
</td><td> </td><td valign=top>
|
|
<ul>
|
|
<li><a href="#Error-SetAuto">h5eset_auto_f</a>
|
|
<!--<li><a href="#Error-GetAuto">h5eget_auto_f</a> -->
|
|
<!--<li><a href="#Error-Walk">h5ewalk_f</a> -->
|
|
<!--<li><a href="#Error-WalkCB">h5ewalk_cb_f</a> -->
|
|
</ul>
|
|
</td><td> </td><td valign=top>
|
|
<ul>
|
|
<li><a href="#Error-GetMajor">h5eget_major_f</a>
|
|
<li><a href="#Error-GetMinor">h5eget_minor_f</a>
|
|
</ul>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p>
|
|
The Error interface provides error handling in the form of a stack.
|
|
The <code>FUNC_ENTER()</code> macro clears the error stack whenever
|
|
an interface function is entered.
|
|
When an error is detected, an entry is pushed onto the stack.
|
|
As the functions unwind, additional entries are pushed onto the stack.
|
|
The API function will return some indication that an error occurred and
|
|
the application can print the error stack.
|
|
<p>
|
|
Certain API functions in the H5E package, such as <code>H5Eprint</code>,
|
|
do not clear the error stack. Otherwise, any function which
|
|
does not have an underscore immediately after the package name
|
|
will clear the error stack. For instance, <code>H5Fopen</code>
|
|
clears the error stack while <code>H5F_open</code> does not.
|
|
<p>
|
|
An error stack has a fixed maximum size.
|
|
If this size is exceeded then the stack will be truncated and only the
|
|
inner-most functions will have entries on the stack.
|
|
This is expected to be a rare condition.
|
|
<p>
|
|
Each thread has its own error stack, but since
|
|
multi-threading has not been added to the library yet, this
|
|
package maintains a single error stack. The error stack is
|
|
statically allocated to reduce the complexity of handling
|
|
errors within the H5E package.
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT " " -->
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Eauto_is_stack" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-AutoIsStack">H5Eauto_is_stack</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Eauto_is_stack</code>(<em>hid_t</em>
|
|
<code>estack_id</code>, <em>unsigned</em> *<code>is_stack</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Determines type of error stack.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eauto_is_stack</code> determines whether the error auto
|
|
reporting function for an error stack conforms to the
|
|
<code>H5E_auto_stack_t</code> typedef or the
|
|
<code>H5E_auto_t</code> typedef.
|
|
<p>
|
|
The <code>is_stack</code> parameter is set to <code>1</code>1
|
|
if the error stack conforms to <code>H5E_auto_stack_t</code>
|
|
and <code>0</code> for if <code>H5E_auto_t</code>.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>estack_id</code></td>
|
|
<td valign="top">The error stack identifier</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>unsigned</em>* <code>is_stack</code> </td>
|
|
<td valign="top">A flag indicating which error stack typedef
|
|
the specified error stack conforms 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>
|
|
</dl>
|
|
|
|
<!-- 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>
|
|
<code>H5Eclear</code> can fail if there are problems initializing
|
|
the library.
|
|
<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 "H5Eclose_msg" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-CloseMsg">H5Eclose_msg</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Eclose_msg</code>(<em>hid_t</em>
|
|
<code>mesg_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Closes an error message identifier.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eclose_msg</code> closes an error message identifier.,
|
|
which can be either a major or minor message.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>mesg_id</code> </td>
|
|
<td valign="top">IN: Error message identifier.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Eclose_stack" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-CloseStack">H5Eclose_stack</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Eclose_stack</code>(<em>hid_t</em>
|
|
<code>error_stack</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Closes object handle for error stack.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eclose_stack</code> closes the object handle for an
|
|
error stack and releases its resources. <code>H5E_DEFAULT</code>
|
|
cannot be closed.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>error_stack</code> </td>
|
|
<td valign="top">IN: Error stack identifier.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Ecreate_msg" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-CreateMsg">H5Ecreate_msg</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hid_t</em> <code>H5Ecreate_msg</code>(<em>hid_t</em>
|
|
<code>class</code>, <em>H5E_type_t</em> <code>msg_type</code>,
|
|
<em>const char</em>* <code>mesg</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Add major error message to an error class.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Ecreate_msg</code> adds an error message to an error class
|
|
defined by client library or application program. The error message
|
|
can be either major or minor which is indicated
|
|
by parameter <code>msg_type</code>.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>class</code> </td>
|
|
<td valign="top">IN: Error class identifier.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>H5E_type_t</em> <code>msg_type</code> </td>
|
|
<td valign="top">IN: The type of the error message.
|
|
<br>
|
|
Valid values are <code>H5E_MAJOR</code> and
|
|
<code>H5E_MINOR</code>.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const char</em>* <code>mesg</code> </td>
|
|
<td valign="top">IN: Major error message.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a message identifier on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</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_class_name" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-GetClassName">H5Eget_class_name</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>ssize_t</em> <code>H5Eget_class_name</code>(<em>hid_t</em>
|
|
<code>class_id</code>, <em>char</em>* <code>name</code>,
|
|
<em>size_t</em> <code>size</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Retrieves error class name.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eget_class_name</code> retrieves the name of the error class
|
|
specified by the class identifier.
|
|
If non-NULL pointer is passed in for <code>name</code> and
|
|
<code>size</code> is greater than zero, the class
|
|
name of <code>size</code> long is returned. The length of the error
|
|
class name is also returned.
|
|
If NULL is passed in as name, only the length of
|
|
class name is returned. If zero is returned, it means no name.
|
|
User is responsible for allocated enough buffer for the name.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>class_id</code> </td>
|
|
<td valign="top">IN: Error class identifier.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>char</em>* <code>name</code> </td>
|
|
<td valign="top">OUT: The name of the class to be queried.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>size_t</em> <code>size</code> </td>
|
|
<td valign="top">IN: The length of class name to be returned
|
|
by this function.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns non-negative value as on success;
|
|
otherwise returns negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Eget_current_stack" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-GetCurrentStack">H5Eget_current_stack</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hid_t</em> <code>H5Eget_current_stack</code>(<em>void</em>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Registers the current error stack.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eget_current_stack</code> registers the current error stack,
|
|
returns an object identifier, and clears the current error stack.
|
|
An empty error stack will also be assigned an identifier.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr><td>None.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns the identifier of the current error stack on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</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 "H5Eget_msg" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-GetMsg">H5Eget_msg</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>ssize_t</em> <code>H5Eget_msg</code>(<em>hid_t</em>
|
|
<code>mesg_id</code>, <em>H5E_type_t</em>* <code>mesg_type</code>,
|
|
<em>char</em>* <code>mesg</code>, <em>size_t</em> <code>size</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Retrieves an error message.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eget_msg</code> retrieves the error message including its
|
|
length and type. The error message is specified by <code>mesg_id</code>.
|
|
User is responsible for passing in enough buffer for the message.
|
|
If <code>mesg</code> is not NULL and <code>size</code> is greater than zero,
|
|
the error message of <code>size</code> long is returned. The length of the
|
|
message is also returned. If NULL is passed in as <code>mesg</code>, only the
|
|
length and type of the message is returned. If the return value is zero,
|
|
it means no message.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>mesg_id</code> </td>
|
|
<td valign="top">IN: Idenfier for error message to be queried.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>H5E_type_t</em>* <code>mesg_type</code> </td>
|
|
<td valign="top">OUT: The type of the error message.
|
|
<br>
|
|
Valid values are <code>H5E_MAJOR</code> and
|
|
<code>H5E_MINOR</code>.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>char</em>* <code>mesg</code> </td>
|
|
<td valign="top">OUT: Error message buffer.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>size_t</em> <code>size</code> </td>
|
|
<td valign="top">IN: The length of error message to be returned
|
|
by this function.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns the size of the error message in bytes on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Eget_num" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-GetNum">H5Eget_num</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>ssize_t</em> <code>H5Eget_num</code>(<em>hid_t</em> <code>error_stack</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Retrieves the number of error messages in an error stack.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eget_num</code> retrieves the number of error records
|
|
in the error stack specified by <code>error_stack</code>
|
|
(including major, minor messages and description).
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>error_stack</code>
|
|
</td>
|
|
<td valign="top">IN: Error stack identifier.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Epop" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-Pop">H5Epop</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Epop</code>(<em>hid_t</em>
|
|
<code>error_stack</code>, <em>size_t</em> <code>count</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Deletes specified number of error messages from the error stack.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Epop</code> deletes the number of error records specified
|
|
in <code>count</code> from the top of the error stack
|
|
specified by <code>error_stack</code>
|
|
(including major, minor messages and description).
|
|
The number of error messages to be deleted is specified by count.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>error_stack</code>
|
|
</td>
|
|
<td valign="top">IN: Error stack identifier.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>size_t</em> <code>count</code></td>
|
|
<td valign="top">IN: The number of error messages to be deleted
|
|
from the top of error stack.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</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">
|
|
-->
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Eregister_class" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-RegisterClass">H5Eregister_class</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>hid_t</em> <code>H5Eregister_class</code>(<em>const char</em>*
|
|
<code>cls_name</code>, <em>const char</em>* <code>lib_name</code>,
|
|
<em>const char</em>* <code>version</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Registers a client library or application program to HDF5 error API.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eregister_class</code> registers a client library or
|
|
application program to HDF5 error API so that the client library
|
|
or application program can report error together with HDF5 library.
|
|
It receives an identifier for this error class for further error
|
|
operations. The library name and version number will
|
|
be printed out in the error message as preamble.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>const char</em>* <code>cls_name</code>, </td>
|
|
<td valign="top">IN: Name of the error class.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const char</em>* <code>lib_name</code>,</td>
|
|
<td valign="top">IN: Name of the client library or application
|
|
to which the error class belongs.</td></tr>
|
|
<tr>
|
|
<td valign="top"><em>const char</em>* <code>version</code>,</td>
|
|
<td valign="top">IN: Version of the client library or application
|
|
to which the error class belongs.
|
|
A NULL can be passed in.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a class identifier on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</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 "H5Eset_current_stack" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-SetCurrentStack">H5Eset_current_stack</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Eset_current_stack</code>(<em>hid_t</em>
|
|
<code>error_stack</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Replaces the current error stack.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eset_current_stack</code> replaces the content of
|
|
the current error stack with a copy of the content of error stack
|
|
specified by <code>error_stack</code>.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>error_stack</code>, </td>
|
|
<td valign="top">IN: Error stack identifier.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</dl>
|
|
|
|
<!-- NEW PAGE -->
|
|
<!-- HEADER RIGHT "H5Eunregister_class" -->
|
|
<hr>
|
|
<dl>
|
|
<dt><strong>Name:</strong> <a name="Error-UnregisterClass">H5Eunregister_class</a>
|
|
<dt><strong>Signature:</strong>
|
|
<dd><em>herr_t</em> <code>H5Eunregister_class</code>(<em>hid_t</em>
|
|
<code>class_id</code>)
|
|
<dt><strong>Purpose:</strong>
|
|
<dd>Removes an error class.
|
|
<dt><strong>Description:</strong>
|
|
<dd><code>H5Eunregister_class</code> removes the error class specified
|
|
by <code>class_id</code>.
|
|
All the major and minor errors in this class will also be closed.
|
|
<dt><strong>Parameters:</strong>
|
|
<ul><table>
|
|
<tr>
|
|
<td valign="top"><em>hid_t</em> <code>class_id</code>, </td>
|
|
<td valign="top">IN: Error class identifier.</td></tr>
|
|
</table></ul>
|
|
<dt><strong>Returns:</strong>
|
|
<dd>Returns a non-negative value on success;
|
|
otherwise returns a negative value.
|
|
<dt><strong>Fortran90 Interface:</strong>
|
|
<dd>None.
|
|
</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>
|
|
<code>H5Ewalk</code> can fail if there are problems initializing
|
|
the library.
|
|
<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>
|
|
|
|
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
|
|
<center>
|
|
<table border=0 width=98%>
|
|
<tr><td valign=top align=left>
|
|
<a href="index.html">HDF5 documents and links</a> <br>
|
|
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a> <br>
|
|
<!--
|
|
<a href="Glossary.html">Glossary</a><br>
|
|
-->
|
|
</td>
|
|
<td valign=top align=right>
|
|
And in this document, the
|
|
<a href="RM_H5Front.html">HDF5 Reference Manual</a>
|
|
<br>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5im.html">H5IM</a>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5lt.html">H5LT</a>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5pt.html">H5PT</a>
|
|
<a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5tb.html">H5TB</a>
|
|
<br>
|
|
<a href="RM_H5.html">H5</a>
|
|
<a href="RM_H5A.html">H5A</a>
|
|
<a href="RM_H5D.html">H5D</a>
|
|
<a href="RM_H5E.html">H5E</a>
|
|
<a href="RM_H5F.html">H5F</a>
|
|
<a href="RM_H5G.html">H5G</a>
|
|
<a href="RM_H5I.html">H5I</a>
|
|
<a href="RM_H5P.html">H5P</a>
|
|
<br>
|
|
<a href="RM_H5R.html">H5R</a>
|
|
<a href="RM_H5S.html">H5S</a>
|
|
<a href="RM_H5T.html">H5T</a>
|
|
<a href="RM_H5Z.html">H5Z</a>
|
|
<a href="Tools.html">Tools</a>
|
|
<a href="PredefDTypes.html">Datatypes</a>
|
|
</td></tr>
|
|
</table>
|
|
</center>
|
|
<hr><!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
|
|
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
|
<br>
|
|
Describes HDF5 Release 1.7, the unreleased development branch; working toward HDF5 Release 1.8.0
|
|
</address><!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
|
|
<!--
|
|
document.writeln("Last modified: 18 May 2005");
|
|
-->
|
|
</SCRIPT>
|
|
|
|
</body>
|
|
</html>
|