diff options
Diffstat (limited to 'src/H5F.c')
-rw-r--r-- | src/H5F.c | 105 |
1 files changed, 105 insertions, 0 deletions
@@ -1820,3 +1820,108 @@ done: FUNC_LEAVE_API(ret_value) } /* H5Fincrement_filesize() */ + +/*------------------------------------------------------------------------- + * Function: H5Fget_dset_no_attrs_hint + * + * Purpose: + * + * Get the file-level setting to create minimized dataset object headers. + * Result is stored at pointer `minimize`. + * + * Return: + * + * Success: SUCCEED (0) (non-negative value) + * Failure: FAIL (-1) (negative value) + * + * Programmer: + * + * Jacob Smith + * 15 August 2018 + * + * Changes: None. + *------------------------------------------------------------------------- + */ +herr_t +H5Fget_dset_no_attrs_hint(hid_t file_id, + hbool_t *minimize) +{ + H5VL_object_t *vol_obj = NULL; + herr_t ret_value = SUCCEED; + + FUNC_ENTER_API(FAIL) + H5TRACE2("e", "i*b", file_id, minimize); + + if (NULL == minimize) + HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, + "out pointer 'minimize' cannot be NULL") + + vol_obj = (H5VL_object_t *)H5I_object(file_id); + if (NULL == vol_obj) + HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier") + + if (0 > H5VL_file_get( + vol_obj, + H5VL_FILE_GET_MIN_DSET_OHDR_FLAG, + H5P_DATASET_XFER_DEFAULT, + H5_REQUEST_NULL, + minimize)) + { + HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, + "unable to get file's dataset header minimization flag") + } + +done: + FUNC_LEAVE_API(ret_value) +} /* H5Fget_dset_no_attrs_hint */ + + +/*------------------------------------------------------------------------- + * Function: H5Fset_dset_no_attrs_hint + * + * Purpose: + * + * Set the file-level setting to create minimized dataset object headers. + * + * Return: + * + * Success: SUCCEED (0) (non-negative value) + * Failure: FAIL (-1) (negative value) + * + * Programmer: + * + * Jacob Smith + * 15 August 2018 + * + * Changes: None. + *------------------------------------------------------------------------- + */ +herr_t +H5Fset_dset_no_attrs_hint(hid_t file_id, + hbool_t minimize) +{ + H5VL_object_t *vol_obj = NULL; + herr_t ret_value = SUCCEED; + + FUNC_ENTER_API(FAIL) + H5TRACE2("e", "ib", file_id, minimize); + + vol_obj = (H5VL_object_t *)H5I_object(file_id); + if (NULL == vol_obj) + HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier") + + if (0 > H5VL_file_optional( + vol_obj, + H5P_DATASET_XFER_DEFAULT, + H5_REQUEST_NULL, + H5VL_FILE_SET_MIN_DSET_OHDR_FLAG, + minimize)) + { + HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, + "unable to set file's dataset header minimization flag") + } + +done: + FUNC_LEAVE_API(ret_value) +} /* H5Fset_dset_no_attrs_hint */ + |