diff options
Diffstat (limited to 'src/H5Zprivate.h')
-rw-r--r-- | src/H5Zprivate.h | 20 |
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 |