Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-18 09:16:02

0001 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
0002  * Copyright by The HDF Group.                                               *
0003  * All rights reserved.                                                      *
0004  *                                                                           *
0005  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
0006  * terms governing use, modification, and redistribution, is contained in    *
0007  * the COPYING file, which can be found at the root of the source code       *
0008  * distribution tree, or in https://www.hdfgroup.org/licenses.               *
0009  * If you do not have access to either file, you may request a copy from     *
0010  * help@hdfgroup.org.                                                        *
0011  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
0012 
0013 /*
0014  * Purpose: The public header file for the family virtual file driver (VFD)
0015  */
0016 #ifndef H5FDfamily_H
0017 #define H5FDfamily_H
0018 
0019 /** Initializer for the family VFD */
0020 #define H5FD_FAMILY (H5FDperform_init(H5FD_family_init))
0021 
0022 /** Identifier for the family VFD */
0023 #define H5FD_FAMILY_VALUE H5_VFD_FAMILY
0024 
0025 #ifdef __cplusplus
0026 extern "C" {
0027 #endif
0028 
0029 /** @private
0030  *
0031  * \brief Private initializer for the family VFD
0032  */
0033 H5_DLL hid_t H5FD_family_init(void);
0034 
0035 /**
0036  * \ingroup FAPL
0037  *
0038  * \brief Sets the file access property list to use the family driver
0039  *
0040  * \fapl_id
0041  * \param[in] memb_size Size in bytes of each file member
0042  * \param[in] memb_fapl_id Identifier of file access property list for
0043  *            each family member
0044  * \returns \herr_t
0045  *
0046  * \details H5Pset_fapl_family() sets the file access property list identifier,
0047  *          \p fapl_id, to use the family driver.
0048  *
0049  *          \p memb_size is the size in bytes of each file member. This size
0050  *          will be saved in file when the property list \p fapl_id is used to
0051  *          create a new file. If \p fapl_id is used to open an existing file,
0052  *          \p memb_size has to be equal to the original size saved in file. A
0053  *          failure with an error message indicating the correct member size
0054  *          will be returned if \p memb_size does not match the size saved. If
0055  *          any user does not know the original size, #H5F_FAMILY_DEFAULT can be
0056  *          passed in. The library will retrieve the saved size.
0057  *
0058  *          \p memb_fapl_id is the identifier of the file access property list
0059  *          to be used for each family member.
0060  *
0061  * \version 1.8.0 Behavior of the \p memb_size parameter was changed.
0062  * \since 1.4.0
0063  *
0064  */
0065 H5_DLL herr_t H5Pset_fapl_family(hid_t fapl_id, hsize_t memb_size, hid_t memb_fapl_id);
0066 
0067 /**
0068  * \ingroup FAPL
0069  *
0070  * \brief Returns file access property list information
0071  *
0072  * \fapl_id
0073  * \param[out] memb_size Size in bytes of each file member
0074  * \param[out] memb_fapl_id Identifier of file access property list for
0075  *             each family member
0076  * \returns \herr_t
0077  *
0078  * \details H5Pget_fapl_family() returns file access property list for use with
0079  *          the family driver. This information is returned through the output
0080  *          parameters.
0081  *
0082  * \since 1.4.0
0083  *
0084  */
0085 H5_DLL herr_t H5Pget_fapl_family(hid_t fapl_id, hsize_t *memb_size /*out*/, hid_t *memb_fapl_id /*out*/);
0086 
0087 #ifdef __cplusplus
0088 }
0089 #endif
0090 
0091 #endif