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

| HDF5 Last Updated on 2025-11-11 The HDF5 Field Guide

- Main Page
- Getting started
- User Guide
- Reference Manual
- Cookbook
- Technical Notes
- RFCs
- Specifications
- Glossary
- Full-Text Search
- About

Loading...
Searching...
No Matches
Macros | Typedefs | Enumerations | Functions
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()

## ◆ H5Z_FILTER_CONFIG_DECODE_ENABLED

#define H5Z_FILTER_CONFIG_DECODE_ENABLED (0x0002)

## ◆ H5Z_FILTER_CONFIG_ENCODE_ENABLED

#define H5Z_FILTER_CONFIG_ENCODE_ENABLED (0x0001)

## ◆ H5Z_FILTER_DEFLATE

#define H5Z_FILTER_DEFLATE 1

deflation like gzip

## ◆ H5Z_FILTER_ERROR

#define H5Z_FILTER_ERROR (-1)

no filter

## ◆ H5Z_FILTER_FLETCHER32

#define H5Z_FILTER_FLETCHER32 3

fletcher32 checksum of EDC

## ◆ H5Z_FILTER_MAX

#define H5Z_FILTER_MAX 65535

maximum filter id

## ◆ H5Z_FILTER_NBIT

#define H5Z_FILTER_NBIT 5

nbit compression

## ◆ H5Z_FILTER_NONE

#define H5Z_FILTER_NONE 0

reserved indefinitely

## ◆ H5Z_FILTER_RESERVED

#define H5Z_FILTER_RESERVED 256

filter ids below this value are reserved for library use

## ◆ H5Z_FILTER_SCALEOFFSET

#define H5Z_FILTER_SCALEOFFSET 6

scale+offset compression

## ◆ H5Z_FILTER_SHUFFLE

#define H5Z_FILTER_SHUFFLE 2

shuffle the data

## ◆ H5Z_FILTER_SZIP

#define H5Z_FILTER_SZIP 4

szip compression

## ◆ H5Z_FLAG_DEFMASK

#define H5Z_FLAG_DEFMASK 0x00ff

definition flag mask

## ◆ H5Z_FLAG_INVMASK

#define H5Z_FLAG_INVMASK 0xff00

invocation flag mask

## ◆ H5Z_FLAG_MANDATORY

#define H5Z_FLAG_MANDATORY 0x0000

filter is mandatory

## ◆ H5Z_FLAG_OPTIONAL

#define H5Z_FLAG_OPTIONAL 0x0001

filter is optional

## ◆ H5Z_FLAG_REVERSE

#define H5Z_FLAG_REVERSE 0x0100

reverse direction; read

## ◆ H5Z_FLAG_SKIP_EDC

#define H5Z_FLAG_SKIP_EDC 0x0200

skip EDC filters for read

## ◆ H5Z_MAX_NFILTERS

#define H5Z_MAX_NFILTERS 32

Maximum number of filters allowed in a pipeline

## 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