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);