blob: 519ac383b74239750081bc4112ae88e851f9413b (
plain)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic document set and is *
* linked from the top-level documents page. It can also be found at *
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have access *
* to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* Programmer: Raymond Lu <songyulu@hdfgroup.org>
* 13 February 2013
*/
#ifndef _H5PLpublic_H
#define _H5PLpublic_H
/* Public headers needed by this file */
#include "H5Zpublic.h"
/****************************/
/* Library Public Typedefs */
/****************************/
/* Plugin type */
typedef enum H5PL_type_t {
H5PL_TYPE_ERROR = -1, /*error */
H5PL_TYPE_FILTER = 0, /*filter */
H5PL_TYPE_VFD = 1, /*virtual file driver */
H5PL_TYPE_NONE = 2 /*this must be last! */
} H5PL_type_t;
#ifdef H5_BUILT_AS_DYNAMIC_LIB
#if defined (hdf5_EXPORTS)
/* hdf5 library imports from plugin */
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5PLUGIN_DLL __declspec(dllimport)
#elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
#define H5PLUGIN_DLL __attribute__ ((visibility("default")))
#endif
#else
/* plugins always export */
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5PLUGIN_DLL __declspec(dllexport)
#elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
#define H5PLUGIN_DLL __attribute__ ((visibility("default")))
#endif
#endif
#elif defined(H5_BUILT_AS_STATIC_LIB)
#define H5PLUGIN_DLL
#else
#if defined(H5_HAVE_WIN32_API)
#if defined(_HDF5DLL_)
#pragma warning(disable: 4273) /* Disable the dll linkage warnings */
#define H5PLUGIN_DLL __declspec(dllimport)
#elif defined(_HDF5USEDLL_)
#define H5PLUGIN_DLL __declspec(dllexport)
#endif /* _HDF5DLL_ */
#else /*H5_HAVE_WIN32_API*/
#define H5PLUGIN_DLL
#endif /*H5_HAVE_WIN32_API*/
#endif /* H5_BUILT_AS_xxx_LIB */
#ifdef __cplusplus
extern "C" {
#endif
H5PLUGIN_DLL const H5PL_type_t H5PL_get_plugin_type(void);
H5PLUGIN_DLL const H5Z_class2_t* H5PL_get_plugin_info(void);
#ifdef __cplusplus
}
#endif
#endif /* _H5PLpublic_H */
|