1use std::mem;
3
4pub use self::H5T_bkg_t::*;
5pub use self::H5T_class_t::*;
6pub use self::H5T_cmd_t::*;
7pub use self::H5T_conv_except_t::*;
8pub use self::H5T_conv_ret_t::*;
9pub use self::H5T_cset_t::*;
10pub use self::H5T_direction_t::*;
11pub use self::H5T_norm_t::*;
12pub use self::H5T_order_t::*;
13pub use self::H5T_pad_t::*;
14pub use self::H5T_pers_t::*;
15pub use self::H5T_sign_t::*;
16pub use self::H5T_str_t::*;
17pub use {
18 H5Tarray_create2 as H5Tarray_create, H5Tcommit2 as H5Tcommit,
19 H5Tget_array_dims2 as H5Tget_array_dims, H5Topen2 as H5Topen,
20};
21
22use crate::internal_prelude::*;
23
24#[repr(C)]
25#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
26pub enum H5T_class_t {
27 H5T_NO_CLASS = -1,
28 H5T_INTEGER = 0,
29 H5T_FLOAT = 1,
30 H5T_TIME = 2,
31 H5T_STRING = 3,
32 H5T_BITFIELD = 4,
33 H5T_OPAQUE = 5,
34 H5T_COMPOUND = 6,
35 H5T_REFERENCE = 7,
36 H5T_ENUM = 8,
37 H5T_VLEN = 9,
38 H5T_ARRAY = 10,
39 H5T_NCLASSES = 11,
40}
41
42#[cfg(feature = "1.8.6")]
43#[repr(C)]
44#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
45pub enum H5T_order_t {
46 H5T_ORDER_ERROR = -1,
47 H5T_ORDER_LE = 0,
48 H5T_ORDER_BE = 1,
49 H5T_ORDER_VAX = 2,
50 H5T_ORDER_MIXED = 3,
51 H5T_ORDER_NONE = 4,
52}
53
54#[cfg(not(feature = "1.8.6"))]
55#[repr(C)]
56#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
57pub enum H5T_order_t {
58 H5T_ORDER_ERROR = -1,
59 H5T_ORDER_LE = 0,
60 H5T_ORDER_BE = 1,
61 H5T_ORDER_VAX = 2,
62 H5T_ORDER_NONE = 3,
63}
64
65#[repr(C)]
66#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
67pub enum H5T_sign_t {
68 H5T_SGN_ERROR = -1,
69 H5T_SGN_NONE = 0,
70 H5T_SGN_2 = 1,
71 H5T_NSGN = 2,
72}
73
74#[repr(C)]
75#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
76pub enum H5T_norm_t {
77 H5T_NORM_ERROR = -1,
78 H5T_NORM_IMPLIED = 0,
79 H5T_NORM_MSBSET = 1,
80 H5T_NORM_NONE = 2,
81}
82
83#[repr(C)]
84#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
85pub enum H5T_cset_t {
86 H5T_CSET_ERROR = -1,
87 H5T_CSET_ASCII = 0,
88 H5T_CSET_UTF8 = 1,
89 H5T_CSET_RESERVED_2 = 2,
90 H5T_CSET_RESERVED_3 = 3,
91 H5T_CSET_RESERVED_4 = 4,
92 H5T_CSET_RESERVED_5 = 5,
93 H5T_CSET_RESERVED_6 = 6,
94 H5T_CSET_RESERVED_7 = 7,
95 H5T_CSET_RESERVED_8 = 8,
96 H5T_CSET_RESERVED_9 = 9,
97 H5T_CSET_RESERVED_10 = 10,
98 H5T_CSET_RESERVED_11 = 11,
99 H5T_CSET_RESERVED_12 = 12,
100 H5T_CSET_RESERVED_13 = 13,
101 H5T_CSET_RESERVED_14 = 14,
102 H5T_CSET_RESERVED_15 = 15,
103}
104
105impl Default for H5T_cset_t {
106 fn default() -> Self {
107 H5T_cset_t::H5T_CSET_ASCII
108 }
109}
110
111pub const H5T_NCSET: H5T_cset_t = H5T_CSET_RESERVED_2;
112
113#[repr(C)]
114#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
115pub enum H5T_str_t {
116 H5T_STR_ERROR = -1,
117 H5T_STR_NULLTERM = 0,
118 H5T_STR_NULLPAD = 1,
119 H5T_STR_SPACEPAD = 2,
120 H5T_STR_RESERVED_3 = 3,
121 H5T_STR_RESERVED_4 = 4,
122 H5T_STR_RESERVED_5 = 5,
123 H5T_STR_RESERVED_6 = 6,
124 H5T_STR_RESERVED_7 = 7,
125 H5T_STR_RESERVED_8 = 8,
126 H5T_STR_RESERVED_9 = 9,
127 H5T_STR_RESERVED_10 = 10,
128 H5T_STR_RESERVED_11 = 11,
129 H5T_STR_RESERVED_12 = 12,
130 H5T_STR_RESERVED_13 = 13,
131 H5T_STR_RESERVED_14 = 14,
132 H5T_STR_RESERVED_15 = 15,
133}
134
135pub const H5T_NSTR: H5T_str_t = H5T_STR_RESERVED_3;
136
137#[repr(C)]
138#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
139pub enum H5T_pad_t {
140 H5T_PAD_ERROR = -1,
141 H5T_PAD_ZERO = 0,
142 H5T_PAD_ONE = 1,
143 H5T_PAD_BACKGROUND = 2,
144 H5T_NPAD = 3,
145}
146
147#[repr(C)]
148#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
149pub enum H5T_cmd_t {
150 H5T_CONV_INIT = 0,
151 H5T_CONV_CONV = 1,
152 H5T_CONV_FREE = 2,
153}
154
155#[repr(C)]
156#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
157pub enum H5T_bkg_t {
158 H5T_BKG_NO = 0,
159 H5T_BKG_TEMP = 1,
160 H5T_BKG_YES = 2,
161}
162
163#[repr(C)]
164#[derive(Debug, Copy, Clone)]
165pub struct H5T_cdata_t {
166 pub command: H5T_cmd_t,
167 pub need_bkg: H5T_bkg_t,
168 pub recalc: hbool_t,
169 pub _priv: *mut c_void,
170}
171
172impl Default for H5T_cdata_t {
173 fn default() -> Self {
174 unsafe { mem::zeroed() }
175 }
176}
177
178#[repr(C)]
179#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
180pub enum H5T_pers_t {
181 H5T_PERS_DONTCARE = -1,
182 H5T_PERS_HARD = 0,
183 H5T_PERS_SOFT = 1,
184}
185
186#[repr(C)]
187#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
188pub enum H5T_direction_t {
189 H5T_DIR_DEFAULT = 0,
190 H5T_DIR_ASCEND = 1,
191 H5T_DIR_DESCEND = 2,
192}
193
194#[repr(C)]
195#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
196pub enum H5T_conv_except_t {
197 H5T_CONV_EXCEPT_RANGE_HI = 0,
198 H5T_CONV_EXCEPT_RANGE_LOW = 1,
199 H5T_CONV_EXCEPT_PRECISION = 2,
200 H5T_CONV_EXCEPT_TRUNCATE = 3,
201 H5T_CONV_EXCEPT_PINF = 4,
202 H5T_CONV_EXCEPT_NINF = 5,
203 H5T_CONV_EXCEPT_NAN = 6,
204}
205
206#[repr(C)]
207#[derive(Copy, Clone, PartialEq, PartialOrd, Debug)]
208pub enum H5T_conv_ret_t {
209 H5T_CONV_ABORT = -1,
210 H5T_CONV_UNHANDLED = 0,
211 H5T_CONV_HANDLED = 1,
212}
213
214#[repr(C)]
215#[derive(Debug, Copy, Clone)]
216pub struct hvl_t {
217 pub len: size_t,
218 pub p: *mut c_void,
219}
220
221impl Default for hvl_t {
222 fn default() -> Self {
223 unsafe { mem::zeroed() }
224 }
225}
226
227pub const H5T_VARIABLE: size_t = !0;
228
229pub const H5T_OPAQUE_TAG_MAX: c_uint = 256;
230
231pub type H5T_conv_t = Option<
232 extern "C" fn(
233 src_id: hid_t,
234 dst_id: hid_t,
235 cdata: *mut H5T_cdata_t,
236 nelmts: size_t,
237 buf_stride: size_t,
238 bkg_stride: size_t,
239 buf: *mut c_void,
240 bkg: *mut c_void,
241 dset_xfer_plist: hid_t,
242 ) -> herr_t,
243>;
244pub type H5T_conv_except_func_t = Option<
245 extern "C" fn(
246 except_type: H5T_conv_except_t,
247 src_id: hid_t,
248 dst_id: hid_t,
249 src_buf: *mut c_void,
250 dst_buf: *mut c_void,
251 user_data: *mut c_void,
252 ) -> H5T_conv_ret_t,
253>;
254
255extern "C" {
256 pub fn H5Tcreate(type_: H5T_class_t, size: size_t) -> hid_t;
257 pub fn H5Tcopy(type_id: hid_t) -> hid_t;
258 pub fn H5Tclose(type_id: hid_t) -> herr_t;
259 pub fn H5Tequal(type1_id: hid_t, type2_id: hid_t) -> htri_t;
260 pub fn H5Tlock(type_id: hid_t) -> herr_t;
261 pub fn H5Tcommit2(
262 loc_id: hid_t, name: *const c_char, type_id: hid_t, lcpl_id: hid_t, tcpl_id: hid_t,
263 tapl_id: hid_t,
264 ) -> herr_t;
265 pub fn H5Topen2(loc_id: hid_t, name: *const c_char, tapl_id: hid_t) -> hid_t;
266 pub fn H5Tcommit_anon(loc_id: hid_t, type_id: hid_t, tcpl_id: hid_t, tapl_id: hid_t) -> herr_t;
267 pub fn H5Tget_create_plist(type_id: hid_t) -> hid_t;
268 pub fn H5Tcommitted(type_id: hid_t) -> htri_t;
269 pub fn H5Tencode(obj_id: hid_t, buf: *mut c_void, nalloc: *mut size_t) -> herr_t;
270 pub fn H5Tdecode(buf: *const c_void) -> hid_t;
271 pub fn H5Tinsert(
272 parent_id: hid_t, name: *const c_char, offset: size_t, member_id: hid_t,
273 ) -> herr_t;
274 pub fn H5Tpack(type_id: hid_t) -> herr_t;
275 pub fn H5Tenum_create(base_id: hid_t) -> hid_t;
276 pub fn H5Tenum_insert(type_: hid_t, name: *const c_char, value: *const c_void) -> herr_t;
277 pub fn H5Tenum_nameof(
278 type_: hid_t, value: *const c_void, name: *mut c_char, size: size_t,
279 ) -> herr_t;
280 pub fn H5Tenum_valueof(type_: hid_t, name: *const c_char, value: *mut c_void) -> herr_t;
281 pub fn H5Tvlen_create(base_id: hid_t) -> hid_t;
282 pub fn H5Tarray_create2(base_id: hid_t, ndims: c_uint, dim: *const hsize_t) -> hid_t;
283 pub fn H5Tget_array_ndims(type_id: hid_t) -> c_int;
284 pub fn H5Tget_array_dims2(type_id: hid_t, dims: *mut hsize_t) -> c_int;
285 pub fn H5Tset_tag(type_: hid_t, tag: *const c_char) -> herr_t;
286 pub fn H5Tget_tag(type_: hid_t) -> *mut c_char;
287 pub fn H5Tget_super(type_: hid_t) -> hid_t;
288 pub fn H5Tget_class(type_id: hid_t) -> H5T_class_t;
289 pub fn H5Tdetect_class(type_id: hid_t, cls: H5T_class_t) -> htri_t;
290 pub fn H5Tget_size(type_id: hid_t) -> size_t;
291 pub fn H5Tget_order(type_id: hid_t) -> H5T_order_t;
292 pub fn H5Tget_precision(type_id: hid_t) -> size_t;
293 pub fn H5Tget_offset(type_id: hid_t) -> c_int;
294 pub fn H5Tget_pad(type_id: hid_t, lsb: *mut H5T_pad_t, msb: *mut H5T_pad_t) -> herr_t;
295 pub fn H5Tget_sign(type_id: hid_t) -> H5T_sign_t;
296 pub fn H5Tget_fields(
297 type_id: hid_t, spos: *mut size_t, epos: *mut size_t, esize: *mut size_t,
298 mpos: *mut size_t, msize: *mut size_t,
299 ) -> herr_t;
300 pub fn H5Tget_ebias(type_id: hid_t) -> size_t;
301 pub fn H5Tget_norm(type_id: hid_t) -> H5T_norm_t;
302 pub fn H5Tget_inpad(type_id: hid_t) -> H5T_pad_t;
303 pub fn H5Tget_strpad(type_id: hid_t) -> H5T_str_t;
304 pub fn H5Tget_nmembers(type_id: hid_t) -> c_int;
305 pub fn H5Tget_member_name(type_id: hid_t, membno: c_uint) -> *mut c_char;
306 pub fn H5Tget_member_index(type_id: hid_t, name: *const c_char) -> c_int;
307 pub fn H5Tget_member_offset(type_id: hid_t, membno: c_uint) -> size_t;
308 pub fn H5Tget_member_class(type_id: hid_t, membno: c_uint) -> H5T_class_t;
309 pub fn H5Tget_member_type(type_id: hid_t, membno: c_uint) -> hid_t;
310 pub fn H5Tget_member_value(type_id: hid_t, membno: c_uint, value: *mut c_void) -> herr_t;
311 pub fn H5Tget_cset(type_id: hid_t) -> H5T_cset_t;
312 pub fn H5Tis_variable_str(type_id: hid_t) -> htri_t;
313 pub fn H5Tget_native_type(type_id: hid_t, direction: H5T_direction_t) -> hid_t;
314 pub fn H5Tset_size(type_id: hid_t, size: size_t) -> herr_t;
315 pub fn H5Tset_order(type_id: hid_t, order: H5T_order_t) -> herr_t;
316 pub fn H5Tset_precision(type_id: hid_t, prec: size_t) -> herr_t;
317 pub fn H5Tset_offset(type_id: hid_t, offset: size_t) -> herr_t;
318 pub fn H5Tset_pad(type_id: hid_t, lsb: H5T_pad_t, msb: H5T_pad_t) -> herr_t;
319 pub fn H5Tset_sign(type_id: hid_t, sign: H5T_sign_t) -> herr_t;
320 pub fn H5Tset_fields(
321 type_id: hid_t, spos: size_t, epos: size_t, esize: size_t, mpos: size_t, msize: size_t,
322 ) -> herr_t;
323 pub fn H5Tset_ebias(type_id: hid_t, ebias: size_t) -> herr_t;
324 pub fn H5Tset_norm(type_id: hid_t, norm: H5T_norm_t) -> herr_t;
325 pub fn H5Tset_inpad(type_id: hid_t, pad: H5T_pad_t) -> herr_t;
326 pub fn H5Tset_cset(type_id: hid_t, cset: H5T_cset_t) -> herr_t;
327 pub fn H5Tset_strpad(type_id: hid_t, strpad: H5T_str_t) -> herr_t;
328 pub fn H5Tregister(
329 pers: H5T_pers_t, name: *const c_char, src_id: hid_t, dst_id: hid_t, func: H5T_conv_t,
330 ) -> herr_t;
331 pub fn H5Tunregister(
332 pers: H5T_pers_t, name: *const c_char, src_id: hid_t, dst_id: hid_t, func: H5T_conv_t,
333 ) -> herr_t;
334 pub fn H5Tfind(src_id: hid_t, dst_id: hid_t, pcdata: *mut *mut H5T_cdata_t) -> H5T_conv_t;
335 pub fn H5Tcompiler_conv(src_id: hid_t, dst_id: hid_t) -> htri_t;
336 pub fn H5Tconvert(
337 src_id: hid_t, dst_id: hid_t, nelmts: size_t, buf: *mut c_void, background: *mut c_void,
338 plist_id: hid_t,
339 ) -> herr_t;
340 #[deprecated(note = "deprecated since HDF5 1.8.0, use H5Tcommit2")]
341 pub fn H5Tcommit1(loc_id: hid_t, name: *const c_char, type_id: hid_t) -> herr_t;
342 #[deprecated(note = "deprecated since HDF5 1.8.0, use H5Tcommit2")]
343 pub fn H5Topen1(loc_id: hid_t, name: *const c_char) -> hid_t;
344 #[deprecated(note = "deprecated since HDF5 1.8.0, use H5Tarray_create2")]
345 pub fn H5Tarray_create1(
346 base_id: hid_t, ndims: c_int, dim: *const hsize_t, perm: *const c_int,
347 ) -> hid_t;
348 #[deprecated(note = "deprecated since HDF5 1.8.0, use H5Tget_array_dims2")]
349 pub fn H5Tget_array_dims1(type_id: hid_t, dims: *mut hsize_t, perm: *mut c_int) -> c_int;
350}
351
352pub use self::globals::*;
353
354#[cfg(not(all(target_env = "msvc", not(feature = "static"))))]
355mod globals {
356 pub use crate::h5i::hid_t as id_t;
357
358 extern_static!(H5T_IEEE_F32BE, H5T_IEEE_F32BE_g);
360 extern_static!(H5T_IEEE_F32LE, H5T_IEEE_F32LE_g);
361 extern_static!(H5T_IEEE_F64BE, H5T_IEEE_F64BE_g);
362 extern_static!(H5T_IEEE_F64LE, H5T_IEEE_F64LE_g);
363 extern_static!(H5T_STD_I8BE, H5T_STD_I8BE_g);
364 extern_static!(H5T_STD_I8LE, H5T_STD_I8LE_g);
365 extern_static!(H5T_STD_I16BE, H5T_STD_I16BE_g);
366 extern_static!(H5T_STD_I16LE, H5T_STD_I16LE_g);
367 extern_static!(H5T_STD_I32BE, H5T_STD_I32BE_g);
368 extern_static!(H5T_STD_I32LE, H5T_STD_I32LE_g);
369 extern_static!(H5T_STD_I64BE, H5T_STD_I64BE_g);
370 extern_static!(H5T_STD_I64LE, H5T_STD_I64LE_g);
371 extern_static!(H5T_STD_U8BE, H5T_STD_U8BE_g);
372 extern_static!(H5T_STD_U8LE, H5T_STD_U8LE_g);
373 extern_static!(H5T_STD_U16BE, H5T_STD_U16BE_g);
374 extern_static!(H5T_STD_U16LE, H5T_STD_U16LE_g);
375 extern_static!(H5T_STD_U32BE, H5T_STD_U32BE_g);
376 extern_static!(H5T_STD_U32LE, H5T_STD_U32LE_g);
377 extern_static!(H5T_STD_U64BE, H5T_STD_U64BE_g);
378 extern_static!(H5T_STD_U64LE, H5T_STD_U64LE_g);
379 extern_static!(H5T_STD_B8BE, H5T_STD_B8BE_g);
380 extern_static!(H5T_STD_B8LE, H5T_STD_B8LE_g);
381 extern_static!(H5T_STD_B16BE, H5T_STD_B16BE_g);
382 extern_static!(H5T_STD_B16LE, H5T_STD_B16LE_g);
383 extern_static!(H5T_STD_B32BE, H5T_STD_B32BE_g);
384 extern_static!(H5T_STD_B32LE, H5T_STD_B32LE_g);
385 extern_static!(H5T_STD_B64BE, H5T_STD_B64BE_g);
386 extern_static!(H5T_STD_B64LE, H5T_STD_B64LE_g);
387 extern_static!(H5T_STD_REF_OBJ, H5T_STD_REF_OBJ_g);
388 extern_static!(H5T_STD_REF_DSETREG, H5T_STD_REF_DSETREG_g);
389 extern_static!(H5T_UNIX_D32BE, H5T_UNIX_D32BE_g);
390 extern_static!(H5T_UNIX_D32LE, H5T_UNIX_D32LE_g);
391 extern_static!(H5T_UNIX_D64BE, H5T_UNIX_D64BE_g);
392 extern_static!(H5T_UNIX_D64LE, H5T_UNIX_D64LE_g);
393 extern_static!(H5T_C_S1, H5T_C_S1_g);
394 extern_static!(H5T_FORTRAN_S1, H5T_FORTRAN_S1_g);
395 extern_static!(H5T_VAX_F32, H5T_VAX_F32_g);
396 extern_static!(H5T_VAX_F64, H5T_VAX_F64_g);
397 extern_static!(H5T_NATIVE_SCHAR, H5T_NATIVE_SCHAR_g);
398 extern_static!(H5T_NATIVE_UCHAR, H5T_NATIVE_UCHAR_g);
399 extern_static!(H5T_NATIVE_SHORT, H5T_NATIVE_SHORT_g);
400 extern_static!(H5T_NATIVE_USHORT, H5T_NATIVE_USHORT_g);
401 extern_static!(H5T_NATIVE_INT, H5T_NATIVE_INT_g);
402 extern_static!(H5T_NATIVE_UINT, H5T_NATIVE_UINT_g);
403 extern_static!(H5T_NATIVE_LONG, H5T_NATIVE_LONG_g);
404 extern_static!(H5T_NATIVE_ULONG, H5T_NATIVE_ULONG_g);
405 extern_static!(H5T_NATIVE_LLONG, H5T_NATIVE_LLONG_g);
406 extern_static!(H5T_NATIVE_ULLONG, H5T_NATIVE_ULLONG_g);
407 extern_static!(H5T_NATIVE_FLOAT, H5T_NATIVE_FLOAT_g);
408 extern_static!(H5T_NATIVE_DOUBLE, H5T_NATIVE_DOUBLE_g);
409 extern_static!(H5T_NATIVE_LDOUBLE, H5T_NATIVE_LDOUBLE_g);
410 extern_static!(H5T_NATIVE_B8, H5T_NATIVE_B8_g);
411 extern_static!(H5T_NATIVE_B16, H5T_NATIVE_B16_g);
412 extern_static!(H5T_NATIVE_B32, H5T_NATIVE_B32_g);
413 extern_static!(H5T_NATIVE_B64, H5T_NATIVE_B64_g);
414 extern_static!(H5T_NATIVE_OPAQUE, H5T_NATIVE_OPAQUE_g);
415 extern_static!(H5T_NATIVE_HADDR, H5T_NATIVE_HADDR_g);
416 extern_static!(H5T_NATIVE_HSIZE, H5T_NATIVE_HSIZE_g);
417 extern_static!(H5T_NATIVE_HSSIZE, H5T_NATIVE_HSSIZE_g);
418 extern_static!(H5T_NATIVE_HERR, H5T_NATIVE_HERR_g);
419 extern_static!(H5T_NATIVE_HBOOL, H5T_NATIVE_HBOOL_g);
420 extern_static!(H5T_NATIVE_INT8, H5T_NATIVE_INT8_g);
421 extern_static!(H5T_NATIVE_UINT8, H5T_NATIVE_UINT8_g);
422 extern_static!(H5T_NATIVE_INT_LEAST8, H5T_NATIVE_INT_LEAST8_g);
423 extern_static!(H5T_NATIVE_UINT_LEAST8, H5T_NATIVE_UINT_LEAST8_g);
424 extern_static!(H5T_NATIVE_INT_FAST8, H5T_NATIVE_INT_FAST8_g);
425 extern_static!(H5T_NATIVE_UINT_FAST8, H5T_NATIVE_UINT_FAST8_g);
426 extern_static!(H5T_NATIVE_INT16, H5T_NATIVE_INT16_g);
427 extern_static!(H5T_NATIVE_UINT16, H5T_NATIVE_UINT16_g);
428 extern_static!(H5T_NATIVE_INT_LEAST16, H5T_NATIVE_INT_LEAST16_g);
429 extern_static!(H5T_NATIVE_UINT_LEAST16, H5T_NATIVE_UINT_LEAST16_g);
430 extern_static!(H5T_NATIVE_INT_FAST16, H5T_NATIVE_INT_FAST16_g);
431 extern_static!(H5T_NATIVE_UINT_FAST16, H5T_NATIVE_UINT_FAST16_g);
432 extern_static!(H5T_NATIVE_INT32, H5T_NATIVE_INT32_g);
433 extern_static!(H5T_NATIVE_UINT32, H5T_NATIVE_UINT32_g);
434 extern_static!(H5T_NATIVE_INT_LEAST32, H5T_NATIVE_INT_LEAST32_g);
435 extern_static!(H5T_NATIVE_UINT_LEAST32, H5T_NATIVE_UINT_LEAST32_g);
436 extern_static!(H5T_NATIVE_INT_FAST32, H5T_NATIVE_INT_FAST32_g);
437 extern_static!(H5T_NATIVE_UINT_FAST32, H5T_NATIVE_UINT_FAST32_g);
438 extern_static!(H5T_NATIVE_INT64, H5T_NATIVE_INT64_g);
439 extern_static!(H5T_NATIVE_UINT64, H5T_NATIVE_UINT64_g);
440 extern_static!(H5T_NATIVE_INT_LEAST64, H5T_NATIVE_INT_LEAST64_g);
441 extern_static!(H5T_NATIVE_UINT_LEAST64, H5T_NATIVE_UINT_LEAST64_g);
442 extern_static!(H5T_NATIVE_INT_FAST64, H5T_NATIVE_INT_FAST64_g);
443 extern_static!(H5T_NATIVE_UINT_FAST64, H5T_NATIVE_UINT_FAST64_g);
444 #[cfg(feature = "1.12.0")]
445 extern_static!(H5T_STD_REF, H5T_STD_REF_g);
446}
447
448#[cfg(all(target_env = "msvc", not(feature = "static")))]
449mod globals {
450 pub type id_t = usize;
452
453 extern_static!(H5T_IEEE_F32BE, __imp_H5T_IEEE_F32BE_g);
455 extern_static!(H5T_IEEE_F32LE, __imp_H5T_IEEE_F32LE_g);
456 extern_static!(H5T_IEEE_F64BE, __imp_H5T_IEEE_F64BE_g);
457 extern_static!(H5T_IEEE_F64LE, __imp_H5T_IEEE_F64LE_g);
458 extern_static!(H5T_STD_I8BE, __imp_H5T_STD_I8BE_g);
459 extern_static!(H5T_STD_I8LE, __imp_H5T_STD_I8LE_g);
460 extern_static!(H5T_STD_I16BE, __imp_H5T_STD_I16BE_g);
461 extern_static!(H5T_STD_I16LE, __imp_H5T_STD_I16LE_g);
462 extern_static!(H5T_STD_I32BE, __imp_H5T_STD_I32BE_g);
463 extern_static!(H5T_STD_I32LE, __imp_H5T_STD_I32LE_g);
464 extern_static!(H5T_STD_I64BE, __imp_H5T_STD_I64BE_g);
465 extern_static!(H5T_STD_I64LE, __imp_H5T_STD_I64LE_g);
466 extern_static!(H5T_STD_U8BE, __imp_H5T_STD_U8BE_g);
467 extern_static!(H5T_STD_U8LE, __imp_H5T_STD_U8LE_g);
468 extern_static!(H5T_STD_U16BE, __imp_H5T_STD_U16BE_g);
469 extern_static!(H5T_STD_U16LE, __imp_H5T_STD_U16LE_g);
470 extern_static!(H5T_STD_U32BE, __imp_H5T_STD_U32BE_g);
471 extern_static!(H5T_STD_U32LE, __imp_H5T_STD_U32LE_g);
472 extern_static!(H5T_STD_U64BE, __imp_H5T_STD_U64BE_g);
473 extern_static!(H5T_STD_U64LE, __imp_H5T_STD_U64LE_g);
474 extern_static!(H5T_STD_B8BE, __imp_H5T_STD_B8BE_g);
475 extern_static!(H5T_STD_B8LE, __imp_H5T_STD_B8LE_g);
476 extern_static!(H5T_STD_B16BE, __imp_H5T_STD_B16BE_g);
477 extern_static!(H5T_STD_B16LE, __imp_H5T_STD_B16LE_g);
478 extern_static!(H5T_STD_B32BE, __imp_H5T_STD_B32BE_g);
479 extern_static!(H5T_STD_B32LE, __imp_H5T_STD_B32LE_g);
480 extern_static!(H5T_STD_B64BE, __imp_H5T_STD_B64BE_g);
481 extern_static!(H5T_STD_B64LE, __imp_H5T_STD_B64LE_g);
482 extern_static!(H5T_STD_REF_OBJ, __imp_H5T_STD_REF_OBJ_g);
483 extern_static!(H5T_STD_REF_DSETREG, __imp_H5T_STD_REF_DSETREG_g);
484 extern_static!(H5T_UNIX_D32BE, __imp_H5T_UNIX_D32BE_g);
485 extern_static!(H5T_UNIX_D32LE, __imp_H5T_UNIX_D32LE_g);
486 extern_static!(H5T_UNIX_D64BE, __imp_H5T_UNIX_D64BE_g);
487 extern_static!(H5T_UNIX_D64LE, __imp_H5T_UNIX_D64LE_g);
488 extern_static!(H5T_C_S1, __imp_H5T_C_S1_g);
489 extern_static!(H5T_FORTRAN_S1, __imp_H5T_FORTRAN_S1_g);
490 extern_static!(H5T_VAX_F32, __imp_H5T_VAX_F32_g);
491 extern_static!(H5T_VAX_F64, __imp_H5T_VAX_F64_g);
492 extern_static!(H5T_NATIVE_SCHAR, __imp_H5T_NATIVE_SCHAR_g);
493 extern_static!(H5T_NATIVE_UCHAR, __imp_H5T_NATIVE_UCHAR_g);
494 extern_static!(H5T_NATIVE_SHORT, __imp_H5T_NATIVE_SHORT_g);
495 extern_static!(H5T_NATIVE_USHORT, __imp_H5T_NATIVE_USHORT_g);
496 extern_static!(H5T_NATIVE_INT, __imp_H5T_NATIVE_INT_g);
497 extern_static!(H5T_NATIVE_UINT, __imp_H5T_NATIVE_UINT_g);
498 extern_static!(H5T_NATIVE_LONG, __imp_H5T_NATIVE_LONG_g);
499 extern_static!(H5T_NATIVE_ULONG, __imp_H5T_NATIVE_ULONG_g);
500 extern_static!(H5T_NATIVE_LLONG, __imp_H5T_NATIVE_LLONG_g);
501 extern_static!(H5T_NATIVE_ULLONG, __imp_H5T_NATIVE_ULLONG_g);
502 extern_static!(H5T_NATIVE_FLOAT, __imp_H5T_NATIVE_FLOAT_g);
503 extern_static!(H5T_NATIVE_DOUBLE, __imp_H5T_NATIVE_DOUBLE_g);
504 extern_static!(H5T_NATIVE_LDOUBLE, __imp_H5T_NATIVE_LDOUBLE_g);
505 extern_static!(H5T_NATIVE_B8, __imp_H5T_NATIVE_B8_g);
506 extern_static!(H5T_NATIVE_B16, __imp_H5T_NATIVE_B16_g);
507 extern_static!(H5T_NATIVE_B32, __imp_H5T_NATIVE_B32_g);
508 extern_static!(H5T_NATIVE_B64, __imp_H5T_NATIVE_B64_g);
509 extern_static!(H5T_NATIVE_OPAQUE, __imp_H5T_NATIVE_OPAQUE_g);
510 extern_static!(H5T_NATIVE_HADDR, __imp_H5T_NATIVE_HADDR_g);
511 extern_static!(H5T_NATIVE_HSIZE, __imp_H5T_NATIVE_HSIZE_g);
512 extern_static!(H5T_NATIVE_HSSIZE, __imp_H5T_NATIVE_HSSIZE_g);
513 extern_static!(H5T_NATIVE_HERR, __imp_H5T_NATIVE_HERR_g);
514 extern_static!(H5T_NATIVE_HBOOL, __imp_H5T_NATIVE_HBOOL_g);
515 extern_static!(H5T_NATIVE_INT8, __imp_H5T_NATIVE_INT8_g);
516 extern_static!(H5T_NATIVE_UINT8, __imp_H5T_NATIVE_UINT8_g);
517 extern_static!(H5T_NATIVE_INT_LEAST8, __imp_H5T_NATIVE_INT_LEAST8_g);
518 extern_static!(H5T_NATIVE_UINT_LEAST8, __imp_H5T_NATIVE_UINT_LEAST8_g);
519 extern_static!(H5T_NATIVE_INT_FAST8, __imp_H5T_NATIVE_INT_FAST8_g);
520 extern_static!(H5T_NATIVE_UINT_FAST8, __imp_H5T_NATIVE_UINT_FAST8_g);
521 extern_static!(H5T_NATIVE_INT16, __imp_H5T_NATIVE_INT16_g);
522 extern_static!(H5T_NATIVE_UINT16, __imp_H5T_NATIVE_UINT16_g);
523 extern_static!(H5T_NATIVE_INT_LEAST16, __imp_H5T_NATIVE_INT_LEAST16_g);
524 extern_static!(H5T_NATIVE_UINT_LEAST16, __imp_H5T_NATIVE_UINT_LEAST16_g);
525 extern_static!(H5T_NATIVE_INT_FAST16, __imp_H5T_NATIVE_INT_FAST16_g);
526 extern_static!(H5T_NATIVE_UINT_FAST16, __imp_H5T_NATIVE_UINT_FAST16_g);
527 extern_static!(H5T_NATIVE_INT32, __imp_H5T_NATIVE_INT32_g);
528 extern_static!(H5T_NATIVE_UINT32, __imp_H5T_NATIVE_UINT32_g);
529 extern_static!(H5T_NATIVE_INT_LEAST32, __imp_H5T_NATIVE_INT_LEAST32_g);
530 extern_static!(H5T_NATIVE_UINT_LEAST32, __imp_H5T_NATIVE_UINT_LEAST32_g);
531 extern_static!(H5T_NATIVE_INT_FAST32, __imp_H5T_NATIVE_INT_FAST32_g);
532 extern_static!(H5T_NATIVE_UINT_FAST32, __imp_H5T_NATIVE_UINT_FAST32_g);
533 extern_static!(H5T_NATIVE_INT64, __imp_H5T_NATIVE_INT64_g);
534 extern_static!(H5T_NATIVE_UINT64, __imp_H5T_NATIVE_UINT64_g);
535 extern_static!(H5T_NATIVE_INT_LEAST64, __imp_H5T_NATIVE_INT_LEAST64_g);
536 extern_static!(H5T_NATIVE_UINT_LEAST64, __imp_H5T_NATIVE_UINT_LEAST64_g);
537 extern_static!(H5T_NATIVE_INT_FAST64, __imp_H5T_NATIVE_INT_FAST64_g);
538 extern_static!(H5T_NATIVE_UINT_FAST64, __imp_H5T_NATIVE_UINT_FAST64_g);
539 #[cfg(feature = "1.12.0")]
540 extern_static!(H5T_STD_REF, __imp_H5T_STD_REF_g);
541}
542
543#[cfg(feature = "1.10.0")]
544extern "C" {
545 pub fn H5Tflush(type_id: hid_t) -> herr_t;
546 pub fn H5Trefresh(type_id: hid_t) -> herr_t;
547}
548
549#[cfg(feature = "1.12.0")]
550extern "C" {
551 pub fn H5Treclaim(type_id: hid_t, space_id: hid_t, dxpl_id: hid_t, buf: *mut c_void) -> herr_t;
552}