1 module hdf5.H5Zpublic; 2 3 import core.stdc.config; 4 5 import hdf5.H5public; 6 import hdf5.H5Ipublic; 7 import hdf5.H5Tpublic; 8 9 extern (C): 10 11 alias int H5Z_filter_t; 12 //alias H5Z_SO_scale_type_t H5Z_SO_scale_type_t; 13 //alias H5Z_EDC_t H5Z_EDC_t; 14 //alias H5Z_cb_return_t H5Z_cb_return_t; 15 alias H5Z_cb_return_t function (int, void*, c_ulong, void*) H5Z_filter_func_t; 16 //alias H5Z_cb_t H5Z_cb_t; 17 alias int function (c_long, c_long, c_long) H5Z_can_apply_func_t; 18 alias int function (c_long, c_long, c_long) H5Z_set_local_func_t; 19 alias c_ulong function (uint, c_ulong, const(uint)*, c_ulong, c_ulong*, void**) H5Z_func_t; 20 //alias H5Z_class2_t H5Z_class2_t; 21 //alias H5Z_class1_t H5Z_class1_t; 22 23 enum H5Z_SO_scale_type_t 24 { 25 H5Z_SO_FLOAT_DSCALE = 0, 26 H5Z_SO_FLOAT_ESCALE = 1, 27 H5Z_SO_INT = 2 28 } 29 30 enum H5Z_EDC_t 31 { 32 H5Z_ERROR_EDC = -1, 33 H5Z_DISABLE_EDC = 0, 34 H5Z_ENABLE_EDC = 1, 35 H5Z_NO_EDC = 2 36 } 37 38 enum H5Z_cb_return_t 39 { 40 H5Z_CB_ERROR = -1, 41 H5Z_CB_FAIL = 0, 42 H5Z_CB_CONT = 1, 43 H5Z_CB_NO = 2 44 } 45 46 struct H5Z_cb_t 47 { 48 H5Z_filter_func_t func; 49 void* op_data; 50 } 51 52 struct H5Z_class2_t 53 { 54 int version_; 55 H5Z_filter_t id; 56 uint encoder_present; 57 uint decoder_present; 58 const(char)* name; 59 H5Z_can_apply_func_t can_apply; 60 H5Z_set_local_func_t set_local; 61 H5Z_func_t filter; 62 } 63 64 struct H5Z_class1_t 65 { 66 H5Z_filter_t id; 67 const(char)* name; 68 H5Z_can_apply_func_t can_apply; 69 H5Z_set_local_func_t set_local; 70 H5Z_func_t filter; 71 } 72 73 herr_t H5Zregister (const(void)* cls); 74 herr_t H5Zunregister (H5Z_filter_t id); 75 htri_t H5Zfilter_avail (H5Z_filter_t id); 76 herr_t H5Zget_filter_info (H5Z_filter_t filter, uint* filter_config_flags);