-
Notifications
You must be signed in to change notification settings - Fork 266
/
Copy pathzplugins.h
45 lines (35 loc) · 1.13 KB
/
zplugins.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/* Copyright 2018-2018 University Corporation for Atmospheric
Research/Unidata. */
/**
* @file This header file containsplugin related macros, types, and prototypes for
* the plugin code in libnczarr. This header should not be included in
* code outside libnczarr.
*
* @author Dennis Heimbigner
*/
#ifndef ZPLUGIN_H
#define ZPLUGIN_H
/* zplugin.c */
/* Pluginlist management */
/* Opaque Handles */
struct H5Z_class2_t;
struct NCZ_codec_t;
struct NCPSharedLib;
/* Hold the loaded filter plugin information */
typedef struct NCZ_Plugin {
int incomplete;
struct HDF5API {
const struct H5Z_class2_t* filter;
struct NCPSharedLib* hdf5lib; /* source of the filter */
} hdf5;
struct CodecAPI {
int defaulted; /* codeclib was a defaulting library */
int ishdf5raw; /* The codec is the hdf5raw codec */
const struct NCZ_codec_t* codec;
struct NCPSharedLib* codeclib; /* of the codec; null if same as hdf5 */
} codec;
} NCZ_Plugin;
int NCZ_load_all_plugins(void);
int NCZ_plugin_loaded(size_t filterid, NCZ_Plugin** pp);
int NCZ_plugin_loaded_byname(const char* name, NCZ_Plugin** pp);
#endif /*ZPLUGIN_H*/