1998-07-15 12:51:50 +08:00
|
|
|
|
<html>
|
2002-07-06 05:13:15 +08:00
|
|
|
|
<head>
|
|
|
|
|
<title>
|
1998-12-22 06:52:56 +08:00
|
|
|
|
HDF5/H5Z API Specification
|
2002-07-06 05:13:15 +08:00
|
|
|
|
</title>
|
2003-03-15 03:12:34 +08:00
|
|
|
|
|
2003-07-03 05:28:11 +08:00
|
|
|
|
<!-- #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>
|
1998-07-15 12:51:50 +08:00
|
|
|
|
|
1998-12-22 06:52:56 +08:00
|
|
|
|
<body bgcolor="#FFFFFF">
|
|
|
|
|
|
1998-07-15 12:51:50 +08:00
|
|
|
|
|
2003-03-15 03:12:34 +08:00
|
|
|
|
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
<center>
|
1998-12-22 06:52:56 +08:00
|
|
|
|
<table border=0 width=98%>
|
|
|
|
|
<tr><td valign=top align=left>
|
2003-03-15 03:12:34 +08:00
|
|
|
|
<a href="index.html">HDF5 documents and links</a> <br>
|
1998-12-22 06:52:56 +08:00
|
|
|
|
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
|
|
|
|
<a href="H5.user.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>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
<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>
|
1998-10-30 06:13:17 +08:00
|
|
|
|
<a href="RM_H5I.html">H5I</a>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
<a href="RM_H5P.html">H5P</a>
|
2000-12-13 06:43:02 +08:00
|
|
|
|
<br>
|
1998-10-30 06:13:17 +08:00
|
|
|
|
<a href="RM_H5R.html">H5R</a>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
<a href="RM_H5S.html">H5S</a>
|
|
|
|
|
<a href="RM_H5T.html">H5T</a>
|
2003-03-15 03:12:34 +08:00
|
|
|
|
<a href="RM_H5Z.html">H5Z</a>
|
1998-09-12 00:00:43 +08:00
|
|
|
|
<a href="Tools.html">Tools</a>
|
2000-12-13 06:43:02 +08:00
|
|
|
|
<a href="PredefDTypes.html">Datatypes</a>
|
1998-12-22 06:52:56 +08:00
|
|
|
|
</td></tr>
|
|
|
|
|
</table>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
</center>
|
|
|
|
|
<hr>
|
2003-03-15 03:12:34 +08:00
|
|
|
|
<!-- #EndLibraryItem --><center>
|
2003-04-03 05:03:57 +08:00
|
|
|
|
<h1>H5Z: Filter and Compression Interface</h1>
|
1998-07-15 12:51:50 +08:00
|
|
|
|
</center>
|
|
|
|
|
|
2003-04-03 05:03:57 +08:00
|
|
|
|
<h2>Filter and Compression API Functions</h2>
|
1998-07-15 12:51:50 +08:00
|
|
|
|
|
2003-04-03 05:03:57 +08:00
|
|
|
|
These functions enable the user to configure new filters
|
|
|
|
|
for the local environment.
|
1998-07-15 12:51:50 +08:00
|
|
|
|
|
2003-04-03 05:03:57 +08:00
|
|
|
|
<table border=0 width=80%>
|
1998-07-15 12:51:50 +08:00
|
|
|
|
<tr><td valign=top>
|
|
|
|
|
<ul>
|
2003-06-10 23:38:46 +08:00
|
|
|
|
<li><a href="#Compression-FilterAvail">H5Zfilter_avail</a>
|
1998-07-15 12:51:50 +08:00
|
|
|
|
</ul>
|
|
|
|
|
</td><td> </td><td valign=top>
|
|
|
|
|
<ul>
|
2003-06-10 23:38:46 +08:00
|
|
|
|
<li><a href="#Compression-Register">H5Zregister</a>
|
2003-04-03 05:03:57 +08:00
|
|
|
|
</ul>
|
|
|
|
|
</td><td> </td><td valign=top>
|
|
|
|
|
<ul>
|
2003-06-10 23:38:46 +08:00
|
|
|
|
<li><a href="#Compression-Unregister">H5Zunregister</a>
|
1998-07-15 12:51:50 +08:00
|
|
|
|
</ul>
|
|
|
|
|
</td></tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<p>
|
2003-04-03 05:03:57 +08:00
|
|
|
|
HDF5 supports a filter pipeline that provides the capability for standard
|
|
|
|
|
and customized raw data processing during I/O operations.
|
|
|
|
|
HDF5 is distributed with a small set of standard filters such as
|
|
|
|
|
compression (gzip and a shuffling algorithm) and
|
|
|
|
|
error checking (Fletcher32 checksum).
|
2003-06-24 04:32:50 +08:00
|
|
|
|
For further flexibility, the library allows a
|
2003-04-03 05:03:57 +08:00
|
|
|
|
user application to extend the pipeline through the
|
|
|
|
|
creation and registration of customized filters.
|
|
|
|
|
<p>
|
|
|
|
|
As mentioned above, one set of filters distributed with HDF5 provides
|
|
|
|
|
built-in methods for raw data compression.
|
|
|
|
|
The flexibility of the filter pipeline implementation enables the
|
2003-06-24 04:32:50 +08:00
|
|
|
|
definition of additional filters by a user application.
|
|
|
|
|
A filter<br>
|
2003-04-03 05:03:57 +08:00
|
|
|
|
—
|
|
|
|
|
is associated with a dataset when the dataset is created,<br>
|
|
|
|
|
—
|
|
|
|
|
can be used only with chunked data (ie., datasets stored in the
|
|
|
|
|
<code>H5D_CHUNKED</code> storage layout), and<br>
|
|
|
|
|
—
|
|
|
|
|
is applied independently to each chunk of the dataset.
|
1998-07-15 12:51:50 +08:00
|
|
|
|
<p>
|
2003-06-24 04:32:50 +08:00
|
|
|
|
The HDF5 library does not support filters for contiguous datasets
|
1998-07-15 12:51:50 +08:00
|
|
|
|
because of the difficulty of implementing random access for partial I/O.
|
2003-06-24 04:32:50 +08:00
|
|
|
|
Compact dataset filters are not supported because it would not produce
|
1998-07-15 12:51:50 +08:00
|
|
|
|
significant results.
|
|
|
|
|
<p>
|
2000-09-08 23:35:39 +08:00
|
|
|
|
See <a href="Datasets.html"><cite>The Dataset Interface (H5D)</cite></a>
|
|
|
|
|
in the <cite>HDF5 User's Guide</cite> for further information regarding
|
|
|
|
|
data compression.
|
1998-07-15 12:51:50 +08:00
|
|
|
|
|
2003-04-09 05:33:50 +08:00
|
|
|
|
<p>
|
|
|
|
|
<strong>The FORTRAN90 Interfaces:</strong>
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
<font size=-1>
|
|
|
|
|
<i>In general, each FORTRAN90 subroutine performs exactly the same task
|
|
|
|
|
as the corresponding C function. The links below go to the C function
|
|
|
|
|
descriptions, which serve as general descriptions for both. A button,
|
|
|
|
|
under <strong>Non-C API(s)</strong> at the end of the C function description,
|
|
|
|
|
opens an external browser window displaying the FORTRAN90-specific
|
|
|
|
|
information. You will probably want to adjust the size and location of
|
|
|
|
|
this external window so that both browser windows are visible and to
|
|
|
|
|
facilitate moving easily between them.</i>
|
|
|
|
|
</font>
|
|
|
|
|
|
|
|
|
|
<table border=0 width=80%>
|
|
|
|
|
<tr><td valign=top>
|
|
|
|
|
<ul>
|
2003-06-10 23:38:46 +08:00
|
|
|
|
<li><a href="#Compression-FilterAvail">h5zfilter_avail_f</a>
|
2003-04-09 05:33:50 +08:00
|
|
|
|
</ul>
|
|
|
|
|
</td><td> </td><td valign=top>
|
|
|
|
|
<ul>
|
2003-06-10 23:38:46 +08:00
|
|
|
|
<!--<li><a href="#Compression-Register">h5zregister_f</a> -->
|
|
|
|
|
|
2003-04-09 05:33:50 +08:00
|
|
|
|
</ul>
|
|
|
|
|
</td><td> </td><td valign=top>
|
|
|
|
|
<ul>
|
2003-06-10 23:38:46 +08:00
|
|
|
|
<li><a href="#Compression-Unregister">h5zunregister_f</a>
|
2003-04-09 05:33:50 +08:00
|
|
|
|
</ul>
|
|
|
|
|
</td></tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
|
1998-07-15 12:51:50 +08:00
|
|
|
|
<hr>
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><strong>Name:</strong> <a name="Compression-Register">H5Zregister</a>
|
|
|
|
|
<dt><strong>Signature:</strong>
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<dd><em>herr_t</em> <code>H5Zregister</code>(<em>const H5Z_class_t</em> <code>filter_class</code>)
|
1998-07-15 12:51:50 +08:00
|
|
|
|
)
|
|
|
|
|
<dt><strong>Purpose:</strong>
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<dd>Registers new filter.
|
1998-07-15 12:51:50 +08:00
|
|
|
|
<dt><strong>Description:</strong>
|
2003-04-03 05:03:57 +08:00
|
|
|
|
<dd><code>H5Zregister</code> registers a new filter with the
|
2003-05-07 06:20:37 +08:00
|
|
|
|
HDF5 library.
|
|
|
|
|
<p>
|
|
|
|
|
Making a new filter available to an application is a two-step
|
2003-06-24 04:32:50 +08:00
|
|
|
|
process. The first step is to write
|
|
|
|
|
the three filter callback functions described below:
|
|
|
|
|
<code>can_apply_func</code>, <code>set_local_func</code>, and
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<code>filter_func</code>.
|
|
|
|
|
This call to <code>H5Zregister</code>,
|
|
|
|
|
<span class="termEmphasis">registering</span> the filter with the
|
|
|
|
|
library, is the second step.
|
2003-06-24 04:32:50 +08:00
|
|
|
|
The <code>can_apply_func</code> and <code>set_local_func</code>
|
|
|
|
|
fields can be set to <code>NULL</code>
|
|
|
|
|
if they are not required for the filter being registered.
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<p>
|
|
|
|
|
<code>H5Zregister</code> accepts a single parameter,
|
|
|
|
|
the <code>filter_class</code> data structure,
|
|
|
|
|
which is defined as follows:
|
|
|
|
|
<pre>
|
|
|
|
|
typedef struct H5Z_class_t {
|
|
|
|
|
H5Z_filter_t filter_id;
|
|
|
|
|
const char *comment;
|
|
|
|
|
H5Z_can_apply_func_t can_apply_func;
|
|
|
|
|
H5Z_set_local_func_t set_local_func;
|
|
|
|
|
H5Z_func_t filter_func;
|
|
|
|
|
} H5Z_class_t;
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<code>filter_id</code> is the identifier for the new filter.
|
2003-06-24 04:32:50 +08:00
|
|
|
|
This is a user-defined value between
|
|
|
|
|
<code>H5Z_FILTER_RESERVED</code> and <code>H5Z_FILTER_MAX</code>,
|
|
|
|
|
both of which are defined in the HDF5 source file
|
|
|
|
|
<code>H5Zpublic.h</code>.
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<p>
|
2003-06-24 04:32:50 +08:00
|
|
|
|
<code>comment</code> is used for debugging,
|
|
|
|
|
may contain a descriptive name for the filter,
|
|
|
|
|
and may be the null pointer.
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<p>
|
|
|
|
|
<code>can_apply_func</code>, described in detail below,
|
|
|
|
|
is a user-defined callback function which determines whether
|
2003-06-24 04:32:50 +08:00
|
|
|
|
the combination of the dataset creation property list values,
|
2003-05-07 06:20:37 +08:00
|
|
|
|
the datatype, and the dataspace represent a valid combination
|
|
|
|
|
to apply this filter to.
|
|
|
|
|
<p>
|
|
|
|
|
<code>set_local_func</code>, described in detail below,
|
|
|
|
|
is a user-defined callback function which sets any parameters that
|
|
|
|
|
are specific to this dataset, based on the combination of the
|
|
|
|
|
dataset creation property list values, the datatype, and the
|
|
|
|
|
dataspace.
|
|
|
|
|
<p>
|
|
|
|
|
<code>filter_func</code>, described in detail below,
|
|
|
|
|
is a user-defined callback function which performs the action
|
|
|
|
|
of the filter.
|
|
|
|
|
<p>
|
|
|
|
|
The statistics associated with a filter are not reset
|
|
|
|
|
by this function; they accumulate over the life of the library.
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<strong>The callback functions</strong>
|
|
|
|
|
<br>
|
|
|
|
|
Before <code>H5Zregister</code> can link a filter into an
|
|
|
|
|
application, three callback functions must be defined
|
|
|
|
|
as described in the HDF5 Library header file <code>H5Zpublic.h</code>.
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<u>The <i>can apply</i> callback function</u> is defined as follows:<br>
|
|
|
|
|
<dir>
|
|
|
|
|
<em>typedef herr_t</em> (*<code>H5Z_can_apply_func_t</code>)
|
|
|
|
|
(<em>hid_t</em> <code>dcpl_id</code>,
|
|
|
|
|
<em>hid_t</em> <code>type_id</code>,
|
|
|
|
|
<em>hid_t</em> <code>space_id</code>)
|
|
|
|
|
</dir>
|
|
|
|
|
<p>
|
|
|
|
|
Before a dataset is created, the <i>can apply</i> callbacks for
|
|
|
|
|
any filters used in the dataset creation property list are called
|
|
|
|
|
with the dataset's dataset creation property list, <code>dcpl_id</code>,
|
|
|
|
|
the dataset's datatype, <code>type_id</code>, and
|
|
|
|
|
a dataspace describing a chunk, <code>space_id</code>,
|
|
|
|
|
(for chunked dataset storage).
|
|
|
|
|
<p>
|
|
|
|
|
This callback must determine whether the combination of the
|
|
|
|
|
dataset creation property list settings, the datatype, and the
|
|
|
|
|
dataspace represent a valid combination to which to apply this filter.
|
|
|
|
|
For example, an invalid combination may involve
|
|
|
|
|
the filter not operating correctly on certain datatypes,
|
|
|
|
|
on certain datatype sizes, or on certain sizes of the chunk dataspace.
|
|
|
|
|
<p>
|
|
|
|
|
This callback can be the <code>NULL</code> pointer, in which case
|
|
|
|
|
the library will assume that the filter can be applied to a dataset with
|
|
|
|
|
any combination of dataset creation property list values, datatypes,
|
|
|
|
|
and dataspaces.
|
|
|
|
|
<p>
|
|
|
|
|
The <i>can apply</i> callback function must return
|
|
|
|
|
a positive value for a valid combination,
|
|
|
|
|
zero for an invalid combination, and
|
|
|
|
|
a negative value for an error.
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<u>The <i>set local</i> callback function</u> is defined as follows:<br>
|
|
|
|
|
<dir>
|
|
|
|
|
<em>typedef herr_t</em> (*<code>H5Z_set_local_func_t</code>)
|
|
|
|
|
(<em>hid_t</em> <code>dcpl_id</code>,
|
|
|
|
|
<em>hid_t</em> <code>type_id</code>,
|
|
|
|
|
<em>hid_t</em> <code>space_id</code>)
|
|
|
|
|
</dir>
|
|
|
|
|
<p>
|
|
|
|
|
After the <i>can apply</i> callbacks are checked for a new dataset,
|
|
|
|
|
the <i>set local</i> callback functions for any filters used in the
|
|
|
|
|
dataset creation property list are called.
|
|
|
|
|
These callbacks receive
|
|
|
|
|
<code>dcpl_id</code>, the dataset's private copy of the dataset
|
|
|
|
|
creation property list passed in to <code>H5Dcreate</code>
|
|
|
|
|
(i.e. not the actual property list passed in to <code>H5Dcreate</code>);
|
|
|
|
|
<code>type_id</code>, the datatype identifier passed in to
|
|
|
|
|
<code>H5Dcreate</code>,
|
|
|
|
|
which is not copied and should not be modified; and
|
|
|
|
|
<code>space_id</code>, a dataspace describing the chunk
|
|
|
|
|
(for chunked dataset storage), which should also not be modified.
|
|
|
|
|
<p>
|
2003-06-24 04:32:50 +08:00
|
|
|
|
The <i>set local</i> callback must set any filter parameters that are
|
2003-05-07 06:20:37 +08:00
|
|
|
|
specific to this dataset, based on the combination of the
|
|
|
|
|
dataset creation property list values, the datatype, and the dataspace.
|
|
|
|
|
For example, some filters perform different actions based on
|
|
|
|
|
different datatypes, datatype sizes, numbers of dimensions,
|
|
|
|
|
or dataspace sizes.
|
|
|
|
|
<p>
|
|
|
|
|
The <i>set local</i> callback may be the <code>NULL</code> pointer,
|
|
|
|
|
in which case, the library will assume that there are
|
|
|
|
|
no dataset-specific settings for this filter.
|
|
|
|
|
<p>
|
|
|
|
|
The <i>set local</i> callback function must return
|
|
|
|
|
a non-negative value on success and
|
|
|
|
|
a negative value for an error.
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<u>The <i>filter operation</i> callback function</u>,
|
|
|
|
|
defining the filter's operation on the data, is defined as follows:
|
|
|
|
|
<dir>
|
2003-02-12 01:09:25 +08:00
|
|
|
|
<em>typedef size_t</em> (*<code>H5Z_func_t</code>)
|
|
|
|
|
(<em>unsigned int</em> <code>flags</code>,
|
|
|
|
|
<em>size_t</em> <code>cd_nelmts</code>,
|
|
|
|
|
<em>const unsigned int</em> <code>cd_values[]</code>,
|
|
|
|
|
<em>size_t</em> <code>nbytes</code>,
|
|
|
|
|
<em>size_t *</em><code>buf_size</code>,
|
|
|
|
|
<em>void **</em><code>buf</code>)
|
2003-05-07 06:20:37 +08:00
|
|
|
|
</dir>
|
2003-02-12 01:09:25 +08:00
|
|
|
|
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<p>
|
|
|
|
|
The parameters <code>flags</code>, <code>cd_nelmts</code>,
|
2003-04-03 05:03:57 +08:00
|
|
|
|
and <code>cd_values</code> are the same as for the function
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<a href="RM_H5P.html#Property-SetFilter"><code>H5Pset_filter</code></a>.
|
|
|
|
|
The one exception is that an additional flag,
|
|
|
|
|
<code>H5Z_FLAG_REVERSE</code>, is set when
|
2003-02-12 01:09:25 +08:00
|
|
|
|
the filter is called as part of the input pipeline.
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<p>
|
2003-02-12 01:09:25 +08:00
|
|
|
|
The parameter <code>*buf</code> points to the input buffer
|
2003-04-03 05:03:57 +08:00
|
|
|
|
which has a size of <code>*buf_size</code> bytes,
|
2003-02-12 01:09:25 +08:00
|
|
|
|
<code>nbytes</code> of which are valid data.
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<p>
|
|
|
|
|
The filter should perform the transformation in place if
|
|
|
|
|
possible. If the transformation cannot be done in place,
|
2003-02-12 01:09:25 +08:00
|
|
|
|
then the filter should allocate a new buffer with
|
|
|
|
|
<code>malloc()</code> and assign it to <code>*buf</code>,
|
|
|
|
|
assigning the allocated size of that buffer to
|
|
|
|
|
<code>*buf_size</code>.
|
|
|
|
|
The old buffer should be freed by calling <code>free()</code>.
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<p>
|
|
|
|
|
If successful, the <i>filter operation</i> callback function
|
|
|
|
|
returns the number of valid bytes of data contained in <code>*buf</code>.
|
|
|
|
|
In the case of failure, the return value is <code>0</code> (zero)
|
|
|
|
|
and all pointer arguments are left unchanged.
|
|
|
|
|
<dt><strong>Note:</strong>
|
|
|
|
|
<dd>The <code>H5Zregister</code> interface is substantially revised
|
|
|
|
|
from the HDF5 Release 1.4.x series.
|
|
|
|
|
The <code>H5Z_class_t</code> struct and
|
|
|
|
|
the <i>set local</i> and <i>can apply</i> callback functions
|
|
|
|
|
first appeared in HDF5 Release 1.6.
|
1998-07-15 12:51:50 +08:00
|
|
|
|
<dt><strong>Parameters:</strong>
|
|
|
|
|
<dl>
|
2003-05-07 06:20:37 +08:00
|
|
|
|
<dt><em>const H5Z_class_t</em> <code>filter_class</code>
|
|
|
|
|
<dd>IN: Struct containing filter-definition information.
|
1998-07-15 12:51:50 +08:00
|
|
|
|
</dl>
|
|
|
|
|
<dt><strong>Returns:</strong>
|
1998-10-30 06:13:17 +08:00
|
|
|
|
<dd>Returns a non-negative value if successful;
|
|
|
|
|
otherwise returns a negative value.
|
2003-04-09 05:33:50 +08:00
|
|
|
|
<!--
|
|
|
|
|
<dt><strong>Non-C API(s):</strong>
|
|
|
|
|
<dd><a href="fortran/h5z_FORTRAN.html#h5zregister_f"
|
|
|
|
|
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
|
|
|
|
|
--> <!--
|
|
|
|
|
<img src="Graphics/Java.gif">
|
|
|
|
|
<img src="Graphics/C++.gif">
|
|
|
|
|
-->
|
1998-07-15 12:51:50 +08:00
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
2003-04-03 05:03:57 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><strong>Name:</strong> <a name="Compression-Unregister">H5Zunregister</a>
|
|
|
|
|
<dt><strong>Signature:</strong>
|
|
|
|
|
<dd><em>herr_t</em> <code>H5Zunregister</code>(<em>H5Z_filter_t</em> <code>filter</code>)
|
|
|
|
|
<dt><strong>Purpose:</strong>
|
|
|
|
|
<dd>Unregisters a filter.
|
|
|
|
|
<dt><strong>Description:</strong>
|
|
|
|
|
<dd><code>H5Zunregister</code> unregisters the filter
|
|
|
|
|
specified in <code>filter</code>. <20>
|
|
|
|
|
<p>
|
|
|
|
|
After a call to <code>H5Zunregister</code>, the filter
|
|
|
|
|
specified in <code>filter</code> will no longer be
|
|
|
|
|
available to the application.
|
|
|
|
|
<dt><strong>Parameters:</strong>
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><em>H5Z_filter_t</em> <code>filter</code>
|
|
|
|
|
<dd>IN: Identifier of the filter to be unregistered.
|
|
|
|
|
</dl>
|
|
|
|
|
<dt><strong>Returns:</strong>
|
|
|
|
|
<dd>Returns a non-negative value if successful;
|
|
|
|
|
otherwise returns a negative value.
|
|
|
|
|
<dt><strong>Non-C API(s):</strong>
|
2003-04-09 05:33:50 +08:00
|
|
|
|
<dd><a href="fortran/h5z_FORTRAN.html#h5zunregister_f"
|
2003-04-03 05:03:57 +08:00
|
|
|
|
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
|
2003-04-09 05:33:50 +08:00
|
|
|
|
<!--
|
2003-04-03 05:03:57 +08:00
|
|
|
|
<img src="Graphics/Java.gif">
|
|
|
|
|
<img src="Graphics/C++.gif">
|
|
|
|
|
-->
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><strong>Name:</strong> <a name="Compression-FilterAvail">H5Zfilter_avail</a>
|
|
|
|
|
<dt><strong>Signature:</strong>
|
|
|
|
|
<dd><em>herr_t</em> <code>H5Zfilter_avail</code>(<em>H5Z_filter_t</em> <code>filter</code>)
|
|
|
|
|
<dt><strong>Purpose:</strong>
|
|
|
|
|
<dd>Determines whether a filter is available.
|
|
|
|
|
<dt><strong>Description:</strong>
|
|
|
|
|
<dd><code>H5Zfilter_avail</code> determines whether the filter
|
|
|
|
|
specified in <code>filter</code> is available to the application.
|
|
|
|
|
<dt><strong>Parameters:</strong>
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><em>H5Z_filter_t</em> <code>filter</code>
|
|
|
|
|
<dd>IN: Filter identifier.
|
|
|
|
|
</dl>
|
|
|
|
|
<dt><strong>Returns:</strong>
|
|
|
|
|
<dd>Returns a non-negative value if successful;
|
|
|
|
|
otherwise returns a negative value.
|
|
|
|
|
<dt><strong>Non-C API(s):</strong>
|
2003-04-09 05:33:50 +08:00
|
|
|
|
<dd><a href="fortran/h5z_FORTRAN.html#h5zfilter_avail_f"
|
2003-04-03 05:03:57 +08:00
|
|
|
|
target="FortranWin"><img src="Graphics/FORTRAN.gif" border=0></a>
|
2003-04-09 05:33:50 +08:00
|
|
|
|
<!--
|
2003-04-03 05:03:57 +08:00
|
|
|
|
<img src="Graphics/Java.gif">
|
|
|
|
|
<img src="Graphics/C++.gif">
|
|
|
|
|
-->
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2003-03-15 03:12:34 +08:00
|
|
|
|
<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
<center>
|
1998-12-22 06:52:56 +08:00
|
|
|
|
<table border=0 width=98%>
|
|
|
|
|
<tr><td valign=top align=left>
|
2003-03-15 03:12:34 +08:00
|
|
|
|
<a href="index.html">HDF5 documents and links</a> <br>
|
1998-12-22 06:52:56 +08:00
|
|
|
|
<a href="H5.intro.html">Introduction to HDF5</a> <br>
|
|
|
|
|
<a href="H5.user.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>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
<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>
|
1998-10-30 06:13:17 +08:00
|
|
|
|
<a href="RM_H5I.html">H5I</a>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
<a href="RM_H5P.html">H5P</a>
|
2000-12-13 06:43:02 +08:00
|
|
|
|
<br>
|
1998-10-30 06:13:17 +08:00
|
|
|
|
<a href="RM_H5R.html">H5R</a>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
<a href="RM_H5S.html">H5S</a>
|
|
|
|
|
<a href="RM_H5T.html">H5T</a>
|
2003-03-15 03:12:34 +08:00
|
|
|
|
<a href="RM_H5Z.html">H5Z</a>
|
1998-09-12 00:00:43 +08:00
|
|
|
|
<a href="Tools.html">Tools</a>
|
2000-12-13 06:43:02 +08:00
|
|
|
|
<a href="PredefDTypes.html">Datatypes</a>
|
1998-12-22 06:52:56 +08:00
|
|
|
|
</td></tr>
|
|
|
|
|
</table>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
</center>
|
1998-07-15 12:51:50 +08:00
|
|
|
|
<hr>
|
2003-07-03 05:28:11 +08:00
|
|
|
|
<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
|
1998-07-15 13:14:11 +08:00
|
|
|
|
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
|
2000-07-18 03:40:34 +08:00
|
|
|
|
<br>
|
2003-07-03 05:28:11 +08:00
|
|
|
|
Describes HDF5 Release 1.6.0, July 2003
|
2003-03-15 03:12:34 +08:00
|
|
|
|
</address><!-- #EndLibraryItem -->
|
2001-04-19 05:50:43 +08:00
|
|
|
|
|
2003-06-10 23:38:46 +08:00
|
|
|
|
Last modified: 10 June 2003
|
2003-03-15 03:12:34 +08:00
|
|
|
|
|
1998-07-15 12:51:50 +08:00
|
|
|
|
</body>
|
|
|
|
|
</html>
|