summaryrefslogtreecommitdiffstats
path: root/src/H5Oprivate.h
diff options
context:
space:
mode:
authorjake.smith <jake.smith@hdfgroup.org>2018-12-29 20:31:31 (GMT)
committerjake.smith <jake.smith@hdfgroup.org>2018-12-29 20:31:31 (GMT)
commit905c3ca3d7736b151ff0889290c0c9e377988f26 (patch)
tree3b6d8b5ab846dcf0a29bf14460e5058096e78800 /src/H5Oprivate.h
parentba095e6a53a919c9753463c3800a26b180b7a135 (diff)
parentf54fb420d08ea0a7e7b026150c0ab559803e0acd (diff)
downloadhdf5-905c3ca3d7736b151ff0889290c0c9e377988f26.zip
hdf5-905c3ca3d7736b151ff0889290c0c9e377988f26.tar.gz
hdf5-905c3ca3d7736b151ff0889290c0c9e377988f26.tar.bz2
Merge pull request #1372 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:dset_ohdr_minimize to develop
Dataset object header minimization Jira TRILAB-45 * commit 'f54fb420d08ea0a7e7b026150c0ab559803e0acd': (34 commits) Specify variable type. Remove unnecessary whitespace. OHDR tests now accept h5_fileaccess() fapls. Formatting, informative comments, and minor renaming. Fix some CMake listings Add error checking to the minimized dset header size calculation. Update printf->HDprintf statements. Remove `#if 0` block of deprecated code. Fix mistake with H5E_BEGIN_TRY {...} H5E_END_TRY block containing ERROR-raising macros. Formatting tweaks. Add "compact" storage test to relative header size comparisons. Formatting adjustments. Formatting adjustments Move H5Fset_dset_no_attrs_hint VOL operations to native. Move minimzied object header tests from separate file to test/ohdr.c Some formatting changes. Re-format test/ohdr_mindset.c Fix a few transcription errors in other test files. formatting adjustments Reformat to be more consistent with existing code. Fix a few typos. add missing paramter - macro seemingly unused, but absence results in compiler complaint fix reference; move declaration in file Remove unused debugging print in '#if 0' block Fix typo. Fix CHECK of wrong ID (dset[2|3]_id). change test file name and apply 'h5_fixname' to it Sidestep and hide&flag minor issues causing test failures. Incorporate minimized dset ohdr tests into extant suite. ...
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r--src/H5Oprivate.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h
index 7ed9e26..e0926e2 100644
--- a/src/H5Oprivate.h
+++ b/src/H5Oprivate.h
@@ -121,8 +121,14 @@ typedef struct H5O_mesg_t H5O_mesg_t;
/* If the module using this macro is allowed access to the private variables, access them directly */
#ifdef H5O_MODULE
#define H5O_OH_GET_ADDR(O) ((O)->chunk[0].addr)
+#define H5O_OH_GET_VERSION(O) ((O)->version)
+#define H5O_OH_GET_FLAGS(O) ((O)->flags)
+#define H5O_OH_GET_MTIME(O) ((O)->mtime)
#else /* H5O_MODULE */
#define H5O_OH_GET_ADDR(O) (H5O_get_oh_addr(O))
+#define H5O_OH_GET_VERSION(O) (H5O_get_oh_version(O))
+#define H5O_OH_GET_FLAGS(O) (H5O_get_oh_flags(O))
+#define H5O_OH_GET_MTIME(O) (H5O_get_oh_mtime(O))
#endif /* H5O_MODULE */
/* Set the fields in a shared message structure */
@@ -865,6 +871,9 @@ struct H5P_genplist_t;
H5_DLL herr_t H5O_init(void);
H5_DLL herr_t H5O_create(H5F_t *f, size_t size_hint, size_t initial_rc,
hid_t ocpl_id, H5O_loc_t *loc/*out*/);
+H5_DLL H5O_t *H5O__create_ohdr(H5F_t *f, hid_t ocpl_id);
+H5_DLL herr_t H5O__apply_ohdr(H5F_t *f, H5O_t *oh, hid_t ocpl_id,
+ size_t size_hint, size_t initial_rc, H5O_loc_t *loc_out);
H5_DLL herr_t H5O_open(H5O_loc_t *loc);
H5_DLL void *H5O_open_by_idx(const H5G_loc_t *loc, const char *name,
H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5I_type_t *opened_type/*out*/);
@@ -891,6 +900,9 @@ H5_DLL void *H5O_open_name(const H5G_loc_t *loc, const char *name, H5I_type_t *o
H5_DLL herr_t H5O_get_nlinks(const H5O_loc_t *loc, hsize_t *nlinks);
H5_DLL void *H5O_obj_create(H5F_t *f, H5O_type_t obj_type, void *crt_info, H5G_loc_t *obj_loc);
H5_DLL haddr_t H5O_get_oh_addr(const H5O_t *oh);
+H5_DLL uint8_t H5O_get_oh_flags(const H5O_t *oh);
+H5_DLL time_t H5O_get_oh_mtime(const H5O_t *oh);
+H5_DLL uint8_t H5O_get_oh_version(const H5O_t *oh);
H5_DLL herr_t H5O_get_rc_and_type(const H5O_loc_t *oloc, unsigned *rc, H5O_type_t *otype);
H5_DLL H5AC_proxy_entry_t *H5O_get_proxy(const H5O_t *oh);