summaryrefslogtreecommitdiffstats
path: root/src/H5VLdaosm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5VLdaosm.h')
-rw-r--r--src/H5VLdaosm.h33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/H5VLdaosm.h b/src/H5VLdaosm.h
index 084c488..76fb327 100644
--- a/src/H5VLdaosm.h
+++ b/src/H5VLdaosm.h
@@ -40,8 +40,15 @@ extern "C" {
#ifdef H5_HAVE_EFF
-/* the file struct */
+/* Common object information */
+typedef struct H5VL_daosm_obj_t {
+ H5I_type_t type;
+ struct H5VL_daosm_file_t *file;
+} H5VL_daosm_obj_t;
+
+/* The file struct */
typedef struct H5VL_daosm_file_t {
+ H5VL_daosm_obj_t common; /* Must be first */
daos_handle_t poh;
daos_handle_t coh;
//daos_pool_info_t pool_info;
@@ -50,8 +57,9 @@ typedef struct H5VL_daosm_file_t {
uuid_t uuid;
unsigned flags;
daos_handle_t glob_md_oh;
- daos_handle_t root_oh;
- daos_obj_id_t max_oid;
+ struct H5VL_daosm_group_t *root_grp;
+ uint64_t max_oid;
+ hbool_t max_oid_dirty;
hid_t fcpl_id;
hid_t fapl_id;
MPI_Comm comm;
@@ -60,6 +68,25 @@ typedef struct H5VL_daosm_file_t {
int num_procs;
} H5VL_daosm_file_t;
+/* The group struct */
+typedef struct H5VL_daosm_group_t {
+ H5VL_daosm_obj_t common; /* Must be first */
+ daos_obj_id_t oid;
+ daos_handle_t obj_oh;
+ hid_t gapl_id;
+} H5VL_daosm_group_t;
+
+/* The dataset struct */
+typedef struct H5VL_daosm_dset_t {
+ H5VL_daosm_obj_t common; /* Must be first */
+ daos_obj_id_t oid;
+ daos_handle_t obj_oh;
+ hid_t type_id;
+ hid_t space_id;
+ hid_t dcpl_id;
+ hid_t dapl_id;
+} H5VL_daosm_dset_t;
+
extern hid_t H5VL_DAOSM_g;
H5_DLL hid_t H5VL_daosm_init(void);