You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.8 KiB
C
98 lines
3.8 KiB
C
3 weeks ago
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||
|
* Copyright by The HDF Group. *
|
||
|
* 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 COPYING file, which can be found at the root of the source code *
|
||
|
* distribution tree, or in https://www.hdfgroup.org/licenses. *
|
||
|
* If you do not have access to either file, you may request a copy from *
|
||
|
* help@hdfgroup.org. *
|
||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||
|
|
||
|
/*
|
||
|
* Programmer: Robb Matzke
|
||
|
* Monday, August 2, 1999
|
||
|
*
|
||
|
* Purpose: The public header file for the core driver.
|
||
|
*/
|
||
|
#ifndef H5FDcore_H
|
||
|
#define H5FDcore_H
|
||
|
|
||
|
#define H5FD_CORE (H5FDperform_init(H5FD_core_init))
|
||
|
#define H5FD_CORE_VALUE H5_VFD_CORE
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
H5_DLL hid_t H5FD_core_init(void);
|
||
|
|
||
|
/**
|
||
|
* \ingroup FAPL
|
||
|
*
|
||
|
* \brief Modifies the file access property list to use the #H5FD_CORE driver
|
||
|
*
|
||
|
* \fapl_id
|
||
|
* \param[in] increment Size, in bytes, of memory increments
|
||
|
* \param[in] backing_store Boolean flag indicating whether to write the file
|
||
|
* contents to disk when the file is closed
|
||
|
* \returns \herr_t
|
||
|
*
|
||
|
* \details H5Pset_fapl_core() modifies the file access property list to use the
|
||
|
* #H5FD_CORE driver.
|
||
|
*
|
||
|
* The #H5FD_CORE driver enables an application to work with a file in
|
||
|
* memory, speeding reads and writes as no disk access is made. File
|
||
|
* contents are stored only in memory until the file is closed. The \p
|
||
|
* backing_store parameter determines whether file contents are ever
|
||
|
* written to disk.
|
||
|
*
|
||
|
* \p increment specifies the increment by which allocated memory is to
|
||
|
* be increased each time more memory is required.
|
||
|
*
|
||
|
* While using H5Fcreate() to create a core file, if the \p
|
||
|
* backing_store is set to 1 (TRUE), the file contents are flushed to a
|
||
|
* file with the same name as this core file when the file is closed or
|
||
|
* access to the file is terminated in memory.
|
||
|
*
|
||
|
* The application is allowed to open an existing file with #H5FD_CORE
|
||
|
* driver. While using H5Fopen() to open an existing file, if the \p
|
||
|
* backing_store is set to 1 (TRUE) and the \c flags for H5Fopen() is set to
|
||
|
* #H5F_ACC_RDWR, any change to the file contents are saved to the file
|
||
|
* when the file is closed. If \p backing_store is set to 0 (FALSE) and the \c
|
||
|
* flags for H5Fopen() is set to #H5F_ACC_RDWR, any change to the file
|
||
|
* contents will be lost when the file is closed. If the flags for
|
||
|
* H5Fopen() is set to #H5F_ACC_RDONLY, no change to the file is
|
||
|
* allowed either in memory or on file.
|
||
|
*
|
||
|
* \note Currently this driver cannot create or open family or multi files.
|
||
|
*
|
||
|
* \since 1.4.0
|
||
|
*
|
||
|
*/
|
||
|
H5_DLL herr_t H5Pset_fapl_core(hid_t fapl_id, size_t increment, hbool_t backing_store);
|
||
|
|
||
|
/**
|
||
|
* \ingroup FAPL
|
||
|
*
|
||
|
* \brief Queries core file driver properties
|
||
|
*
|
||
|
* \fapl_id
|
||
|
* \param[out] increment Size, in bytes, of memory increments
|
||
|
* \param[out] backing_store Boolean flag indicating whether to write the file
|
||
|
* contents to disk when the file is closed
|
||
|
* \returns \herr_t
|
||
|
*
|
||
|
* \details H5Pget_fapl_core() queries the #H5FD_CORE driver properties as set
|
||
|
* by H5Pset_fapl_core().
|
||
|
*
|
||
|
* \since 1.4.0
|
||
|
*
|
||
|
*/
|
||
|
H5_DLL herr_t H5Pget_fapl_core(hid_t fapl_id, size_t *increment /*out*/, hbool_t *backing_store /*out*/);
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif
|