JULEA
jhdf5-db.h
Go to the documentation of this file.
1 /*
2  * JULEA - Flexible storage framework
3  * Copyright (C) 2019 Benjamin Warnke
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Lesser General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
24 
25 #ifndef H5VL_JULEA_DB_H
26 #define H5VL_JULEA_DB_H
27 
28 #include <hdf5.h>
29 #include <H5PLextern.h>
30 
31 #define JULEA_HDF5_DB_NAMESPACE "HDF5_DB"
32 
34 {
42 };
43 
44 typedef enum JHDF5ObjectType JHDF5ObjectType;
45 
46 typedef struct JHDF5Object_t JHDF5Object_t;
48 {
49  gint ref_count;
51  void* backend_id;
52  guint64 backend_id_len;
53  union
54  {
55  struct
56  {
57  char* name;
59  } file;
60  struct
61  {
62  char* name;
68  struct
69  {
70  gint64 min_value_i;
71  gdouble min_value_f;
72  gint64 max_value_i;
73  gdouble max_value_f;
76  struct
77  {
78  char* name;
82  } attr;
83  struct
84  {
85  char* name;
87  } group;
88  struct
89  {
90  void* data;
91  size_t data_size;
93  hid_t hdf5_id;
95  struct
96  {
97  void* data;
98  size_t data_size;
100  hid_t hdf5_id;
101  } space;
102  };
103 };
104 
106 {
107  H5A_operator_t attr_op;
108  H5L_iterate_t iter_op;
109 };
110 
112 
113 /* init and term functions */
114 
115 herr_t H5VL_julea_db_attr_init(hid_t vipl_id);
116 herr_t H5VL_julea_db_attr_term(void);
117 herr_t H5VL_julea_db_dataset_init(hid_t vipl_id);
118 herr_t H5VL_julea_db_dataset_term(void);
119 herr_t H5VL_julea_db_datatype_init(hid_t vipl_id);
120 herr_t H5VL_julea_db_datatype_term(void);
121 herr_t H5VL_julea_db_file_init(hid_t vipl_id);
122 herr_t H5VL_julea_db_file_term(void);
123 herr_t H5VL_julea_db_group_init(hid_t vipl_id);
124 herr_t H5VL_julea_db_group_term(void);
125 herr_t H5VL_julea_db_link_init(hid_t vipl_id);
126 herr_t H5VL_julea_db_link_term(void);
127 herr_t H5VL_julea_db_space_init(hid_t vipl_id);
128 herr_t H5VL_julea_db_space_term(void);
129 
130 /* VOL callbacks */
131 
132 // attribute
133 void* H5VL_julea_db_attr_create(void* obj, const H5VL_loc_params_t* loc_params, const char* name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t dxpl_id, void** req);
134 void* H5VL_julea_db_attr_open(void* obj, const H5VL_loc_params_t* loc_params, const char* name, hid_t aapl_id, hid_t dxpl_id, void** req);
135 herr_t H5VL_julea_db_attr_read(void* obj, hid_t mem_type_id, void* buf, hid_t dxpl_id, void** req);
136 herr_t H5VL_julea_db_attr_write(void* obj, hid_t mem_type_id, const void* buf, hid_t dxpl_id, void** req);
137 herr_t H5VL_julea_db_attr_get(void* obj, H5VL_attr_get_args_t* args, hid_t dxpl_id, void** req);
138 herr_t H5VL_julea_db_attr_specific(void* obj, const H5VL_loc_params_t* loc_params, H5VL_attr_specific_args_t* args, hid_t dxpl_id, void** req);
139 herr_t H5VL_julea_db_attr_optional(void* obj, H5VL_optional_args_t* args, hid_t dxpl_id, void** req);
140 herr_t H5VL_julea_db_attr_close(void* obj, hid_t dxpl_id, void** req);
141 
142 // dataset
143 void* H5VL_julea_db_dataset_create(void* obj, const H5VL_loc_params_t* loc_params, const char* name, hid_t lcpl_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id, void** req);
144 void* H5VL_julea_db_dataset_open(void* obj, const H5VL_loc_params_t* loc_params, const char* name, hid_t dapl_id, hid_t dxpl_id, void** req);
145 herr_t H5VL_julea_db_dataset_write(size_t count, void* dset[], hid_t mem_type_id[], hid_t mem_space_id[], hid_t file_space_id[], hid_t dxpl_id, const void* buf[], void** req);
146 herr_t H5VL_julea_db_dataset_read(size_t count, void* dset[], hid_t mem_type_id[], hid_t mem_space_id[], hid_t file_space_id[], hid_t dxpl_id, void* buf[], void** req);
147 herr_t H5VL_julea_db_dataset_get(void* obj, H5VL_dataset_get_args_t* args, hid_t dxpl_id, void** req);
148 herr_t H5VL_julea_db_dataset_specific(void* obj, H5VL_dataset_specific_args_t* args, hid_t dxpl_id, void** req);
149 herr_t H5VL_julea_db_dataset_optional(void* obj, H5VL_optional_args_t* args, hid_t dxpl_id, void** req);
150 herr_t H5VL_julea_db_dataset_close(void* obj, hid_t dxpl_id, void** req);
151 
152 // datatype
153 void* H5VL_julea_db_datatype_commit(void* obj, const H5VL_loc_params_t* loc_params, const char* name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id, hid_t dxpl_id, void** req);
154 void* H5VL_julea_db_datatype_open(void* obj, const H5VL_loc_params_t* loc_params, const char* name, hid_t tapl_id, hid_t dxpl_id, void** req);
155 herr_t H5VL_julea_db_datatype_get(void* obj, H5VL_datatype_get_args_t* args, hid_t dxpl_id, void** req);
156 herr_t H5VL_julea_db_datatype_specific(void* obj, H5VL_datatype_specific_args_t* args, hid_t dxpl_id, void** req);
157 herr_t H5VL_julea_db_datatype_optional(void* obj, H5VL_optional_args_t* args, hid_t dxpl_id, void** req);
158 herr_t H5VL_julea_db_datatype_close(void* dt, hid_t dxpl_id, void** req);
159 
160 // file
161 void* H5VL_julea_db_file_create(const char* name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id, void** req);
162 void* H5VL_julea_db_file_open(const char* name, unsigned flags, hid_t fapl_id, hid_t dxpl_id, void** req);
163 herr_t H5VL_julea_db_file_get(void* obj, H5VL_file_get_args_t* args, hid_t dxpl_id, void** req);
164 herr_t H5VL_julea_db_file_specific(void* obj, H5VL_file_specific_args_t* args, hid_t dxpl_id, void** req);
165 herr_t H5VL_julea_db_file_optional(void* obj, H5VL_optional_args_t* args, hid_t dxpl_id, void** req);
166 herr_t H5VL_julea_db_file_close(void* obj, hid_t dxpl_id, void** req);
167 
168 // group
169 void* H5VL_julea_db_group_create(void* obj, const H5VL_loc_params_t* loc_params, const char* name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id, hid_t dxpl_id, void** req);
170 void* H5VL_julea_db_group_open(void* obj, const H5VL_loc_params_t* loc_params, const char* name, hid_t gapl_id, hid_t dxpl_id, void** req);
171 herr_t H5VL_julea_db_group_get(void* obj, H5VL_group_get_args_t* args, hid_t dxpl_id, void** req);
172 herr_t H5VL_julea_db_group_specific(void* obj, H5VL_group_specific_args_t* args, hid_t dxpl_id, void** req);
173 herr_t H5VL_julea_db_group_optional(void* obj, H5VL_optional_args_t* args, hid_t dxpl_id, void** req);
174 herr_t H5VL_julea_db_group_close(void* obj, hid_t dxpl_id, void** req);
175 
176 // link
177 herr_t H5VL_julea_db_link_create(H5VL_link_create_args_t* args, void* obj, const H5VL_loc_params_t* loc_params, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void** req);
178 herr_t H5VL_julea_db_link_copy(void* src_obj, const H5VL_loc_params_t* loc_params1, void* dst_obj, const H5VL_loc_params_t* loc_params2, hid_t lcpl, hid_t lapl, hid_t dxpl_id, void** req);
179 herr_t H5VL_julea_db_link_move(void* src_obj, const H5VL_loc_params_t* loc_params1, void* dst_obj, const H5VL_loc_params_t* loc_params2, hid_t lcpl, hid_t lapl, hid_t dxpl_id, void** req);
180 herr_t H5VL_julea_db_link_get(void* obj, const H5VL_loc_params_t* loc_params, H5VL_link_get_args_t* args, hid_t dxpl_id, void** req);
181 herr_t H5VL_julea_db_link_specific(void* obj, const H5VL_loc_params_t* loc_params, H5VL_link_specific_args_t* args, hid_t dxpl_id, void** req);
182 herr_t H5VL_julea_db_link_optional(void* obj, const H5VL_loc_params_t* loc_params, H5VL_optional_args_t* args, hid_t dxpl_id, void** req);
183 
184 // object
185 void* H5VL_julea_db_object_open(void* obj, const H5VL_loc_params_t* loc_params, H5I_type_t* opened_type, hid_t dxpl, void** req);
186 
187 /* internal helper functions */
188 
189 void H5VL_julea_db_error_handler(GError* error);
190 char* H5VL_julea_db_buf_to_hex(const char* prefix, const char* buf, guint buf_len);
191 
195 gboolean H5VL_julea_db_dataset_set_info(JHDF5Object_t* object, GError** error);
196 
198 
199 // truncate
200 herr_t H5VL_julea_db_link_truncate_file(void* obj);
201 herr_t H5VL_julea_db_attr_truncate_file(void* obj);
202 herr_t H5VL_julea_db_dataset_truncate_file(void* obj);
203 herr_t H5VL_julea_db_group_truncate_file(void* obj);
204 
205 // datatype helper
206 const void* H5VL_julea_db_datatype_convert_type(hid_t type_id_from, hid_t type_id_to, const char* from_buf, char* tmp_buf, guint count);
207 JHDF5Object_t* H5VL_julea_db_datatype_decode(void* backend_id, guint64 backend_id_len);
209 
210 // space helper
211 JHDF5Object_t* H5VL_julea_db_space_decode(void* backend_id, guint64 backend_id_len);
213 
214 // link helper
215 gboolean H5VL_julea_db_link_get_helper(JHDF5Object_t* parent, JHDF5Object_t* child, const char* name);
216 gboolean H5VL_julea_db_link_create_helper(JHDF5Object_t* parent, JHDF5Object_t* child, const char* name);
217 herr_t H5VL_julea_db_link_get_info_helper(JHDF5Object_t* obj, const H5VL_loc_params_t* loc_params, H5L_info2_t* info_out);
218 herr_t H5VL_julea_db_link_iterate_helper(JHDF5Object_t* object, hbool_t recursive, gboolean attr, H5_index_t idx_type, H5_iter_order_t order, hsize_t* idx_p, JHDF5Iterate_Func_t op, void* op_data);
219 herr_t H5VL_julea_db_link_exists_helper(JHDF5Object_t* object, const gchar* name, hbool_t* exists);
220 
221 // shared structs
224 
225 #define j_goto_error() \
226  do \
227  { \
228  G_DEBUG_HERE(); \
229  g_debug("goto _error;"); \
230  goto _error; \
231  } while (0)
232 
233 #endif
herr_t H5VL_julea_db_datatype_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:596
herr_t H5VL_julea_db_attr_write(void *obj, hid_t mem_type_id, const void *buf, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:554
H5I_type_t H5VL_julea_db_type_intern_to_hdf(JHDF5ObjectType type)
Definition: jhdf5-db-shared.c:180
herr_t H5VL_julea_db_file_get(void *obj, H5VL_file_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:512
JHDF5Object_t * H5VL_julea_db_space_decode(void *backend_id, guint64 backend_id_len)
Definition: jhdf5-db-space.c:259
void * H5VL_julea_db_group_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:231
herr_t H5VL_julea_db_group_init(hid_t vipl_id)
Definition: jhdf5-db-group.c:62
void * H5VL_julea_db_attr_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:240
herr_t H5VL_julea_db_link_iterate_helper(JHDF5Object_t *object, hbool_t recursive, gboolean attr, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx_p, JHDF5Iterate_Func_t op, void *op_data)
Definition: jhdf5-db-link.c:585
herr_t H5VL_julea_db_space_term(void)
Definition: jhdf5-db-space.c:49
char * H5VL_julea_db_buf_to_hex(const char *prefix, const char *buf, guint buf_len)
Definition: jhdf5-db-shared.c:46
herr_t H5VL_julea_db_link_get_info_helper(JHDF5Object_t *obj, const H5VL_loc_params_t *loc_params, H5L_info2_t *info_out)
Definition: jhdf5-db-link.c:542
JHDF5Object_t * H5VL_julea_db_object_ref(JHDF5Object_t *object)
Definition: jhdf5-db-shared.c:83
herr_t H5VL_julea_db_file_term(void)
Definition: jhdf5-db-file.c:48
herr_t H5VL_julea_db_attr_init(hid_t vipl_id)
Definition: jhdf5-db-attr.c:62
herr_t H5VL_julea_db_attr_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:695
herr_t H5VL_julea_db_attr_get(void *obj, H5VL_attr_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:628
herr_t H5VL_julea_db_dataset_close(void *obj, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:1207
gboolean H5VL_julea_db_dataset_set_info(JHDF5Object_t *object, GError **error)
Definition: jhdf5-db-dataset.c:408
JDBSchema * julea_db_schema_group
Definition: jhdf5-db-group.c:45
herr_t H5VL_julea_db_link_get(void *obj, const H5VL_loc_params_t *loc_params, H5VL_link_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:558
JHDF5Object_t * H5VL_julea_db_datatype_encode(hid_t *type_id)
Definition: jhdf5-db-datatype.c:337
herr_t H5VL_julea_db_dataset_get(void *obj, H5VL_dataset_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:1136
herr_t H5VL_julea_db_link_optional(void *obj, const H5VL_loc_params_t *loc_params, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:821
void * H5VL_julea_db_dataset_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t lcpl_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:255
herr_t H5VL_julea_db_group_specific(void *obj, H5VL_group_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:428
herr_t H5VL_julea_db_link_create(H5VL_link_create_args_t *args, void *obj, const H5VL_loc_params_t *loc_params, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:488
herr_t H5VL_julea_db_link_term(void)
Definition: jhdf5-db-link.c:48
herr_t H5VL_julea_db_file_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:727
herr_t H5VL_julea_db_datatype_get(void *obj, H5VL_datatype_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:568
herr_t H5VL_julea_db_dataset_specific(void *obj, H5VL_dataset_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:1173
herr_t H5VL_julea_db_dataset_truncate_file(void *obj)
Definition: jhdf5-db-dataset.c:200
herr_t H5VL_julea_db_file_close(void *obj, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:741
herr_t H5VL_julea_db_link_truncate_file(void *obj)
Definition: jhdf5-db-link.c:209
herr_t H5VL_julea_db_group_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:445
void * H5VL_julea_db_datatype_commit(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:533
herr_t H5VL_julea_db_group_get(void *obj, H5VL_group_get_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:411
herr_t H5VL_julea_db_attr_term(void)
Definition: jhdf5-db-attr.c:48
herr_t H5VL_julea_db_attr_truncate_file(void *obj)
Definition: jhdf5-db-attr.c:185
void H5VL_julea_db_object_unref(JHDF5Object_t *object)
Definition: jhdf5-db-shared.c:113
JDBSchema * julea_db_schema_link
Definition: jhdf5-db-link.c:45
herr_t H5VL_julea_db_dataset_write(size_t count, void *dset[], hid_t mem_type_id[], hid_t mem_space_id[], hid_t file_space_id[], hid_t dxpl_id, const void *buf[], void **req)
Definition: jhdf5-db-dataset.c:917
herr_t H5VL_julea_db_link_copy(void *src_obj, const H5VL_loc_params_t *loc_params1, void *dst_obj, const H5VL_loc_params_t *loc_params2, hid_t lcpl, hid_t lapl, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:506
herr_t H5VL_julea_db_file_init(hid_t vipl_id)
Definition: jhdf5-db-file.c:62
herr_t H5VL_julea_db_dataset_optional(void *obj, H5VL_optional_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:1190
const void * H5VL_julea_db_datatype_convert_type(hid_t type_id_from, hid_t type_id_to, const char *from_buf, char *tmp_buf, guint count)
Definition: jhdf5-db-datatype.c:86
void * H5VL_julea_db_datatype_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t tapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:552
herr_t H5VL_julea_db_group_term(void)
Definition: jhdf5-db-group.c:48
herr_t H5VL_julea_db_datatype_term(void)
Definition: jhdf5-db-datatype.c:99
herr_t H5VL_julea_db_link_specific(void *obj, const H5VL_loc_params_t *loc_params, H5VL_link_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:766
herr_t H5VL_julea_db_space_init(hid_t vipl_id)
Definition: jhdf5-db-space.c:69
JHDF5Object_t * H5VL_julea_db_space_encode(hid_t *type_id)
Definition: jhdf5-db-space.c:327
gboolean H5VL_julea_db_link_create_helper(JHDF5Object_t *parent, JHDF5Object_t *child, const char *name)
Definition: jhdf5-db-link.c:339
void * H5VL_julea_db_file_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:218
herr_t H5VL_julea_db_group_truncate_file(void *obj)
Definition: jhdf5-db-group.c:170
JHDF5Object_t * H5VL_julea_db_object_new(JHDF5ObjectType type)
Definition: jhdf5-db-shared.c:95
herr_t H5VL_julea_db_link_move(void *src_obj, const H5VL_loc_params_t *loc_params1, void *dst_obj, const H5VL_loc_params_t *loc_params2, hid_t lcpl, hid_t lapl, hid_t dxpl_id, void **req)
Definition: jhdf5-db-link.c:524
herr_t H5VL_julea_db_dataset_init(hid_t vipl_id)
Definition: jhdf5-db-dataset.c:62
herr_t H5VL_julea_db_datatype_close(void *dt, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:610
JHDF5ObjectType
Definition: jhdf5-db.h:34
@ J_HDF5_OBJECT_TYPE_DATASET
Definition: jhdf5-db.h:36
@ _J_HDF5_OBJECT_TYPE_COUNT
Definition: jhdf5-db.h:41
@ J_HDF5_OBJECT_TYPE_FILE
Definition: jhdf5-db.h:35
@ J_HDF5_OBJECT_TYPE_GROUP
Definition: jhdf5-db.h:40
@ J_HDF5_OBJECT_TYPE_ATTR
Definition: jhdf5-db.h:37
@ J_HDF5_OBJECT_TYPE_SPACE
Definition: jhdf5-db.h:39
@ J_HDF5_OBJECT_TYPE_DATATYPE
Definition: jhdf5-db.h:38
JHDF5Object_t * H5VL_julea_db_datatype_decode(void *backend_id, guint64 backend_id_len)
Definition: jhdf5-db-datatype.c:265
herr_t H5VL_julea_db_attr_close(void *obj, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:712
herr_t H5VL_julea_db_datatype_init(hid_t vipl_id)
Definition: jhdf5-db-datatype.c:113
gboolean H5VL_julea_db_link_get_helper(JHDF5Object_t *parent, JHDF5Object_t *child, const char *name)
Definition: jhdf5-db-link.c:264
herr_t H5VL_julea_db_dataset_term(void)
Definition: jhdf5-db-dataset.c:48
void * H5VL_julea_db_dataset_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t dapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-dataset.c:526
herr_t H5VL_julea_db_link_exists_helper(JHDF5Object_t *object, const gchar *name, hbool_t *exists)
Definition: jhdf5-db-link.c:720
herr_t H5VL_julea_db_link_init(hid_t vipl_id)
Definition: jhdf5-db-link.c:62
herr_t H5VL_julea_db_attr_read(void *obj, hid_t mem_type_id, void *buf, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:493
void * H5VL_julea_db_object_open(void *obj, const H5VL_loc_params_t *loc_params, H5I_type_t *opened_type, hid_t dxpl, void **req)
Definition: jhdf5-db-object.c:46
void * H5VL_julea_db_attr_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t aapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:368
herr_t H5VL_julea_db_file_specific(void *obj, H5VL_file_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:685
herr_t H5VL_julea_db_group_close(void *obj, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:462
herr_t H5VL_julea_db_attr_specific(void *obj, const H5VL_loc_params_t *loc_params, H5VL_attr_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-attr.c:661
herr_t H5VL_julea_db_dataset_read(size_t count, void *dset[], hid_t mem_type_id[], hid_t mem_space_id[], hid_t file_space_id[], hid_t dxpl_id, void *buf[], void **req)
Definition: jhdf5-db-dataset.c:1024
herr_t H5VL_julea_db_datatype_specific(void *obj, H5VL_datatype_specific_args_t *args, hid_t dxpl_id, void **req)
Definition: jhdf5-db-datatype.c:582
void * H5VL_julea_db_file_open(const char *name, unsigned flags, hid_t fapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-file.c:430
void * H5VL_julea_db_group_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t gapl_id, hid_t dxpl_id, void **req)
Definition: jhdf5-db-group.c:334
void H5VL_julea_db_error_handler(GError *error)
Definition: jhdf5-db-shared.c:72
Definition: jdb-internal.h:78
Definition: jdistributed-object.c:131
Definition: jdistribution.c:48
Definition: jhdf5-db.h:48
JHDF5Object_t * file
Definition: jhdf5-db.h:63
JDistributedObject * object
Definition: jhdf5-db.h:67
struct JHDF5Object_t::@25::@29 attr
JDistribution * distribution
Definition: jhdf5-db.h:66
size_t data_size
Definition: jhdf5-db.h:91
struct JHDF5Object_t::@25::@27 file
hid_t hdf5_id
Definition: jhdf5-db.h:93
guint dim_total_count
Definition: jhdf5-db.h:99
guint64 backend_id_len
Definition: jhdf5-db.h:52
gint64 min_value_i
Definition: jhdf5-db.h:70
void * data
Definition: jhdf5-db.h:90
void * backend_id
Definition: jhdf5-db.h:51
char * name
Definition: jhdf5-db.h:57
struct JHDF5Object_t::@25::@28 dataset
struct JHDF5Object_t::@25::@28::@33 statistics
gint64 max_value_i
Definition: jhdf5-db.h:72
JHDF5ObjectType type
Definition: jhdf5-db.h:50
gdouble max_value_f
Definition: jhdf5-db.h:73
gint ref_count
Definition: jhdf5-db.h:49
guint type_total_size
Definition: jhdf5-db.h:92
JHDF5Object_t * space
Definition: jhdf5-db.h:65
JHDF5Object_t * datatype
Definition: jhdf5-db.h:64
struct JHDF5Object_t::@25::@30 group
JHDF5Object_t * root_group
Definition: jhdf5-db.h:58
gdouble min_value_f
Definition: jhdf5-db.h:71
Definition: jhdf5-db.h:106
H5L_iterate_t iter_op
Definition: jhdf5-db.h:108
H5A_operator_t attr_op
Definition: jhdf5-db.h:107