H5MMpublic.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2. * Copyright by The HDF Group. *
  3. * Copyright by the Board of Trustees of the University of Illinois. *
  4. * All rights reserved. *
  5. * *
  6. * This file is part of HDF5. The full HDF5 copyright notice, including *
  7. * terms governing use, modification, and redistribution, is contained in *
  8. * the COPYING file, which can be found at the root of the source code *
  9. * distribution tree, or in https://www.hdfgroup.org/licenses. *
  10. * If you do not have access to either file, you may request a copy from *
  11. * help@hdfgroup.org. *
  12. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  13. /*-------------------------------------------------------------------------
  14. *
  15. * Created: H5MMpublic.h
  16. * Jul 10 1997
  17. * Robb Matzke
  18. *
  19. * Purpose: Public declarations for the H5MM (memory management)
  20. * package.
  21. *
  22. *-------------------------------------------------------------------------
  23. */
  24. #ifndef H5MMpublic_H
  25. #define H5MMpublic_H
  26. /* Public headers needed by this file */
  27. #include "H5public.h"
  28. /* These typedefs are currently used for VL datatype allocation/freeing */
  29. //! <!-- [H5MM_allocate_t_snip] -->
  30. typedef void *(*H5MM_allocate_t)(size_t size, void *alloc_info);
  31. //! <!-- [H5MM_allocate_t_snip] -->
  32. //! <!-- [H5MM_free_t_snip] -->
  33. typedef void (*H5MM_free_t)(void *mem, void *free_info);
  34. //! <!-- [H5MM_free_t_snip] -->
  35. #ifdef __cplusplus
  36. extern "C" {
  37. #endif
  38. #ifdef __cplusplus
  39. }
  40. #endif
  41. #endif /* H5MMpublic_H */