netcdf-c/plugins/H5Zblosc.h
2023-08-23 13:31:42 +09:00

66 lines
1.4 KiB
C

/*
* Dynamically loaded filter plugin for HDF5 blosc filter.
*
* Author: Kiyoshi Masui <kiyo@physics.ubc.ca>
* Created: 2014
*
*
* Header file
* -----------
*
* This provides dynamically loaded HDF5 filter functionality (introduced
* in HDF5-1.8.11, May 2013) to the blosc HDF5 filter.
*
* Usage: compile as a shared library and install either to the default
* search location for HDF5 filter plugins (on Linux
* /usr/local/hdf5/lib/plugin) or to a location pointed to by the
* HDF5_PLUGIN_PATH environment variable.
*
*/
#ifndef H5ZBLOSC_H
#define H5ZBLOSC_H
#ifdef __cplusplus
extern "C" {
#endif
#include "netcdf_filter_build.h"
#ifdef HAVE_BLOSC
#include "blosc.h"
#endif
#ifdef _MSC_VER
#ifdef DLL_EXPORT /* define when building the library */
#define DECLSPEC __declspec(dllexport)
#else
#define DECLSPEC __declspec(dllimport)
#endif
#else
#define DECLSPEC extern
#endif
/* Filter revision number, starting at 1 */
/* #define FILTER_BLOSC_VERSION 1 */
#define FILTER_BLOSC_VERSION 2 /* multiple compressors since Blosc 1.3 */
#define DEFAULT_LEVEL 9
#define DEFAULT_BLOCKSIZE 1
#define DEFAULT_TYPESIZE 1
#define DEFAULT_COMPCODE BLOSC_LZ4
/* HDF5 Plugin API */
DECLSPEC H5PL_type_t H5PLget_plugin_type(void);
DECLSPEC const void* H5PLget_plugin_info(void);
/* NCZarr API */
DECLSPEC const void* NCZ_get_plugin_info(void);
#ifdef __cplusplus
}
#endif
#endif /*H5ZBLOSC_H*/