|
|
|||
Warning, file /include/H5FDsplitter.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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 splitter virtual file driver (VFD) 0015 */ 0016 0017 #ifndef H5FDsplitter_H 0018 #define H5FDsplitter_H 0019 0020 /** Initializer for the splitter VFD */ 0021 #define H5FD_SPLITTER (H5FDperform_init(H5FD_splitter_init)) 0022 0023 /** Identifier for the splitter VFD */ 0024 #define H5FD_SPLITTER_VALUE H5_VFD_SPLITTER 0025 0026 /** The version of the H5FD_splitter_vfd_config_t structure used */ 0027 #define H5FD_CURR_SPLITTER_VFD_CONFIG_VERSION 1 0028 0029 /** 0030 * Maximum length of a filename/path string in the Write-Only channel, 0031 * including the NULL-terminator. \since 1.10.7 0032 */ 0033 #define H5FD_SPLITTER_PATH_MAX 4096 0034 0035 /** Semi-unique constant used to help identify structure pointers \since 1.10.7 */ 0036 #define H5FD_SPLITTER_MAGIC 0x2B916880 0037 0038 //! <!-- [H5FD_splitter_vfd_config_t_snip] --> 0039 /** 0040 * Configuration options for setting up the Splitter VFD 0041 */ 0042 typedef struct H5FD_splitter_vfd_config_t { 0043 int32_t magic; /**< Magic number to identify this struct. Must be \p H5FD_SPLITTER_MAGIC. */ 0044 unsigned int version; /**< Version number of this struct. Currently must be \p 0045 H5FD_CURR_SPLITTER_VFD_CONFIG_VERSION. */ 0046 hid_t rw_fapl_id; /**< File-access property list for setting up the read/write channel. Can be \p 0047 H5P_DEFAULT. */ 0048 hid_t wo_fapl_id; /**< File-access property list for setting up the read-only channel. The selected VFD 0049 must support the \p H5FD_FEAT_DEFAULT_VFD_COMPATIBLE flag. Can be \p H5P_DEFAULT. */ 0050 char wo_path[H5FD_SPLITTER_PATH_MAX + 1]; /**< Path to the write-only file */ 0051 char log_file_path[H5FD_SPLITTER_PATH_MAX + 1]; /**< Path to the log file, which will be created on HDF5 0052 file open (existing files will be clobbered). Can be 0053 NULL, in which case no logging output is generated. */ 0054 hbool_t ignore_wo_errs; /**< Whether to ignore errors on the write-only channel */ 0055 } H5FD_splitter_vfd_config_t; 0056 //! <!-- [H5FD_splitter_vfd_config_t_snip] --> 0057 0058 #ifdef __cplusplus 0059 extern "C" { 0060 #endif 0061 0062 /** @private 0063 * 0064 * \brief Private initializer for the splitter VFD 0065 */ 0066 H5_DLL hid_t H5FD_splitter_init(void); 0067 0068 /** 0069 * \ingroup FAPL 0070 * 0071 * \brief Sets the file access property list to use the splitter driver 0072 * 0073 * \fapl_id 0074 * \param[in] config_ptr Configuration options for the VFD 0075 * \returns \herr_t 0076 * 0077 * \details H5Pset_fapl_splitter() sets the file access property list identifier, 0078 * \p fapl_id, to use the splitter driver. 0079 * 0080 * The splitter VFD echoes file manipulation (e.g. create, truncate) 0081 * and write calls to a second, write-only file. 0082 * 0083 * \note The splitter VFD should not be confused with the split VFD, 0084 * which is a simplification of the multi VFD and creates separate 0085 * files for metadata and data. 0086 * 0087 * \since 1.10.7, 1.12.1 0088 */ 0089 H5_DLL herr_t H5Pset_fapl_splitter(hid_t fapl_id, H5FD_splitter_vfd_config_t *config_ptr); 0090 0091 /** 0092 * \ingroup FAPL 0093 * 0094 * \brief Gets splitter driver properties from the the file access property list 0095 * 0096 * \fapl_id 0097 * \param[out] config_ptr Configuration options for the VFD 0098 * \returns \herr_t 0099 * 0100 * \details H5Pset_fapl_splitter() sets the file access property list identifier, 0101 * \p fapl_id, to use the splitter driver. 0102 * 0103 * The splitter VFD echoes file manipulation (e.g. create, truncate) 0104 * and write calls to a second file. 0105 * 0106 * \note The splitter VFD should not be confused with the split VFD, 0107 * which is a simplification of the multi VFD and creates separate 0108 * files for metadata and data. 0109 * 0110 * \since 1.10.7, 1.12.1 0111 */ 0112 H5_DLL herr_t H5Pget_fapl_splitter(hid_t fapl_id, H5FD_splitter_vfd_config_t *config_ptr); 0113 0114 #ifdef __cplusplus 0115 } 0116 #endif 0117 0118 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|