H5FDfamily.h 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. * Programmer: Robb Matzke
  15. * Monday, August 4, 1999
  16. *
  17. * Purpose: The public header file for the family driver.
  18. */
  19. #ifndef H5FDfamily_H
  20. #define H5FDfamily_H
  21. #define H5FD_FAMILY (H5FDperform_init(H5FD_family_init))
  22. #define H5FD_FAMILY_VALUE H5_VFD_FAMILY
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. H5_DLL hid_t H5FD_family_init(void);
  27. /**
  28. * \ingroup FAPL
  29. *
  30. * \brief Sets the file access property list to use the family driver
  31. *
  32. * \fapl_id
  33. * \param[in] memb_size Size in bytes of each file member
  34. * \param[in] memb_fapl_id Identifier of file access property list for
  35. * each family member
  36. * \returns \herr_t
  37. *
  38. * \details H5Pset_fapl_family() sets the file access property list identifier,
  39. * \p fapl_id, to use the family driver.
  40. *
  41. * \p memb_size is the size in bytes of each file member. This size
  42. * will be saved in file when the property list \p fapl_id is used to
  43. * create a new file. If \p fapl_id is used to open an existing file,
  44. * \p memb_size has to be equal to the original size saved in file. A
  45. * failure with an error message indicating the correct member size
  46. * will be returned if \p memb_size does not match the size saved. If
  47. * any user does not know the original size, #H5F_FAMILY_DEFAULT can be
  48. * passed in. The library will retrieve the saved size.
  49. *
  50. * \p memb_fapl_id is the identifier of the file access property list
  51. * to be used for each family member.
  52. *
  53. * \version 1.8.0 Behavior of the \p memb_size parameter was changed.
  54. * \since 1.4.0
  55. *
  56. */
  57. H5_DLL herr_t H5Pset_fapl_family(hid_t fapl_id, hsize_t memb_size, hid_t memb_fapl_id);
  58. /**
  59. * \ingroup FAPL
  60. *
  61. * \brief Returns file access property list information
  62. *
  63. * \fapl_id
  64. * \param[out] memb_size Size in bytes of each file member
  65. * \param[out] memb_fapl_id Identifier of file access property list for
  66. * each family member
  67. * \returns \herr_t
  68. *
  69. * \details H5Pget_fapl_family() returns file access property list for use with
  70. * the family driver. This information is returned through the output
  71. * parameters.
  72. *
  73. * \since 1.4.0
  74. *
  75. */
  76. H5_DLL herr_t H5Pget_fapl_family(hid_t fapl_id, hsize_t *memb_size /*out*/, hid_t *memb_fapl_id /*out*/);
  77. #ifdef __cplusplus
  78. }
  79. #endif
  80. #endif