1 module hdf5.H5Ppublic;
2 
3 import core.sys.posix.sys.types;
4 import core.stdc.config;
5 
6 import hdf5.H5public;
7 import hdf5.H5ACpublic;
8 import hdf5.H5Dpublic;
9 import hdf5.H5Ipublic;
10 import hdf5.H5Fpublic;
11 import hdf5.H5Lpublic;
12 import hdf5.H5Tpublic;
13 import hdf5.H5Zpublic;
14 
15 extern (C):
16 
17 /*
18  * The library's property list classes
19  */
20 
21 alias H5P_ROOT                     = H5P_CLS_ROOT_ID_g;
22 alias H5P_OBJECT_CREATE            = H5P_CLS_OBJECT_CREATE_ID_g;
23 alias H5P_FILE_CREATE              = H5P_CLS_FILE_CREATE_ID_g;
24 alias H5P_FILE_ACCESS              = H5P_CLS_FILE_ACCESS_ID_g;
25 alias H5P_DATASET_CREATE           = H5P_CLS_DATASET_CREATE_ID_g;
26 alias H5P_DATASET_ACCESS           = H5P_CLS_DATASET_ACCESS_ID_g;
27 alias H5P_DATASET_XFER             = H5P_CLS_DATASET_XFER_ID_g;
28 alias H5P_FILE_MOUNT               = H5P_CLS_FILE_MOUNT_ID_g;
29 alias H5P_GROUP_CREATE             = H5P_CLS_GROUP_CREATE_ID_g;
30 alias H5P_GROUP_ACCESS             = H5P_CLS_GROUP_ACCESS_ID_g;
31 alias H5P_DATATYPE_CREATE          = H5P_CLS_DATATYPE_CREATE_ID_g;
32 alias H5P_DATATYPE_ACCESS          = H5P_CLS_DATATYPE_ACCESS_ID_g;
33 alias H5P_STRING_CREATE            = H5P_CLS_STRING_CREATE_ID_g;
34 alias H5P_ATTRIBUTE_CREATE         = H5P_CLS_ATTRIBUTE_CREATE_ID_g;
35 alias H5P_ATTRIBUTE_ACCESS         = H5P_CLS_ATTRIBUTE_ACCESS_ID_g;
36 alias H5P_OBJECT_COPY              = H5P_CLS_OBJECT_COPY_ID_g;
37 alias H5P_LINK_CREATE              = H5P_CLS_LINK_CREATE_ID_g;
38 alias H5P_LINK_ACCESS              = H5P_CLS_LINK_ACCESS_ID_g;
39 
40 /*
41  * The library's default property lists
42  */
43 alias H5P_FILE_CREATE_DEFAULT      = H5P_LST_FILE_CREATE_ID_g;
44 alias H5P_FILE_ACCESS_DEFAULT      = H5P_LST_FILE_ACCESS_ID_g;
45 alias H5P_DATASET_CREATE_DEFAULT   = H5P_LST_DATASET_CREATE_ID_g;
46 alias H5P_DATASET_ACCESS_DEFAULT   = H5P_LST_DATASET_ACCESS_ID_g;
47 alias H5P_DATASET_XFER_DEFAULT     = H5P_LST_DATASET_XFER_ID_g;
48 alias H5P_FILE_MOUNT_DEFAULT       = H5P_LST_FILE_MOUNT_ID_g;
49 alias H5P_GROUP_CREATE_DEFAULT     = H5P_LST_GROUP_CREATE_ID_g;
50 alias H5P_GROUP_ACCESS_DEFAULT     = H5P_LST_GROUP_ACCESS_ID_g;
51 alias H5P_DATATYPE_CREATE_DEFAULT  = H5P_LST_DATATYPE_CREATE_ID_g;
52 alias H5P_DATATYPE_ACCESS_DEFAULT  = H5P_LST_DATATYPE_ACCESS_ID_g;
53 alias H5P_ATTRIBUTE_CREATE_DEFAULT = H5P_LST_ATTRIBUTE_CREATE_ID_g;
54 alias H5P_ATTRIBUTE_ACCESS_DEFAULT = H5P_LST_ATTRIBUTE_ACCESS_ID_g;
55 alias H5P_OBJECT_COPY_DEFAULT      = H5P_LST_OBJECT_COPY_ID_g;
56 alias H5P_LINK_CREATE_DEFAULT      = H5P_LST_LINK_CREATE_ID_g;
57 alias H5P_LINK_ACCESS_DEFAULT      = H5P_LST_LINK_ACCESS_ID_g;
58 
59 alias int function (c_long, void*) H5P_cls_create_func_t;
60 alias int function (c_long, c_long, void*) H5P_cls_copy_func_t;
61 alias int function (c_long, void*) H5P_cls_close_func_t;
62 alias int function (const(char)*, c_ulong, void*) H5P_prp_cb1_t;
63 alias int function (c_long, const(char)*, c_ulong, void*) H5P_prp_cb2_t;
64 alias int function (const(char)*, c_ulong, void*) H5P_prp_create_func_t;
65 alias int function (c_long, const(char)*, c_ulong, void*) H5P_prp_set_func_t;
66 alias int function (c_long, const(char)*, c_ulong, void*) H5P_prp_get_func_t;
67 alias int function (const(void)*, void**, c_ulong*) H5P_prp_encode_func_t;
68 alias int function (const(void*)*, void*) H5P_prp_decode_func_t;
69 alias int function (c_long, const(char)*, c_ulong, void*) H5P_prp_delete_func_t;
70 alias int function (const(char)*, c_ulong, void*) H5P_prp_copy_func_t;
71 alias int function (const(void)*, const(void)*, c_ulong) H5P_prp_compare_func_t;
72 alias int function (const(char)*, c_ulong, void*) H5P_prp_close_func_t;
73 alias int function (c_long, const(char)*, void*) H5P_iterate_t;
74 //alias H5D_mpio_actual_chunk_opt_mode_t H5D_mpio_actual_chunk_opt_mode_t;
75 //alias H5D_mpio_actual_io_mode_t H5D_mpio_actual_io_mode_t;
76 //alias H5D_mpio_no_collective_cause_t H5D_mpio_no_collective_cause_t;
77 
78 extern __gshared hid_t H5P_CLS_ROOT_ID_g;
79 extern __gshared hid_t H5P_CLS_OBJECT_CREATE_ID_g;
80 extern __gshared hid_t H5P_CLS_FILE_CREATE_ID_g;
81 extern __gshared hid_t H5P_CLS_FILE_ACCESS_ID_g;
82 extern __gshared hid_t H5P_CLS_DATASET_CREATE_ID_g;
83 extern __gshared hid_t H5P_CLS_DATASET_ACCESS_ID_g;
84 extern __gshared hid_t H5P_CLS_DATASET_XFER_ID_g;
85 extern __gshared hid_t H5P_CLS_FILE_MOUNT_ID_g;
86 extern __gshared hid_t H5P_CLS_GROUP_CREATE_ID_g;
87 extern __gshared hid_t H5P_CLS_GROUP_ACCESS_ID_g;
88 extern __gshared hid_t H5P_CLS_DATATYPE_CREATE_ID_g;
89 extern __gshared hid_t H5P_CLS_DATATYPE_ACCESS_ID_g;
90 extern __gshared hid_t H5P_CLS_STRING_CREATE_ID_g;
91 extern __gshared hid_t H5P_CLS_ATTRIBUTE_CREATE_ID_g;
92 extern __gshared hid_t H5P_CLS_ATTRIBUTE_ACCESS_ID_g;
93 extern __gshared hid_t H5P_CLS_OBJECT_COPY_ID_g;
94 extern __gshared hid_t H5P_CLS_LINK_CREATE_ID_g;
95 extern __gshared hid_t H5P_CLS_LINK_ACCESS_ID_g;
96 extern __gshared hid_t H5P_LST_FILE_CREATE_ID_g;
97 extern __gshared hid_t H5P_LST_FILE_ACCESS_ID_g;
98 extern __gshared hid_t H5P_LST_DATASET_CREATE_ID_g;
99 extern __gshared hid_t H5P_LST_DATASET_ACCESS_ID_g;
100 extern __gshared hid_t H5P_LST_DATASET_XFER_ID_g;
101 extern __gshared hid_t H5P_LST_FILE_MOUNT_ID_g;
102 extern __gshared hid_t H5P_LST_GROUP_CREATE_ID_g;
103 extern __gshared hid_t H5P_LST_GROUP_ACCESS_ID_g;
104 extern __gshared hid_t H5P_LST_DATATYPE_CREATE_ID_g;
105 extern __gshared hid_t H5P_LST_DATATYPE_ACCESS_ID_g;
106 extern __gshared hid_t H5P_LST_ATTRIBUTE_CREATE_ID_g;
107 extern __gshared hid_t H5P_LST_ATTRIBUTE_ACCESS_ID_g;
108 extern __gshared hid_t H5P_LST_OBJECT_COPY_ID_g;
109 extern __gshared hid_t H5P_LST_LINK_CREATE_ID_g;
110 extern __gshared hid_t H5P_LST_LINK_ACCESS_ID_g;
111 
112 enum H5D_mpio_actual_chunk_opt_mode_t
113 {
114     H5D_MPIO_NO_CHUNK_OPTIMIZATION = 0,
115     H5D_MPIO_LINK_CHUNK = 1,
116     H5D_MPIO_MULTI_CHUNK = 2
117 }
118 
119 enum H5D_mpio_actual_io_mode_t
120 {
121     H5D_MPIO_NO_COLLECTIVE = 0,
122     H5D_MPIO_CHUNK_INDEPENDENT = 1,
123     H5D_MPIO_CHUNK_COLLECTIVE = 2,
124     H5D_MPIO_CHUNK_MIXED = 3,
125     H5D_MPIO_CONTIGUOUS_COLLECTIVE = 4
126 }
127 
128 enum H5D_mpio_no_collective_cause_t
129 {
130     H5D_MPIO_COLLECTIVE = 0,
131     H5D_MPIO_SET_INDEPENDENT = 1,
132     H5D_MPIO_DATATYPE_CONVERSION = 2,
133     H5D_MPIO_DATA_TRANSFORMS = 4,
134     H5D_MPIO_MPI_OPT_TYPES_ENV_VAR_DISABLED = 8,
135     H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES = 16,
136     H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET = 32,
137     H5D_MPIO_FILTERS = 64
138 }
139 
140 /* Default value for all property list classes */
141 enum hid_t H5P_DEFAULT = 0;
142 
143 hid_t H5Pcreate_class (hid_t parent, const(char)* name, H5P_cls_create_func_t cls_create, void* create_data, H5P_cls_copy_func_t cls_copy, void* copy_data, H5P_cls_close_func_t cls_close, void* close_data);
144 char* H5Pget_class_name (hid_t pclass_id);
145 hid_t H5Pcreate (hid_t cls_id);
146 herr_t H5Pregister2 (hid_t cls_id, const(char)* name, size_t size, void* def_value, H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, H5P_prp_delete_func_t prp_del, H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, H5P_prp_close_func_t prp_close);
147 herr_t H5Pinsert2 (hid_t plist_id, const(char)* name, size_t size, void* value, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, H5P_prp_close_func_t prp_close);
148 herr_t H5Pset (hid_t plist_id, const(char)* name, void* value);
149 htri_t H5Pexist (hid_t plist_id, const(char)* name);
150 herr_t H5Pencode (hid_t plist_id, void* buf, size_t* nalloc);
151 hid_t H5Pdecode (const(void)* buf);
152 herr_t H5Pget_size (hid_t id, const(char)* name, size_t* size);
153 herr_t H5Pget_nprops (hid_t id, size_t* nprops);
154 hid_t H5Pget_class (hid_t plist_id);
155 hid_t H5Pget_class_parent (hid_t pclass_id);
156 herr_t H5Pget (hid_t plist_id, const(char)* name, void* value);
157 htri_t H5Pequal (hid_t id1, hid_t id2);
158 htri_t H5Pisa_class (hid_t plist_id, hid_t pclass_id);
159 int H5Piterate (hid_t id, int* idx, H5P_iterate_t iter_func, void* iter_data);
160 herr_t H5Pcopy_prop (hid_t dst_id, hid_t src_id, const(char)* name);
161 herr_t H5Premove (hid_t plist_id, const(char)* name);
162 herr_t H5Punregister (hid_t pclass_id, const(char)* name);
163 herr_t H5Pclose_class (hid_t plist_id);
164 herr_t H5Pclose (hid_t plist_id);
165 hid_t H5Pcopy (hid_t plist_id);
166 herr_t H5Pset_attr_phase_change (hid_t plist_id, uint max_compact, uint min_dense);
167 herr_t H5Pget_attr_phase_change (hid_t plist_id, uint* max_compact, uint* min_dense);
168 herr_t H5Pset_attr_creation_order (hid_t plist_id, uint crt_order_flags);
169 herr_t H5Pget_attr_creation_order (hid_t plist_id, uint* crt_order_flags);
170 herr_t H5Pset_obj_track_times (hid_t plist_id, hbool_t track_times);
171 herr_t H5Pget_obj_track_times (hid_t plist_id, hbool_t* track_times);
172 //herr_t H5Pmodify_filter (hid_t plist_id, H5Z_filter_t filter, uint flags, size_t cd_nelmts, <unimplemented> cd_values);
173 //herr_t H5Pset_filter (hid_t plist_id, H5Z_filter_t filter, uint flags, size_t cd_nelmts, <unimplemented> c_values);
174 int H5Pget_nfilters (hid_t plist_id);
175 //H5Z_filter_t H5Pget_filter2 (hid_t plist_id, uint filter, uint* flags, size_t* cd_nelmts, <unimplemented> cd_values, size_t namelen, <unimplemented> name, uint* filter_config);
176 //herr_t H5Pget_filter_by_id2 (hid_t plist_id, H5Z_filter_t id, uint* flags, size_t* cd_nelmts, <unimplemented> cd_values, size_t namelen, <unimplemented> name, uint* filter_config);
177 htri_t H5Pall_filters_avail (hid_t plist_id);
178 herr_t H5Premove_filter (hid_t plist_id, H5Z_filter_t filter);
179 herr_t H5Pset_deflate (hid_t plist_id, uint aggression);
180 herr_t H5Pset_fletcher32 (hid_t plist_id);
181 herr_t H5Pset_userblock (hid_t plist_id, hsize_t size);
182 herr_t H5Pget_userblock (hid_t plist_id, hsize_t* size);
183 herr_t H5Pset_sizes (hid_t plist_id, size_t sizeof_addr, size_t sizeof_size);
184 herr_t H5Pget_sizes (hid_t plist_id, size_t* sizeof_addr, size_t* sizeof_size);
185 herr_t H5Pset_sym_k (hid_t plist_id, uint ik, uint lk);
186 herr_t H5Pget_sym_k (hid_t plist_id, uint* ik, uint* lk);
187 herr_t H5Pset_istore_k (hid_t plist_id, uint ik);
188 herr_t H5Pget_istore_k (hid_t plist_id, uint* ik);
189 herr_t H5Pset_shared_mesg_nindexes (hid_t plist_id, uint nindexes);
190 herr_t H5Pget_shared_mesg_nindexes (hid_t plist_id, uint* nindexes);
191 herr_t H5Pset_shared_mesg_index (hid_t plist_id, uint index_num, uint mesg_type_flags, uint min_mesg_size);
192 herr_t H5Pget_shared_mesg_index (hid_t plist_id, uint index_num, uint* mesg_type_flags, uint* min_mesg_size);
193 herr_t H5Pset_shared_mesg_phase_change (hid_t plist_id, uint max_list, uint min_btree);
194 herr_t H5Pget_shared_mesg_phase_change (hid_t plist_id, uint* max_list, uint* min_btree);
195 herr_t H5Pset_file_space (hid_t plist_id, H5F_file_space_type_t strategy, hsize_t threshold);
196 herr_t H5Pget_file_space (hid_t plist_id, H5F_file_space_type_t* strategy, hsize_t* threshold);
197 herr_t H5Pset_alignment (hid_t fapl_id, hsize_t threshold, hsize_t alignment);
198 herr_t H5Pget_alignment (hid_t fapl_id, hsize_t* threshold, hsize_t* alignment);
199 herr_t H5Pset_driver (hid_t plist_id, hid_t driver_id, const(void)* driver_info);
200 hid_t H5Pget_driver (hid_t plist_id);
201 void* H5Pget_driver_info (hid_t plist_id);
202 herr_t H5Pset_family_offset (hid_t fapl_id, hsize_t offset);
203 herr_t H5Pget_family_offset (hid_t fapl_id, hsize_t* offset);
204 //herr_t H5Pset_multi_type (hid_t fapl_id, H5FD_mem_t type);
205 //herr_t H5Pget_multi_type (hid_t fapl_id, H5FD_mem_t* type);
206 herr_t H5Pset_cache (hid_t plist_id, int mdc_nelmts, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0);
207 herr_t H5Pget_cache (hid_t plist_id, int* mdc_nelmts, size_t* rdcc_nslots, size_t* rdcc_nbytes, double* rdcc_w0);
208 herr_t H5Pset_mdc_config (hid_t plist_id, H5AC_cache_config_t* config_ptr);
209 herr_t H5Pget_mdc_config (hid_t plist_id, H5AC_cache_config_t* config_ptr);
210 herr_t H5Pset_gc_references (hid_t fapl_id, uint gc_ref);
211 herr_t H5Pget_gc_references (hid_t fapl_id, uint* gc_ref);
212 herr_t H5Pset_fclose_degree (hid_t fapl_id, H5F_close_degree_t degree);
213 herr_t H5Pget_fclose_degree (hid_t fapl_id, H5F_close_degree_t* degree);
214 herr_t H5Pset_meta_block_size (hid_t fapl_id, hsize_t size);
215 herr_t H5Pget_meta_block_size (hid_t fapl_id, hsize_t* size);
216 herr_t H5Pset_sieve_buf_size (hid_t fapl_id, size_t size);
217 herr_t H5Pget_sieve_buf_size (hid_t fapl_id, size_t* size);
218 herr_t H5Pset_small_data_block_size (hid_t fapl_id, hsize_t size);
219 herr_t H5Pget_small_data_block_size (hid_t fapl_id, hsize_t* size);
220 herr_t H5Pset_libver_bounds (hid_t plist_id, H5F_libver_t low, H5F_libver_t high);
221 herr_t H5Pget_libver_bounds (hid_t plist_id, H5F_libver_t* low, H5F_libver_t* high);
222 herr_t H5Pset_elink_file_cache_size (hid_t plist_id, uint efc_size);
223 herr_t H5Pget_elink_file_cache_size (hid_t plist_id, uint* efc_size);
224 herr_t H5Pset_file_image (hid_t fapl_id, void* buf_ptr, size_t buf_len);
225 herr_t H5Pget_file_image (hid_t fapl_id, void** buf_ptr_ptr, size_t* buf_len_ptr);
226 //herr_t H5Pset_file_image_callbacks (hid_t fapl_id, H5FD_file_image_callbacks_t* callbacks_ptr);
227 //herr_t H5Pget_file_image_callbacks (hid_t fapl_id, H5FD_file_image_callbacks_t* callbacks_ptr);
228 herr_t H5Pset_core_write_tracking (hid_t fapl_id, hbool_t is_enabled, size_t page_size);
229 herr_t H5Pget_core_write_tracking (hid_t fapl_id, hbool_t* is_enabled, size_t* page_size);
230 herr_t H5Pset_metadata_read_attempts (hid_t plist_id, uint attempts);
231 herr_t H5Pget_metadata_read_attempts (hid_t plist_id, uint* attempts);
232 herr_t H5Pset_object_flush_cb (hid_t plist_id, H5F_flush_cb_t func, void* udata);
233 herr_t H5Pget_object_flush_cb (hid_t plist_id, H5F_flush_cb_t* func, void** udata);
234 herr_t H5Pset_mdc_log_options (hid_t plist_id, hbool_t is_enabled, const(char)* location, hbool_t start_on_access);
235 herr_t H5Pget_mdc_log_options (hid_t plist_id, hbool_t* is_enabled, char* location, size_t* location_size, hbool_t* start_on_access);
236 herr_t H5Pset_layout (hid_t plist_id, H5D_layout_t layout);
237 H5D_layout_t H5Pget_layout (hid_t plist_id);
238 herr_t H5Pset_chunk (hid_t plist_id, int ndims, const hsize_t *dim);
239 int H5Pget_chunk (hid_t plist_id, int max_ndims, hsize_t *dim);
240 herr_t H5Pset_virtual (hid_t dcpl_id, hid_t vspace_id, const(char)* src_file_name, const(char)* src_dset_name, hid_t src_space_id);
241 herr_t H5Pget_virtual_count (hid_t dcpl_id, size_t* count);
242 hid_t H5Pget_virtual_vspace (hid_t dcpl_id, size_t index);
243 hid_t H5Pget_virtual_srcspace (hid_t dcpl_id, size_t index);
244 ssize_t H5Pget_virtual_filename (hid_t dcpl_id, size_t index, char* name, size_t size);
245 ssize_t H5Pget_virtual_dsetname (hid_t dcpl_id, size_t index, char* name, size_t size);
246 herr_t H5Pset_external (hid_t plist_id, const(char)* name, off_t offset, hsize_t size);
247 herr_t H5Pset_chunk_opts (hid_t plist_id, uint opts);
248 herr_t H5Pget_chunk_opts (hid_t plist_id, uint* opts);
249 int H5Pget_external_count (hid_t plist_id);
250 herr_t H5Pget_external (hid_t plist_id, uint idx, size_t name_size, char* name, off_t* offset, hsize_t* size);
251 herr_t H5Pset_szip (hid_t plist_id, uint options_mask, uint pixels_per_block);
252 herr_t H5Pset_shuffle (hid_t plist_id);
253 herr_t H5Pset_nbit (hid_t plist_id);
254 herr_t H5Pset_scaleoffset (hid_t plist_id, H5Z_SO_scale_type_t scale_type, int scale_factor);
255 herr_t H5Pset_fill_value (hid_t plist_id, hid_t type_id, const(void)* value);
256 herr_t H5Pget_fill_value (hid_t plist_id, hid_t type_id, void* value);
257 herr_t H5Pfill_value_defined (hid_t plist, H5D_fill_value_t* status);
258 herr_t H5Pset_alloc_time (hid_t plist_id, H5D_alloc_time_t alloc_time);
259 herr_t H5Pget_alloc_time (hid_t plist_id, H5D_alloc_time_t* alloc_time);
260 herr_t H5Pset_fill_time (hid_t plist_id, H5D_fill_time_t fill_time);
261 herr_t H5Pget_fill_time (hid_t plist_id, H5D_fill_time_t* fill_time);
262 herr_t H5Pset_chunk_cache (hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0);
263 herr_t H5Pget_chunk_cache (hid_t dapl_id, size_t* rdcc_nslots, size_t* rdcc_nbytes, double* rdcc_w0);
264 herr_t H5Pset_virtual_view (hid_t plist_id, H5D_vds_view_t view);
265 herr_t H5Pget_virtual_view (hid_t plist_id, H5D_vds_view_t* view);
266 herr_t H5Pset_virtual_printf_gap (hid_t plist_id, hsize_t gap_size);
267 herr_t H5Pget_virtual_printf_gap (hid_t plist_id, hsize_t* gap_size);
268 //herr_t H5Pset_append_flush (hid_t plist_id, uint ndims, <unimplemented> boundary, H5D_append_cb_t func, void* udata);
269 //herr_t H5Pget_append_flush (hid_t plist_id, uint dims, <unimplemented> boundary, H5D_append_cb_t* func, void** udata);
270 herr_t H5Pset_efile_prefix (hid_t dapl_id, const(char)* prefix);
271 ssize_t H5Pget_efile_prefix (hid_t dapl_id, char* prefix, size_t size);
272 herr_t H5Pset_data_transform (hid_t plist_id, const(char)* expression);
273 ssize_t H5Pget_data_transform (hid_t plist_id, char* expression, size_t size);
274 herr_t H5Pset_buffer (hid_t plist_id, size_t size, void* tconv, void* bkg);
275 size_t H5Pget_buffer (hid_t plist_id, void** tconv, void** bkg);
276 herr_t H5Pset_preserve (hid_t plist_id, hbool_t status);
277 int H5Pget_preserve (hid_t plist_id);
278 herr_t H5Pset_edc_check (hid_t plist_id, H5Z_EDC_t check);
279 H5Z_EDC_t H5Pget_edc_check (hid_t plist_id);
280 herr_t H5Pset_filter_callback (hid_t plist_id, H5Z_filter_func_t func, void* op_data);
281 herr_t H5Pset_btree_ratios (hid_t plist_id, double left, double middle, double right);
282 herr_t H5Pget_btree_ratios (hid_t plist_id, double* left, double* middle, double* right);
283 //herr_t H5Pset_vlen_mem_manager (hid_t plist_id, H5MM_allocate_t alloc_func, void* alloc_info, H5MM_free_t free_func, void* free_info);
284 //herr_t H5Pget_vlen_mem_manager (hid_t plist_id, H5MM_allocate_t* alloc_func, void** alloc_info, H5MM_free_t* free_func, void** free_info);
285 herr_t H5Pset_hyper_vector_size (hid_t fapl_id, size_t size);
286 herr_t H5Pget_hyper_vector_size (hid_t fapl_id, size_t* size);
287 //herr_t H5Pset_type_conv_cb (hid_t dxpl_id, H5T_conv_except_func_t op, void* operate_data);
288 //herr_t H5Pget_type_conv_cb (hid_t dxpl_id, H5T_conv_except_func_t* op, void** operate_data);
289 herr_t H5Pset_create_intermediate_group (hid_t plist_id, uint crt_intmd);
290 herr_t H5Pget_create_intermediate_group (hid_t plist_id, uint* crt_intmd);
291 herr_t H5Pset_local_heap_size_hint (hid_t plist_id, size_t size_hint);
292 herr_t H5Pget_local_heap_size_hint (hid_t plist_id, size_t* size_hint);
293 herr_t H5Pset_link_phase_change (hid_t plist_id, uint max_compact, uint min_dense);
294 herr_t H5Pget_link_phase_change (hid_t plist_id, uint* max_compact, uint* min_dense);
295 herr_t H5Pset_est_link_info (hid_t plist_id, uint est_num_entries, uint est_name_len);
296 herr_t H5Pget_est_link_info (hid_t plist_id, uint* est_num_entries, uint* est_name_len);
297 herr_t H5Pset_link_creation_order (hid_t plist_id, uint crt_order_flags);
298 herr_t H5Pget_link_creation_order (hid_t plist_id, uint* crt_order_flags);
299 herr_t H5Pset_char_encoding (hid_t plist_id, H5T_cset_t encoding);
300 herr_t H5Pget_char_encoding (hid_t plist_id, H5T_cset_t* encoding);
301 herr_t H5Pset_nlinks (hid_t plist_id, size_t nlinks);
302 herr_t H5Pget_nlinks (hid_t plist_id, size_t* nlinks);
303 herr_t H5Pset_elink_prefix (hid_t plist_id, const(char)* prefix);
304 ssize_t H5Pget_elink_prefix (hid_t plist_id, char* prefix, size_t size);
305 hid_t H5Pget_elink_fapl (hid_t lapl_id);
306 herr_t H5Pset_elink_fapl (hid_t lapl_id, hid_t fapl_id);
307 herr_t H5Pset_elink_acc_flags (hid_t lapl_id, uint flags);
308 herr_t H5Pget_elink_acc_flags (hid_t lapl_id, uint* flags);
309 herr_t H5Pset_elink_cb (hid_t lapl_id, H5L_elink_traverse_t func, void* op_data);
310 herr_t H5Pget_elink_cb (hid_t lapl_id, H5L_elink_traverse_t* func, void** op_data);
311 herr_t H5Pset_copy_object (hid_t plist_id, uint crt_intmd);
312 herr_t H5Pget_copy_object (hid_t plist_id, uint* crt_intmd);
313 herr_t H5Padd_merge_committed_dtype_path (hid_t plist_id, const(char)* path);
314 herr_t H5Pfree_merge_committed_dtype_paths (hid_t plist_id);
315 //herr_t H5Pset_mcdt_search_cb (hid_t plist_id, H5O_mcdt_search_cb_t func, void* op_data);
316 //herr_t H5Pget_mcdt_search_cb (hid_t plist_id, H5O_mcdt_search_cb_t* func, void** op_data);
317 herr_t H5Pregister1 (hid_t cls_id, const(char)* name, size_t size, void* def_value, H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, H5P_prp_delete_func_t prp_del, H5P_prp_copy_func_t prp_copy, H5P_prp_close_func_t prp_close);
318 herr_t H5Pinsert1 (hid_t plist_id, const(char)* name, size_t size, void* value, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, H5P_prp_close_func_t prp_close);
319 //H5Z_filter_t H5Pget_filter1 (hid_t plist_id, uint filter, uint* flags, size_t* cd_nelmts, <unimplemented> cd_values, size_t namelen, <unimplemented> name);
320 //herr_t H5Pget_filter_by_id1 (hid_t plist_id, H5Z_filter_t id, uint* flags, size_t* cd_nelmts, <unimplemented> cd_values, size_t namelen, <unimplemented> name);
321 herr_t H5Pget_version (hid_t plist_id, uint* boot, uint* freelist, uint* stab, uint* shhdr);