H5PLextern.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2. * Copyright by The HDF Group. *
  3. * All rights reserved. *
  4. * *
  5. * This file is part of HDF5. The full HDF5 copyright notice, including *
  6. * terms governing use, modification, and redistribution, is contained in *
  7. * the COPYING file, which can be found at the root of the source code *
  8. * distribution tree, or in https://www.hdfgroup.org/licenses. *
  9. * If you do not have access to either file, you may request a copy from *
  10. * help@hdfgroup.org. *
  11. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  12. /*
  13. * Purpose: Header file for writing external HDF5 plugins.
  14. */
  15. #ifndef H5PLextern_H
  16. #define H5PLextern_H
  17. /* Include HDF5 header */
  18. #include "hdf5.h"
  19. /* plugins always export */
  20. #if defined(_MSC_VER) /* MSVC Compiler Case */
  21. #define H5PLUGIN_DLL __declspec(dllexport)
  22. #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
  23. #define H5PLUGIN_DLL __attribute__((visibility("default")))
  24. #else
  25. #define H5PLUGIN_DLL
  26. #endif
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif
  30. H5PLUGIN_DLL H5PL_type_t H5PLget_plugin_type(void);
  31. H5PLUGIN_DLL const void *H5PLget_plugin_info(void);
  32. #ifdef __cplusplus
  33. }
  34. #endif
  35. #endif /* H5PLextern_H */