Change H5F internals access

This commit is contained in:
Jacob Smith
2018-09-14 15:49:45 -05:00
parent e1f3a10c52
commit 4e4d737eca
3 changed files with 24 additions and 7 deletions

View File

@@ -25,16 +25,13 @@
#include "H5Dpkg.h" /* Datasets */
#include "H5CXprivate.h" /* API Contexts */
#include "H5Eprivate.h" /* Error handling */
#include "H5Fprivate.h" /* Files */
#include "H5FLprivate.h" /* Free Lists */
#include "H5FOprivate.h" /* File objects */
#include "H5Iprivate.h" /* IDs */
#include "H5Lprivate.h" /* Links */
#include "H5MMprivate.h" /* Memory management */
/* to inspect dataset object header minimization setting in external link */
#define H5F_FRIEND
#include "H5Fpkg.h" /* File private variables */
/****************/
/* Local Macros */
@@ -705,9 +702,7 @@ H5D__use_minimized_dset_headers( \
"can't get minimize value from dcpl")
if (FALSE == *minimize) {
/* direct access -- "incomplete type" if H5Fpkg.h not included */
HDassert(file->shared);
*minimize = file->shared->crt_dset_min_ohdr_flag;
*minimize = H5F_get_min_dset_ohdr(file);
}
done:

View File

@@ -331,6 +331,7 @@ typedef struct H5F_t H5F_t;
#define H5F_POINT_OF_NO_RETURN(F) ((F)->shared->fs.point_of_no_return)
#define H5F_FIRST_ALLOC_DEALLOC(F) ((F)->shared->first_alloc_dealloc)
#define H5F_EOA_PRE_FSM_FSALLOC(F) ((F)->shared->eoa_pre_fsm_fsalloc)
#define H5F_MIN_DSET_OHDR(F) ((F)->shared->crt_dset_min_ohdr_flag)
#else /* H5F_MODULE */
#define H5F_LOW_BOUND(F) (H5F_get_low_bound(F))
#define H5F_HIGH_BOUND(F) (H5F_get_high_bound(F))
@@ -388,6 +389,7 @@ typedef struct H5F_t H5F_t;
#define H5F_POINT_OF_NO_RETURN(F) (H5F_get_point_of_no_return(F))
#define H5F_FIRST_ALLOC_DEALLOC(F) (H5F_get_first_alloc_dealloc(F))
#define H5F_EOA_PRE_FSM_FSALLOC(F) (H5F_get_eoa_pre_fsm_fsalloc(F))
#define H5F_MIN_DSET_OHDR(F) (H5F_get_min_dset_ohdr(F))
#endif /* H5F_MODULE */
@@ -741,6 +743,7 @@ H5_DLL hsize_t H5F_get_pgend_meta_thres(const H5F_t *f);
H5_DLL hbool_t H5F_get_point_of_no_return(const H5F_t *f);
H5_DLL hbool_t H5F_get_first_alloc_dealloc(const H5F_t *f);
H5_DLL haddr_t H5F_get_eoa_pre_fsm_fsalloc(const H5F_t *f);
H5_DLL hbool_t H5F_get_min_dset_ohdr(const H5F_t *f);
/* Functions than retrieve values set/cached from the superblock/FCPL */
H5_DLL haddr_t H5F_get_base_addr(const H5F_t *f);

View File

@@ -512,6 +512,25 @@ H5F_sym_leaf_k(const H5F_t *f)
FUNC_LEAVE_NOAPI(f->shared->sblock->sym_leaf_k)
} /* end H5F_sym_leaf_k() */
/*-------------------------------------------------------------------------
* Function: H5F_get_min_dset_ohdr
*
* Purpose: Get the setting flag for minimized dataset object headers
*
* Return: TRUE/FALSE as set in file
*-------------------------------------------------------------------------
*/
hbool_t
H5F_get_min_dset_ohdr(const H5F_t *f)
{
FUNC_ENTER_NOAPI_NOINIT_NOERR
HDassert(f);
FUNC_LEAVE_NOAPI(f->shared->crt_dset_min_ohdr_flag)
} /* end H5F_get_min_dset_ohdr */
/*-------------------------------------------------------------------------
* Function: H5F_Kvalue