diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2013-04-01 20:42:58 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2013-04-01 20:42:58 (GMT) |
commit | 95332ad1770877b3b4558eb91a2dae4a0dd5aab1 (patch) | |
tree | ced08b53e3c6474b4a6656d4c3399f1d96b4b40d /src/H5PLpublic.h | |
parent | 91bcf7432e992d58741fe1925bb93bf32feb3358 (diff) | |
download | hdf5-95332ad1770877b3b4558eb91a2dae4a0dd5aab1.zip hdf5-95332ad1770877b3b4558eb91a2dae4a0dd5aab1.tar.gz hdf5-95332ad1770877b3b4558eb91a2dae4a0dd5aab1.tar.bz2 |
[svn-r23510] I merged the changes for DESY project from the trunk (r23496) into this 1.8 DESY branch.
Tested with h5committest (duck failed with CMake because I don't know how to change test/CMakeLists.txt. I'll wait for Allen to do it).
Diffstat (limited to 'src/H5PLpublic.h')
-rw-r--r-- | src/H5PLpublic.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/H5PLpublic.h b/src/H5PLpublic.h new file mode 100644 index 0000000..6a8a612 --- /dev/null +++ b/src/H5PLpublic.h @@ -0,0 +1,86 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * 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 HDF5 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 */ + |