Help us improve by taking our short survey: https://www.hdfgroup.org/website-survey/

| HDF5 Last Updated on 2026-07-28 The HDF5 Field Guide

Loading...
Searching...
No Matches
H5Zpublic.h File Reference
`#include "H5public.h"`

## Macros
#define | H5_SZIP_ALLOW_K13_OPTION_MASK 1
#define | H5_SZIP_CHIP_OPTION_MASK 2
#define | H5_SZIP_EC_OPTION_MASK 4
#define | H5_SZIP_MAX_PIXELS_PER_BLOCK 32
#define | H5_SZIP_NN_OPTION_MASK 32
#define | H5Z_FILTER_ALL 0
#define | H5Z_FILTER_CONFIG_DECODE_ENABLED (0x0002)
#define | H5Z_FILTER_CONFIG_ENCODE_ENABLED (0x0001)
#define | H5Z_FILTER_DEFLATE 1
#define | H5Z_FILTER_ERROR (-1)
#define | H5Z_FILTER_FLETCHER32 3
#define | H5Z_FILTER_MAX 65535
#define | H5Z_FILTER_NBIT 5
#define | H5Z_FILTER_NONE 0
#define | H5Z_FILTER_RESERVED 256
#define | H5Z_FILTER_SCALEOFFSET 6
#define | H5Z_FILTER_SHUFFLE 2
#define | H5Z_FILTER_SZIP 4
#define | H5Z_FLAG_DEFMASK 0x00ff
#define | H5Z_FLAG_INVMASK 0xff00
#define | H5Z_FLAG_MANDATORY 0x0000
#define | H5Z_FLAG_OPTIONAL 0x0001
#define | H5Z_FLAG_REVERSE 0x0100
#define | H5Z_FLAG_SKIP_EDC 0x0200
#define | H5Z_MAX_NFILTERS 32
#define | H5Z_NBIT_USER_NPARMS 0 /* Number of parameters that users can set */
#define | H5Z_SCALEOFFSET_USER_NPARMS 2
#define | H5Z_SHUFFLE_TOTAL_NPARMS 1
#define | H5Z_SHUFFLE_USER_NPARMS 0
#define | H5Z_SO_INT_MINBITS_DEFAULT 0
#define | H5Z_SZIP_PARM_BPP 2
#define | H5Z_SZIP_PARM_MASK 0
#define | H5Z_SZIP_PARM_PPB 1
#define | H5Z_SZIP_PARM_PPS 3
#define | H5Z_SZIP_TOTAL_NPARMS 4
#define | H5Z_SZIP_USER_NPARMS 2

## Typedefs
typedef H5Z_cb_return_t(* | H5Z_filter_func_t) (H5Z_filter_t filter, void *buf, size_t buf_size, void *op_data)
typedef int | H5Z_filter_t
| Filter identifiers.

## Enumerations
enum | H5Z_cb_return_t { H5Z_CB_ERROR = -1 , H5Z_CB_FAIL = 0 , H5Z_CB_CONT = 1 , H5Z_CB_NO = 2 }
enum | H5Z_EDC_t { H5Z_ERROR_EDC = -1 , H5Z_DISABLE_EDC = 0 , H5Z_ENABLE_EDC = 1 , H5Z_NO_EDC = 2 }
enum | H5Z_SO_scale_type_t { H5Z_SO_FLOAT_DSCALE = 0 , H5Z_SO_FLOAT_ESCALE = 1 , H5Z_SO_INT = 2 }

## Functions
htri_t | H5Zfilter_avail (H5Z_filter_t id)
| Determines whether a filter is available.
herr_t | H5Zget_filter_info (H5Z_filter_t filter, unsigned int *filter_config_flags)
| Retrieves information about a filter.

## Macro Definition Documentation

## ◆ H5Z_FILTER_ALL

#define H5Z_FILTER_ALL 0

Symbol to remove all filters in H5Premove_filter()

Since
  1.6.3

## ◆ H5Z_FILTER_CONFIG_DECODE_ENABLED

#define H5Z_FILTER_CONFIG_DECODE_ENABLED (0x0002)

Decode bit flag for H5Zget_filter_info

Since
  1.6.3

## ◆ H5Z_FILTER_CONFIG_ENCODE_ENABLED

#define H5Z_FILTER_CONFIG_ENCODE_ENABLED (0x0001)

Encode bit flag for H5Zget_filter_info

Since
  1.6.3

## ◆ H5Z_FILTER_DEFLATE

#define H5Z_FILTER_DEFLATE 1

Deflation like gzip

Since
  1.0.0

## ◆ H5Z_FILTER_ERROR

#define H5Z_FILTER_ERROR (-1)

Filter operation error

Since
  1.0.0

## ◆ H5Z_FILTER_FLETCHER32

#define H5Z_FILTER_FLETCHER32 3

Fletcher32 checksum of EDC

Since
  1.6.0

## ◆ H5Z_FILTER_MAX

#define H5Z_FILTER_MAX 65535

Maximum filter id

Since
  1.0.0

## ◆ H5Z_FILTER_NBIT

#define H5Z_FILTER_NBIT 5

Nbit compression

Since
  1.8.0

## ◆ H5Z_FILTER_NONE

#define H5Z_FILTER_NONE 0

No filter

## ◆ H5Z_FILTER_RESERVED

#define H5Z_FILTER_RESERVED 256

Filter ids below this value are reserved for library use

Since
  1.6.0

## ◆ H5Z_FILTER_SCALEOFFSET

#define H5Z_FILTER_SCALEOFFSET 6

Scale+offset compression

Since
  1.8.0

## ◆ H5Z_FILTER_SHUFFLE

#define H5Z_FILTER_SHUFFLE 2

Shuffle the data

Since
  1.6.0

## ◆ H5Z_FILTER_SZIP

#define H5Z_FILTER_SZIP 4

Szip compression

Since
  1.6.0

## ◆ H5Z_FLAG_DEFMASK

#define H5Z_FLAG_DEFMASK 0x00ff

Definition flag mask

Since
  1.0.0

## ◆ H5Z_FLAG_INVMASK

#define H5Z_FLAG_INVMASK 0xff00

Invocation flag mask

Since
  1.0.0

## ◆ H5Z_FLAG_MANDATORY

#define H5Z_FLAG_MANDATORY 0x0000

Filter is mandatory

Since
  1.6.0

## ◆ H5Z_FLAG_OPTIONAL

#define H5Z_FLAG_OPTIONAL 0x0001

Filter is optional

Since
  1.0.0

## ◆ H5Z_FLAG_REVERSE

#define H5Z_FLAG_REVERSE 0x0100

Reverse direction; read

Since
  1.0.0

## ◆ H5Z_FLAG_SKIP_EDC

#define H5Z_FLAG_SKIP_EDC 0x0200

Skip EDC filters for read

Since
  1.6.0

## ◆ H5Z_MAX_NFILTERS

#define H5Z_MAX_NFILTERS 32

Maximum number of filters allowed in a pipeline

Since
  1.6.0

## Typedef Documentation

## ◆ H5Z_filter_func_t

typedef H5Z_cb_return_t(* H5Z_filter_func_t) (H5Z_filter_t filter, void *buf, size_t buf_size, void *op_data)

Filter callback function definition

## ◆ H5Z_filter_t

typedef int H5Z_filter_t

Filter identifiers.

! [FiltersIdTable]

Values for H5Z_filter_t | Description
--- | ---
`0-255` | These values are reserved for filters predefined and registered by the HDF5 library and of use to the general public.
`256-511` | Filter values in this range are intended for testing only and can be temporarily used by any organization. No attempts are made to resolve numbering conflicts, as all definitions are temporary.
`512-32,767` | Filter values within this range are designated for filters managed by The HDF Group, but they are nominally requested, developed, and supported by third parties. Please contact the HDF5 development team to reserve a value or range of values for use by your filters.
`32,768-65,535` | Filter values in this range are designated for internal company use or application testing when assessing a feature. The HDF Group does not track or document the use of filters within this range.

! [FiltersIdTable]

## Enumeration Type Documentation

## ◆ H5Z_cb_return_t

enum H5Z_cb_return_t

Return values for filter callback function

Enumerator
H5Z_CB_ERROR | error value
H5Z_CB_FAIL | I/O should fail if filter fails.
H5Z_CB_CONT | I/O continues if filter fails.
H5Z_CB_NO | sentinel