From 905585f913a1f715cff7ff733b296b7d629a2aff Mon Sep 17 00:00:00 2001 From: Frank Baker Date: Tue, 11 Feb 2003 12:09:25 -0500 Subject: [svn-r6393] Purpose: To bring the H5Z_func_t definition from the old User's Guide into the Reference Manual. Description: Added custom filter function H5Z_func_t definition to the H5Zregister function description. This definition will next be edited to bring it up-to-date. Platforms tested: IE 5 --- doc/html/RM_H5Z.html | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/doc/html/RM_H5Z.html b/doc/html/RM_H5Z.html index 9d0f93c..c57dcdf 100644 --- a/doc/html/RM_H5Z.html +++ b/doc/html/RM_H5Z.html @@ -103,6 +103,38 @@ data compression.

The statistics associated with a method number are not reset by this function; they accumulate over the life of the library. + +

New filters are defined in two phases. Before a filter can be + linked into the application with H5Zregister, + H5Z_func_t must first be defined as follows: + +

+ typedef size_t (*H5Z_func_t) + (unsigned int flags, + size_t cd_nelmts, + const unsigned int cd_values[], + size_t nbytes, + size_t *buf_size, + void **buf) + + +

The parameters flags, cd_nelmts, + and cd_values are the same as for the + H5Pset_filter() function. + The additional flag H5Z_FLAG_REVERSE is set when + the filter is called as part of the input pipeline. + The parameter *buf points to the input buffer + which has a total size of *buf_size bytes, + nbytes of which are valid data. +

The filter should perform the transformation in place if + possible and return the number of valid bytes or zero for + failure. If the transformation cannot be done in place, + then the filter should allocate a new buffer with + malloc() and assign it to *buf, + assigning the allocated size of that buffer to + *buf_size. + The old buffer should be freed by calling free(). +

Parameters:
H5Z_method_t method @@ -159,7 +191,7 @@ H5Z   HDF Help Desk
-Last modified: 3 July 2002 +Last modified: 11 February 2003
Describes HDF5 Release 1.5, Unreleased Development Branch -- cgit v0.12