summaryrefslogtreecommitdiffstats
path: root/src/H5Zprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Zprivate.h')
-rw-r--r--src/H5Zprivate.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/H5Zprivate.h b/src/H5Zprivate.h
index 7330265..8cf88f6 100644
--- a/src/H5Zprivate.h
+++ b/src/H5Zprivate.h
@@ -10,6 +10,24 @@
#include <H5Zpublic.h>
+/*
+ * The filter table maps filter identification numbers to structs that
+ * contain a pointers to the filter function and timing statistics.
+ */
+typedef struct H5Z_class_t {
+ H5Z_filter_t id; /*filter ID number */
+ char *name; /*comment for debugging */
+ H5Z_func_t func; /*the filter function */
+
+#ifdef H5Z_DEBUG
+ struct {
+ hsize_t total; /*total number of bytes processed */
+ hsize_t errors; /*bytes of total attributable to errors */
+ H5_timer_t timer; /*execution time including errors */
+ } stats[2]; /*0=output, 1=input */
+#endif
+} H5Z_class_t;
+
struct H5O_pline_t; /*forward decl*/
herr_t H5Z_register(H5Z_filter_t id, const char *comment, H5Z_func_t filter);
@@ -18,5 +36,7 @@ herr_t H5Z_append(struct H5O_pline_t *pline, H5Z_filter_t filter, uintn flags,
herr_t H5Z_pipeline(H5F_t *f, const struct H5O_pline_t *pline, uintn flags,
uintn *filter_mask/*in,out*/, size_t *nbytes/*in,out*/,
size_t *buf_size/*in,out*/, void **buf/*in,out*/);
+H5Z_class_t *H5Z_find(H5Z_filter_t id);
+
#endif