1 module hdf5.H5Tpublic; 2 3 import core.stdc.config; 4 5 import hdf5.H5public; 6 import hdf5.H5Ipublic; 7 8 extern (C): 9 10 /* 11 * The predefined native types. These are the types detected by H5detect and 12 * they violate the naming scheme a little. Instead of a class name, 13 * precision and byte order as the last component, they have a C-like type 14 * name. If the type begins with `U' then it is the unsigned version of the 15 * integer type; other integer types are signed. The type LLONG corresponds 16 * to C's `long long' and LDOUBLE is `long double' (these types might be the 17 * same as `LONG' and `DOUBLE' respectively). 18 */ 19 alias H5T_NATIVE_SCHAR = H5T_NATIVE_SCHAR_g; 20 alias H5T_NATIVE_UCHAR = H5T_NATIVE_UCHAR_g; 21 alias H5T_NATIVE_SHORT = H5T_NATIVE_SHORT_g; 22 alias H5T_NATIVE_USHORT = H5T_NATIVE_USHORT_g; 23 alias H5T_NATIVE_INT = H5T_NATIVE_INT_g; 24 alias H5T_NATIVE_UINT = H5T_NATIVE_UINT_g; 25 alias H5T_NATIVE_LONG = H5T_NATIVE_LONG_g; 26 alias H5T_NATIVE_ULONG = H5T_NATIVE_ULONG_g; 27 alias H5T_NATIVE_LLONG = H5T_NATIVE_LLONG_g; 28 alias H5T_NATIVE_ULLONG = H5T_NATIVE_ULLONG_g; 29 alias H5T_NATIVE_FLOAT = H5T_NATIVE_FLOAT_g; 30 alias H5T_NATIVE_DOUBLE = H5T_NATIVE_DOUBLE_g; 31 alias H5T_NATIVE_B8 = H5T_NATIVE_B8_g; 32 alias H5T_NATIVE_B16 = H5T_NATIVE_B16_g; 33 alias H5T_NATIVE_B32 = H5T_NATIVE_B32_g; 34 alias H5T_NATIVE_B64 = H5T_NATIVE_B64_g; 35 alias H5T_NATIVE_OPAQUE = H5T_NATIVE_OPAQUE_g; 36 alias H5T_NATIVE_HADDR = H5T_NATIVE_HADDR_g; 37 alias H5T_NATIVE_HSIZE = H5T_NATIVE_HSIZE_g; 38 alias H5T_NATIVE_HSSIZE = H5T_NATIVE_HSSIZE_g; 39 alias H5T_NATIVE_HERR = H5T_NATIVE_HERR_g; 40 alias H5T_NATIVE_HBOOL = H5T_NATIVE_HBOOL_g; 41 42 //alias H5T_class_t H5T_class_t; 43 //alias H5T_order_t H5T_order_t; 44 //alias H5T_sign_t H5T_sign_t; 45 //alias H5T_norm_t H5T_norm_t; 46 //alias H5T_cset_t H5T_cset_t; 47 //alias H5T_str_t H5T_str_t; 48 //alias H5T_pad_t H5T_pad_t; 49 //alias H5T_cmd_t H5T_cmd_t; 50 //alias H5T_bkg_t H5T_bkg_t; 51 //alias H5T_cdata_t H5T_cdata_t; 52 //alias H5T_pers_t H5T_pers_t; 53 //alias H5T_direction_t H5T_direction_t; 54 //alias H5T_conv_except_t H5T_conv_except_t; 55 //alias H5T_conv_ret_t H5T_conv_ret_t; 56 alias _Anonymous_0 hvl_t; 57 alias int function (c_long, c_long, H5T_cdata_t*, c_ulong, c_ulong, c_ulong, void*, void*, c_long) H5T_conv_t; 58 alias H5T_conv_ret_t function (H5T_conv_except_t, c_long, c_long, void*, void*, void*) H5T_conv_except_func_t; 59 60 extern __gshared hid_t H5T_IEEE_F32BE_g; 61 extern __gshared hid_t H5T_IEEE_F32LE_g; 62 extern __gshared hid_t H5T_IEEE_F64BE_g; 63 extern __gshared hid_t H5T_IEEE_F64LE_g; 64 extern __gshared hid_t H5T_STD_I8BE_g; 65 extern __gshared hid_t H5T_STD_I8LE_g; 66 extern __gshared hid_t H5T_STD_I16BE_g; 67 extern __gshared hid_t H5T_STD_I16LE_g; 68 extern __gshared hid_t H5T_STD_I32BE_g; 69 extern __gshared hid_t H5T_STD_I32LE_g; 70 extern __gshared hid_t H5T_STD_I64BE_g; 71 extern __gshared hid_t H5T_STD_I64LE_g; 72 extern __gshared hid_t H5T_STD_U8BE_g; 73 extern __gshared hid_t H5T_STD_U8LE_g; 74 extern __gshared hid_t H5T_STD_U16BE_g; 75 extern __gshared hid_t H5T_STD_U16LE_g; 76 extern __gshared hid_t H5T_STD_U32BE_g; 77 extern __gshared hid_t H5T_STD_U32LE_g; 78 extern __gshared hid_t H5T_STD_U64BE_g; 79 extern __gshared hid_t H5T_STD_U64LE_g; 80 extern __gshared hid_t H5T_STD_B8BE_g; 81 extern __gshared hid_t H5T_STD_B8LE_g; 82 extern __gshared hid_t H5T_STD_B16BE_g; 83 extern __gshared hid_t H5T_STD_B16LE_g; 84 extern __gshared hid_t H5T_STD_B32BE_g; 85 extern __gshared hid_t H5T_STD_B32LE_g; 86 extern __gshared hid_t H5T_STD_B64BE_g; 87 extern __gshared hid_t H5T_STD_B64LE_g; 88 extern __gshared hid_t H5T_STD_REF_OBJ_g; 89 extern __gshared hid_t H5T_STD_REF_DSETREG_g; 90 extern __gshared hid_t H5T_UNIX_D32BE_g; 91 extern __gshared hid_t H5T_UNIX_D32LE_g; 92 extern __gshared hid_t H5T_UNIX_D64BE_g; 93 extern __gshared hid_t H5T_UNIX_D64LE_g; 94 extern __gshared hid_t H5T_C_S1_g; 95 extern __gshared hid_t H5T_FORTRAN_S1_g; 96 extern __gshared hid_t H5T_VAX_F32_g; 97 extern __gshared hid_t H5T_VAX_F64_g; 98 extern __gshared hid_t H5T_NATIVE_SCHAR_g; 99 extern __gshared hid_t H5T_NATIVE_UCHAR_g; 100 extern __gshared hid_t H5T_NATIVE_SHORT_g; 101 extern __gshared hid_t H5T_NATIVE_USHORT_g; 102 extern __gshared hid_t H5T_NATIVE_INT_g; 103 extern __gshared hid_t H5T_NATIVE_UINT_g; 104 extern __gshared hid_t H5T_NATIVE_LONG_g; 105 extern __gshared hid_t H5T_NATIVE_ULONG_g; 106 extern __gshared hid_t H5T_NATIVE_LLONG_g; 107 extern __gshared hid_t H5T_NATIVE_ULLONG_g; 108 extern __gshared hid_t H5T_NATIVE_FLOAT_g; 109 extern __gshared hid_t H5T_NATIVE_DOUBLE_g; 110 extern __gshared hid_t H5T_NATIVE_LDOUBLE_g; 111 extern __gshared hid_t H5T_NATIVE_B8_g; 112 extern __gshared hid_t H5T_NATIVE_B16_g; 113 extern __gshared hid_t H5T_NATIVE_B32_g; 114 extern __gshared hid_t H5T_NATIVE_B64_g; 115 extern __gshared hid_t H5T_NATIVE_OPAQUE_g; 116 extern __gshared hid_t H5T_NATIVE_HADDR_g; 117 extern __gshared hid_t H5T_NATIVE_HSIZE_g; 118 extern __gshared hid_t H5T_NATIVE_HSSIZE_g; 119 extern __gshared hid_t H5T_NATIVE_HERR_g; 120 extern __gshared hid_t H5T_NATIVE_HBOOL_g; 121 extern __gshared hid_t H5T_NATIVE_INT8_g; 122 extern __gshared hid_t H5T_NATIVE_UINT8_g; 123 extern __gshared hid_t H5T_NATIVE_INT_LEAST8_g; 124 extern __gshared hid_t H5T_NATIVE_UINT_LEAST8_g; 125 extern __gshared hid_t H5T_NATIVE_INT_FAST8_g; 126 extern __gshared hid_t H5T_NATIVE_UINT_FAST8_g; 127 extern __gshared hid_t H5T_NATIVE_INT16_g; 128 extern __gshared hid_t H5T_NATIVE_UINT16_g; 129 extern __gshared hid_t H5T_NATIVE_INT_LEAST16_g; 130 extern __gshared hid_t H5T_NATIVE_UINT_LEAST16_g; 131 extern __gshared hid_t H5T_NATIVE_INT_FAST16_g; 132 extern __gshared hid_t H5T_NATIVE_UINT_FAST16_g; 133 extern __gshared hid_t H5T_NATIVE_INT32_g; 134 extern __gshared hid_t H5T_NATIVE_UINT32_g; 135 extern __gshared hid_t H5T_NATIVE_INT_LEAST32_g; 136 extern __gshared hid_t H5T_NATIVE_UINT_LEAST32_g; 137 extern __gshared hid_t H5T_NATIVE_INT_FAST32_g; 138 extern __gshared hid_t H5T_NATIVE_UINT_FAST32_g; 139 extern __gshared hid_t H5T_NATIVE_INT64_g; 140 extern __gshared hid_t H5T_NATIVE_UINT64_g; 141 extern __gshared hid_t H5T_NATIVE_INT_LEAST64_g; 142 extern __gshared hid_t H5T_NATIVE_UINT_LEAST64_g; 143 extern __gshared hid_t H5T_NATIVE_INT_FAST64_g; 144 extern __gshared hid_t H5T_NATIVE_UINT_FAST64_g; 145 146 enum H5T_class_t 147 { 148 H5T_NO_CLASS = -1, 149 H5T_INTEGER = 0, 150 H5T_FLOAT = 1, 151 H5T_TIME = 2, 152 H5T_STRING = 3, 153 H5T_BITFIELD = 4, 154 H5T_OPAQUE = 5, 155 H5T_COMPOUND = 6, 156 H5T_REFERENCE = 7, 157 H5T_ENUM = 8, 158 H5T_VLEN = 9, 159 H5T_ARRAY = 10, 160 H5T_NCLASSES = 11 161 } 162 163 enum H5T_order_t 164 { 165 H5T_ORDER_ERROR = -1, 166 H5T_ORDER_LE = 0, 167 H5T_ORDER_BE = 1, 168 H5T_ORDER_VAX = 2, 169 H5T_ORDER_MIXED = 3, 170 H5T_ORDER_NONE = 4 171 } 172 173 enum H5T_sign_t 174 { 175 H5T_SGN_ERROR = -1, 176 H5T_SGN_NONE = 0, 177 H5T_SGN_2 = 1, 178 H5T_NSGN = 2 179 } 180 181 enum H5T_norm_t 182 { 183 H5T_NORM_ERROR = -1, 184 H5T_NORM_IMPLIED = 0, 185 H5T_NORM_MSBSET = 1, 186 H5T_NORM_NONE = 2 187 } 188 189 enum H5T_cset_t 190 { 191 H5T_CSET_ERROR = -1, 192 H5T_CSET_ASCII = 0, 193 H5T_CSET_UTF8 = 1, 194 H5T_CSET_RESERVED_2 = 2, 195 H5T_CSET_RESERVED_3 = 3, 196 H5T_CSET_RESERVED_4 = 4, 197 H5T_CSET_RESERVED_5 = 5, 198 H5T_CSET_RESERVED_6 = 6, 199 H5T_CSET_RESERVED_7 = 7, 200 H5T_CSET_RESERVED_8 = 8, 201 H5T_CSET_RESERVED_9 = 9, 202 H5T_CSET_RESERVED_10 = 10, 203 H5T_CSET_RESERVED_11 = 11, 204 H5T_CSET_RESERVED_12 = 12, 205 H5T_CSET_RESERVED_13 = 13, 206 H5T_CSET_RESERVED_14 = 14, 207 H5T_CSET_RESERVED_15 = 15 208 } 209 210 enum H5T_str_t 211 { 212 H5T_STR_ERROR = -1, 213 H5T_STR_NULLTERM = 0, 214 H5T_STR_NULLPAD = 1, 215 H5T_STR_SPACEPAD = 2, 216 H5T_STR_RESERVED_3 = 3, 217 H5T_STR_RESERVED_4 = 4, 218 H5T_STR_RESERVED_5 = 5, 219 H5T_STR_RESERVED_6 = 6, 220 H5T_STR_RESERVED_7 = 7, 221 H5T_STR_RESERVED_8 = 8, 222 H5T_STR_RESERVED_9 = 9, 223 H5T_STR_RESERVED_10 = 10, 224 H5T_STR_RESERVED_11 = 11, 225 H5T_STR_RESERVED_12 = 12, 226 H5T_STR_RESERVED_13 = 13, 227 H5T_STR_RESERVED_14 = 14, 228 H5T_STR_RESERVED_15 = 15 229 } 230 231 enum H5T_pad_t 232 { 233 H5T_PAD_ERROR = -1, 234 H5T_PAD_ZERO = 0, 235 H5T_PAD_ONE = 1, 236 H5T_PAD_BACKGROUND = 2, 237 H5T_NPAD = 3 238 } 239 240 enum H5T_cmd_t 241 { 242 H5T_CONV_INIT = 0, 243 H5T_CONV_CONV = 1, 244 H5T_CONV_FREE = 2 245 } 246 247 enum H5T_bkg_t 248 { 249 H5T_BKG_NO = 0, 250 H5T_BKG_TEMP = 1, 251 H5T_BKG_YES = 2 252 } 253 254 enum H5T_pers_t 255 { 256 H5T_PERS_DONTCARE = -1, 257 H5T_PERS_HARD = 0, 258 H5T_PERS_SOFT = 1 259 } 260 261 enum H5T_direction_t 262 { 263 H5T_DIR_DEFAULT = 0, 264 H5T_DIR_ASCEND = 1, 265 H5T_DIR_DESCEND = 2 266 } 267 268 enum H5T_conv_except_t 269 { 270 H5T_CONV_EXCEPT_RANGE_HI = 0, 271 H5T_CONV_EXCEPT_RANGE_LOW = 1, 272 H5T_CONV_EXCEPT_PRECISION = 2, 273 H5T_CONV_EXCEPT_TRUNCATE = 3, 274 H5T_CONV_EXCEPT_PINF = 4, 275 H5T_CONV_EXCEPT_NINF = 5, 276 H5T_CONV_EXCEPT_NAN = 6 277 } 278 279 enum H5T_conv_ret_t 280 { 281 H5T_CONV_ABORT = -1, 282 H5T_CONV_UNHANDLED = 0, 283 H5T_CONV_HANDLED = 1 284 } 285 286 struct H5T_cdata_t 287 { 288 H5T_cmd_t command; 289 H5T_bkg_t need_bkg; 290 hbool_t recalc; 291 void* priv; 292 } 293 294 struct _Anonymous_0 295 { 296 size_t len; 297 void* p; 298 } 299 300 hid_t H5Tcreate (H5T_class_t type, size_t size); 301 hid_t H5Tcopy (hid_t type_id); 302 herr_t H5Tclose (hid_t type_id); 303 htri_t H5Tequal (hid_t type1_id, hid_t type2_id); 304 herr_t H5Tlock (hid_t type_id); 305 herr_t H5Tcommit2 (hid_t loc_id, const(char)* name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id); 306 hid_t H5Topen2 (hid_t loc_id, const(char)* name, hid_t tapl_id); 307 herr_t H5Tcommit_anon (hid_t loc_id, hid_t type_id, hid_t tcpl_id, hid_t tapl_id); 308 hid_t H5Tget_create_plist (hid_t type_id); 309 htri_t H5Tcommitted (hid_t type_id); 310 herr_t H5Tencode (hid_t obj_id, void* buf, size_t* nalloc); 311 hid_t H5Tdecode (const(void)* buf); 312 herr_t H5Tflush (hid_t type_id); 313 herr_t H5Trefresh (hid_t type_id); 314 herr_t H5Tinsert (hid_t parent_id, const(char)* name, size_t offset, hid_t member_id); 315 herr_t H5Tpack (hid_t type_id); 316 hid_t H5Tenum_create (hid_t base_id); 317 herr_t H5Tenum_insert (hid_t type, const(char)* name, const(void)* value); 318 herr_t H5Tenum_nameof (hid_t type, const(void)* value, char* name, size_t size); 319 herr_t H5Tenum_valueof (hid_t type, const(char)* name, void* value); 320 hid_t H5Tvlen_create (hid_t base_id); 321 hid_t H5Tarray_create2 (hid_t base_id, uint ndims, const hsize_t *dim); 322 int H5Tget_array_ndims (hid_t type_id); 323 int H5Tget_array_dims2 (hid_t type_id, hsize_t *dims); 324 herr_t H5Tset_tag (hid_t type, const(char)* tag); 325 char* H5Tget_tag (hid_t type); 326 hid_t H5Tget_super (hid_t type); 327 H5T_class_t H5Tget_class (hid_t type_id); 328 htri_t H5Tdetect_class (hid_t type_id, H5T_class_t cls); 329 size_t H5Tget_size (hid_t type_id); 330 H5T_order_t H5Tget_order (hid_t type_id); 331 size_t H5Tget_precision (hid_t type_id); 332 int H5Tget_offset (hid_t type_id); 333 herr_t H5Tget_pad (hid_t type_id, H5T_pad_t* lsb, H5T_pad_t* msb); 334 H5T_sign_t H5Tget_sign (hid_t type_id); 335 herr_t H5Tget_fields (hid_t type_id, size_t* spos, size_t* epos, size_t* esize, size_t* mpos, size_t* msize); 336 size_t H5Tget_ebias (hid_t type_id); 337 H5T_norm_t H5Tget_norm (hid_t type_id); 338 H5T_pad_t H5Tget_inpad (hid_t type_id); 339 H5T_str_t H5Tget_strpad (hid_t type_id); 340 int H5Tget_nmembers (hid_t type_id); 341 char* H5Tget_member_name (hid_t type_id, uint membno); 342 int H5Tget_member_index (hid_t type_id, const(char)* name); 343 size_t H5Tget_member_offset (hid_t type_id, uint membno); 344 H5T_class_t H5Tget_member_class (hid_t type_id, uint membno); 345 hid_t H5Tget_member_type (hid_t type_id, uint membno); 346 herr_t H5Tget_member_value (hid_t type_id, uint membno, void* value); 347 H5T_cset_t H5Tget_cset (hid_t type_id); 348 htri_t H5Tis_variable_str (hid_t type_id); 349 hid_t H5Tget_native_type (hid_t type_id, H5T_direction_t direction); 350 herr_t H5Tset_size (hid_t type_id, size_t size); 351 herr_t H5Tset_order (hid_t type_id, H5T_order_t order); 352 herr_t H5Tset_precision (hid_t type_id, size_t prec); 353 herr_t H5Tset_offset (hid_t type_id, size_t offset); 354 herr_t H5Tset_pad (hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb); 355 herr_t H5Tset_sign (hid_t type_id, H5T_sign_t sign); 356 herr_t H5Tset_fields (hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize); 357 herr_t H5Tset_ebias (hid_t type_id, size_t ebias); 358 herr_t H5Tset_norm (hid_t type_id, H5T_norm_t norm); 359 herr_t H5Tset_inpad (hid_t type_id, H5T_pad_t pad); 360 herr_t H5Tset_cset (hid_t type_id, H5T_cset_t cset); 361 herr_t H5Tset_strpad (hid_t type_id, H5T_str_t strpad); 362 herr_t H5Tregister (H5T_pers_t pers, const(char)* name, hid_t src_id, hid_t dst_id, H5T_conv_t func); 363 herr_t H5Tunregister (H5T_pers_t pers, const(char)* name, hid_t src_id, hid_t dst_id, H5T_conv_t func); 364 H5T_conv_t H5Tfind (hid_t src_id, hid_t dst_id, H5T_cdata_t** pcdata); 365 htri_t H5Tcompiler_conv (hid_t src_id, hid_t dst_id); 366 herr_t H5Tconvert (hid_t src_id, hid_t dst_id, size_t nelmts, void* buf, void* background, hid_t plist_id); 367 herr_t H5Tcommit1 (hid_t loc_id, const(char)* name, hid_t type_id); 368 hid_t H5Topen1 (hid_t loc_id, const(char)* name); 369 hid_t H5Tarray_create1 (hid_t base_id, int ndims, const hsize_t *dim, const int perm); 370 int H5Tget_array_dims1 (hid_t type_id, hsize_t *dims, int perm);