HDF5  1.12.0
H5Tpublic.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group. *
3  * Copyright by the Board of Trustees of the University of Illinois. *
4  * All rights reserved. *
5  * *
6  * This file is part of HDF5. The full HDF5 copyright notice, including *
7  * terms governing use, modification, and redistribution, is contained in *
8  * the COPYING file, which can be found at the root of the source code *
9  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
10  * If you do not have access to either file, you may request a copy from *
11  * help@hdfgroup.org. *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 /*
15  * This file contains public declarations for the H5T module.
16  */
17 #ifndef _H5Tpublic_H
18 #define _H5Tpublic_H
19 
20 /* Public headers needed by this file */
21 #include "H5public.h"
22 #include "H5Ipublic.h"
23 
24 #define HOFFSET(S,M) (offsetof(S,M))
25 
26 /* These are the various classes of datatypes */
27 /* If this goes over 16 types (0-15), the file format will need to change) */
28 typedef enum H5T_class_t {
29  H5T_NO_CLASS = -1, /*error */
30  H5T_INTEGER = 0, /*integer types */
31  H5T_FLOAT = 1, /*floating-point types */
32  H5T_TIME = 2, /*date and time types */
33  H5T_STRING = 3, /*character string types */
34  H5T_BITFIELD = 4, /*bit field types */
35  H5T_OPAQUE = 5, /*opaque types */
36  H5T_COMPOUND = 6, /*compound types */
37  H5T_REFERENCE = 7, /*reference types */
38  H5T_ENUM = 8, /*enumeration types */
39  H5T_VLEN = 9, /*Variable-Length types */
40  H5T_ARRAY = 10, /*Array types */
41 
42  H5T_NCLASSES /*this must be last */
44 
45 /* Byte orders */
46 typedef enum H5T_order_t {
47  H5T_ORDER_ERROR = -1, /*error */
48  H5T_ORDER_LE = 0, /*little endian */
49  H5T_ORDER_BE = 1, /*bit endian */
50  H5T_ORDER_VAX = 2, /*VAX mixed endian */
51  H5T_ORDER_MIXED = 3, /*Compound type with mixed member orders */
52  H5T_ORDER_NONE = 4 /*no particular order (strings, bits,..) */
53  /*H5T_ORDER_NONE must be last */
55 
56 /* Types of integer sign schemes */
57 typedef enum H5T_sign_t {
58  H5T_SGN_ERROR = -1, /*error */
59  H5T_SGN_NONE = 0, /*this is an unsigned type */
60  H5T_SGN_2 = 1, /*two's complement */
61 
62  H5T_NSGN = 2 /*this must be last! */
64 
65 /* Floating-point normalization schemes */
66 typedef enum H5T_norm_t {
67  H5T_NORM_ERROR = -1, /*error */
68  H5T_NORM_IMPLIED = 0, /*msb of mantissa isn't stored, always 1 */
69  H5T_NORM_MSBSET = 1, /*msb of mantissa is always 1 */
70  H5T_NORM_NONE = 2 /*not normalized */
71  /*H5T_NORM_NONE must be last */
73 
74 /*
75  * Character set to use for text strings. Do not change these values since
76  * they appear in HDF5 files!
77  */
78 typedef enum H5T_cset_t {
79  H5T_CSET_ERROR = -1, /*error */
80  H5T_CSET_ASCII = 0, /*US ASCII */
81  H5T_CSET_UTF8 = 1, /*UTF-8 Unicode encoding */
82  H5T_CSET_RESERVED_2 = 2, /*reserved for later use */
83  H5T_CSET_RESERVED_3 = 3, /*reserved for later use */
84  H5T_CSET_RESERVED_4 = 4, /*reserved for later use */
85  H5T_CSET_RESERVED_5 = 5, /*reserved for later use */
86  H5T_CSET_RESERVED_6 = 6, /*reserved for later use */
87  H5T_CSET_RESERVED_7 = 7, /*reserved for later use */
88  H5T_CSET_RESERVED_8 = 8, /*reserved for later use */
89  H5T_CSET_RESERVED_9 = 9, /*reserved for later use */
90  H5T_CSET_RESERVED_10 = 10, /*reserved for later use */
91  H5T_CSET_RESERVED_11 = 11, /*reserved for later use */
92  H5T_CSET_RESERVED_12 = 12, /*reserved for later use */
93  H5T_CSET_RESERVED_13 = 13, /*reserved for later use */
94  H5T_CSET_RESERVED_14 = 14, /*reserved for later use */
95  H5T_CSET_RESERVED_15 = 15 /*reserved for later use */
97 #define H5T_NCSET H5T_CSET_RESERVED_2 /*Number of character sets actually defined */
98 
99 /*
100  * Type of padding to use in character strings. Do not change these values
101  * since they appear in HDF5 files!
102  */
103 typedef enum H5T_str_t {
104  H5T_STR_ERROR = -1, /*error */
105  H5T_STR_NULLTERM = 0, /*null terminate like in C */
106  H5T_STR_NULLPAD = 1, /*pad with nulls */
107  H5T_STR_SPACEPAD = 2, /*pad with spaces like in Fortran */
108  H5T_STR_RESERVED_3 = 3, /*reserved for later use */
109  H5T_STR_RESERVED_4 = 4, /*reserved for later use */
110  H5T_STR_RESERVED_5 = 5, /*reserved for later use */
111  H5T_STR_RESERVED_6 = 6, /*reserved for later use */
112  H5T_STR_RESERVED_7 = 7, /*reserved for later use */
113  H5T_STR_RESERVED_8 = 8, /*reserved for later use */
114  H5T_STR_RESERVED_9 = 9, /*reserved for later use */
115  H5T_STR_RESERVED_10 = 10, /*reserved for later use */
116  H5T_STR_RESERVED_11 = 11, /*reserved for later use */
117  H5T_STR_RESERVED_12 = 12, /*reserved for later use */
118  H5T_STR_RESERVED_13 = 13, /*reserved for later use */
119  H5T_STR_RESERVED_14 = 14, /*reserved for later use */
120  H5T_STR_RESERVED_15 = 15 /*reserved for later use */
122 #define H5T_NSTR H5T_STR_RESERVED_3 /*num H5T_str_t types actually defined */
123 
124 /* Type of padding to use in other atomic types */
125 typedef enum H5T_pad_t {
126  H5T_PAD_ERROR = -1, /*error */
127  H5T_PAD_ZERO = 0, /*always set to zero */
128  H5T_PAD_ONE = 1, /*always set to one */
129  H5T_PAD_BACKGROUND = 2, /*set to background value */
130 
131  H5T_NPAD = 3 /*THIS MUST BE LAST */
133 
134 /* Commands sent to conversion functions */
135 typedef enum H5T_cmd_t {
136  H5T_CONV_INIT = 0, /*query and/or initialize private data */
137  H5T_CONV_CONV = 1, /*convert data from source to dest datatype */
138  H5T_CONV_FREE = 2 /*function is being removed from path */
140 
141 /* How is the `bkg' buffer used by the conversion function? */
142 typedef enum H5T_bkg_t {
143  H5T_BKG_NO = 0, /*background buffer is not needed, send NULL */
144  H5T_BKG_TEMP = 1, /*bkg buffer used as temp storage only */
145  H5T_BKG_YES = 2 /*init bkg buf with data before conversion */
147 
148 /* Type conversion client data */
149 typedef struct H5T_cdata_t {
150  H5T_cmd_t command;/*what should the conversion function do? */
151  H5T_bkg_t need_bkg;/*is the background buffer needed? */
152  hbool_t recalc; /*recalculate private data */
153  void *priv; /*private data */
155 
156 /* Conversion function persistence */
157 typedef enum H5T_pers_t {
158  H5T_PERS_DONTCARE = -1, /*wild card */
159  H5T_PERS_HARD = 0, /*hard conversion function */
160  H5T_PERS_SOFT = 1 /*soft conversion function */
162 
163 /* The order to retrieve atomic native datatype */
164 typedef enum H5T_direction_t {
165  H5T_DIR_DEFAULT = 0, /*default direction is inscendent */
166  H5T_DIR_ASCEND = 1, /*in inscendent order */
167  H5T_DIR_DESCEND = 2 /*in descendent order */
169 
170 /* The exception type passed into the conversion callback function */
171 typedef enum H5T_conv_except_t {
172  H5T_CONV_EXCEPT_RANGE_HI = 0, /*source value is greater than destination's range */
173  H5T_CONV_EXCEPT_RANGE_LOW = 1, /*source value is less than destination's range */
174  H5T_CONV_EXCEPT_PRECISION = 2, /*source value loses precision in destination */
175  H5T_CONV_EXCEPT_TRUNCATE = 3, /*source value is truncated in destination */
176  H5T_CONV_EXCEPT_PINF = 4, /*source value is positive infinity(floating number) */
177  H5T_CONV_EXCEPT_NINF = 5, /*source value is negative infinity(floating number) */
178  H5T_CONV_EXCEPT_NAN = 6 /*source value is NaN(floating number) */
180 
181 /* The return value from conversion callback function H5T_conv_except_func_t */
182 typedef enum H5T_conv_ret_t {
183  H5T_CONV_ABORT = -1, /*abort conversion */
184  H5T_CONV_UNHANDLED = 0, /*callback function failed to handle the exception */
185  H5T_CONV_HANDLED = 1 /*callback function handled the exception successfully */
187 
188 /* Variable Length Datatype struct in memory */
189 /* (This is only used for VL sequences, not VL strings, which are stored in char *'s) */
190 typedef struct {
191  size_t len; /* Length of VL data (in base type units) */
192  void *p; /* Pointer to VL data */
193 } hvl_t;
194 
195 /* Variable Length String information */
196 #define H5T_VARIABLE ((size_t)(-1)) /* Indicate that a string is variable length (null-terminated in C, instead of fixed length) */
197 
198 /* Opaque information */
199 #define H5T_OPAQUE_TAG_MAX 256 /* Maximum length of an opaque tag */
200  /* This could be raised without too much difficulty */
201 
202 #ifdef __cplusplus
203 extern "C" {
204 #endif
205 
206 /* All datatype conversion functions are... */
207 typedef herr_t (*H5T_conv_t) (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
208  size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf,
209  void *bkg, hid_t dset_xfer_plist);
210 
211 /* Exception handler. If an exception like overflow happenes during conversion,
212  * this function is called if it's registered through H5Pset_type_conv_cb.
213  */
215  hid_t src_id, hid_t dst_id, void *src_buf, void *dst_buf, void *user_data);
216 
217 /* When this header is included from a private header, don't make calls to H5open() */
218 #undef H5OPEN
219 #ifndef _H5private_H
220 #define H5OPEN H5open(),
221 #else /* _H5private_H */
222 #define H5OPEN
223 #endif /* _H5private_H */
224 
225 /*
226  * The IEEE floating point types in various byte orders.
227  */
228 #define H5T_IEEE_F32BE (H5OPEN H5T_IEEE_F32BE_g)
229 #define H5T_IEEE_F32LE (H5OPEN H5T_IEEE_F32LE_g)
230 #define H5T_IEEE_F64BE (H5OPEN H5T_IEEE_F64BE_g)
231 #define H5T_IEEE_F64LE (H5OPEN H5T_IEEE_F64LE_g)
236 
237 /*
238  * These are "standard" types. For instance, signed (2's complement) and
239  * unsigned integers of various sizes and byte orders.
240  */
241 #define H5T_STD_I8BE (H5OPEN H5T_STD_I8BE_g)
242 #define H5T_STD_I8LE (H5OPEN H5T_STD_I8LE_g)
243 #define H5T_STD_I16BE (H5OPEN H5T_STD_I16BE_g)
244 #define H5T_STD_I16LE (H5OPEN H5T_STD_I16LE_g)
245 #define H5T_STD_I32BE (H5OPEN H5T_STD_I32BE_g)
246 #define H5T_STD_I32LE (H5OPEN H5T_STD_I32LE_g)
247 #define H5T_STD_I64BE (H5OPEN H5T_STD_I64BE_g)
248 #define H5T_STD_I64LE (H5OPEN H5T_STD_I64LE_g)
249 #define H5T_STD_U8BE (H5OPEN H5T_STD_U8BE_g)
250 #define H5T_STD_U8LE (H5OPEN H5T_STD_U8LE_g)
251 #define H5T_STD_U16BE (H5OPEN H5T_STD_U16BE_g)
252 #define H5T_STD_U16LE (H5OPEN H5T_STD_U16LE_g)
253 #define H5T_STD_U32BE (H5OPEN H5T_STD_U32BE_g)
254 #define H5T_STD_U32LE (H5OPEN H5T_STD_U32LE_g)
255 #define H5T_STD_U64BE (H5OPEN H5T_STD_U64BE_g)
256 #define H5T_STD_U64LE (H5OPEN H5T_STD_U64LE_g)
257 #define H5T_STD_B8BE (H5OPEN H5T_STD_B8BE_g)
258 #define H5T_STD_B8LE (H5OPEN H5T_STD_B8LE_g)
259 #define H5T_STD_B16BE (H5OPEN H5T_STD_B16BE_g)
260 #define H5T_STD_B16LE (H5OPEN H5T_STD_B16LE_g)
261 #define H5T_STD_B32BE (H5OPEN H5T_STD_B32BE_g)
262 #define H5T_STD_B32LE (H5OPEN H5T_STD_B32LE_g)
263 #define H5T_STD_B64BE (H5OPEN H5T_STD_B64BE_g)
264 #define H5T_STD_B64LE (H5OPEN H5T_STD_B64LE_g)
265 #define H5T_STD_REF_OBJ (H5OPEN H5T_STD_REF_OBJ_g)
266 #define H5T_STD_REF_DSETREG (H5OPEN H5T_STD_REF_DSETREG_g)
267 #define H5T_STD_REF (H5OPEN H5T_STD_REF_g)
295 
296 /*
297  * Types which are particular to Unix.
298  */
299 #define H5T_UNIX_D32BE (H5OPEN H5T_UNIX_D32BE_g)
300 #define H5T_UNIX_D32LE (H5OPEN H5T_UNIX_D32LE_g)
301 #define H5T_UNIX_D64BE (H5OPEN H5T_UNIX_D64BE_g)
302 #define H5T_UNIX_D64LE (H5OPEN H5T_UNIX_D64LE_g)
307 
308 /*
309  * Types particular to the C language. String types use `bytes' instead
310  * of `bits' as their size.
311  */
312 #define H5T_C_S1 (H5OPEN H5T_C_S1_g)
314 
315 /*
316  * Types particular to Fortran.
317  */
318 #define H5T_FORTRAN_S1 (H5OPEN H5T_FORTRAN_S1_g)
320 
321 /*
322  * These types are for Intel CPU's. They are little endian with IEEE
323  * floating point.
324  */
325 #define H5T_INTEL_I8 H5T_STD_I8LE
326 #define H5T_INTEL_I16 H5T_STD_I16LE
327 #define H5T_INTEL_I32 H5T_STD_I32LE
328 #define H5T_INTEL_I64 H5T_STD_I64LE
329 #define H5T_INTEL_U8 H5T_STD_U8LE
330 #define H5T_INTEL_U16 H5T_STD_U16LE
331 #define H5T_INTEL_U32 H5T_STD_U32LE
332 #define H5T_INTEL_U64 H5T_STD_U64LE
333 #define H5T_INTEL_B8 H5T_STD_B8LE
334 #define H5T_INTEL_B16 H5T_STD_B16LE
335 #define H5T_INTEL_B32 H5T_STD_B32LE
336 #define H5T_INTEL_B64 H5T_STD_B64LE
337 #define H5T_INTEL_F32 H5T_IEEE_F32LE
338 #define H5T_INTEL_F64 H5T_IEEE_F64LE
339 
340 /*
341  * These types are for DEC Alpha CPU's. They are little endian with IEEE
342  * floating point.
343  */
344 #define H5T_ALPHA_I8 H5T_STD_I8LE
345 #define H5T_ALPHA_I16 H5T_STD_I16LE
346 #define H5T_ALPHA_I32 H5T_STD_I32LE
347 #define H5T_ALPHA_I64 H5T_STD_I64LE
348 #define H5T_ALPHA_U8 H5T_STD_U8LE
349 #define H5T_ALPHA_U16 H5T_STD_U16LE
350 #define H5T_ALPHA_U32 H5T_STD_U32LE
351 #define H5T_ALPHA_U64 H5T_STD_U64LE
352 #define H5T_ALPHA_B8 H5T_STD_B8LE
353 #define H5T_ALPHA_B16 H5T_STD_B16LE
354 #define H5T_ALPHA_B32 H5T_STD_B32LE
355 #define H5T_ALPHA_B64 H5T_STD_B64LE
356 #define H5T_ALPHA_F32 H5T_IEEE_F32LE
357 #define H5T_ALPHA_F64 H5T_IEEE_F64LE
358 
359 /*
360  * These types are for MIPS cpu's commonly used in SGI systems. They are big
361  * endian with IEEE floating point.
362  */
363 #define H5T_MIPS_I8 H5T_STD_I8BE
364 #define H5T_MIPS_I16 H5T_STD_I16BE
365 #define H5T_MIPS_I32 H5T_STD_I32BE
366 #define H5T_MIPS_I64 H5T_STD_I64BE
367 #define H5T_MIPS_U8 H5T_STD_U8BE
368 #define H5T_MIPS_U16 H5T_STD_U16BE
369 #define H5T_MIPS_U32 H5T_STD_U32BE
370 #define H5T_MIPS_U64 H5T_STD_U64BE
371 #define H5T_MIPS_B8 H5T_STD_B8BE
372 #define H5T_MIPS_B16 H5T_STD_B16BE
373 #define H5T_MIPS_B32 H5T_STD_B32BE
374 #define H5T_MIPS_B64 H5T_STD_B64BE
375 #define H5T_MIPS_F32 H5T_IEEE_F32BE
376 #define H5T_MIPS_F64 H5T_IEEE_F64BE
377 
378 /*
379  * The VAX floating point types (i.e. in VAX byte order)
380  */
381 #define H5T_VAX_F32 (H5OPEN H5T_VAX_F32_g)
382 #define H5T_VAX_F64 (H5OPEN H5T_VAX_F64_g)
385 
386 /*
387  * The predefined native types. These are the types detected by H5detect and
388  * they violate the naming scheme a little. Instead of a class name,
389  * precision and byte order as the last component, they have a C-like type
390  * name. If the type begins with `U' then it is the unsigned version of the
391  * integer type; other integer types are signed. The type LLONG corresponds
392  * to C's `long long' and LDOUBLE is `long double' (these types might be the
393  * same as `LONG' and `DOUBLE' respectively).
394  */
395 #define H5T_NATIVE_CHAR (CHAR_MIN?H5T_NATIVE_SCHAR:H5T_NATIVE_UCHAR)
396 #define H5T_NATIVE_SCHAR (H5OPEN H5T_NATIVE_SCHAR_g)
397 #define H5T_NATIVE_UCHAR (H5OPEN H5T_NATIVE_UCHAR_g)
398 #define H5T_NATIVE_SHORT (H5OPEN H5T_NATIVE_SHORT_g)
399 #define H5T_NATIVE_USHORT (H5OPEN H5T_NATIVE_USHORT_g)
400 #define H5T_NATIVE_INT (H5OPEN H5T_NATIVE_INT_g)
401 #define H5T_NATIVE_UINT (H5OPEN H5T_NATIVE_UINT_g)
402 #define H5T_NATIVE_LONG (H5OPEN H5T_NATIVE_LONG_g)
403 #define H5T_NATIVE_ULONG (H5OPEN H5T_NATIVE_ULONG_g)
404 #define H5T_NATIVE_LLONG (H5OPEN H5T_NATIVE_LLONG_g)
405 #define H5T_NATIVE_ULLONG (H5OPEN H5T_NATIVE_ULLONG_g)
406 #define H5T_NATIVE_FLOAT (H5OPEN H5T_NATIVE_FLOAT_g)
407 #define H5T_NATIVE_DOUBLE (H5OPEN H5T_NATIVE_DOUBLE_g)
408 #if H5_SIZEOF_LONG_DOUBLE !=0
409 #define H5T_NATIVE_LDOUBLE (H5OPEN H5T_NATIVE_LDOUBLE_g)
410 #endif
411 #define H5T_NATIVE_B8 (H5OPEN H5T_NATIVE_B8_g)
412 #define H5T_NATIVE_B16 (H5OPEN H5T_NATIVE_B16_g)
413 #define H5T_NATIVE_B32 (H5OPEN H5T_NATIVE_B32_g)
414 #define H5T_NATIVE_B64 (H5OPEN H5T_NATIVE_B64_g)
415 #define H5T_NATIVE_OPAQUE (H5OPEN H5T_NATIVE_OPAQUE_g)
416 #define H5T_NATIVE_HADDR (H5OPEN H5T_NATIVE_HADDR_g)
417 #define H5T_NATIVE_HSIZE (H5OPEN H5T_NATIVE_HSIZE_g)
418 #define H5T_NATIVE_HSSIZE (H5OPEN H5T_NATIVE_HSSIZE_g)
419 #define H5T_NATIVE_HERR (H5OPEN H5T_NATIVE_HERR_g)
420 #define H5T_NATIVE_HBOOL (H5OPEN H5T_NATIVE_HBOOL_g)
433 #if H5_SIZEOF_LONG_DOUBLE !=0
434 H5_DLLVAR hid_t H5T_NATIVE_LDOUBLE_g;
435 #endif
446 
447 /* C9x integer types */
448 #define H5T_NATIVE_INT8 (H5OPEN H5T_NATIVE_INT8_g)
449 #define H5T_NATIVE_UINT8 (H5OPEN H5T_NATIVE_UINT8_g)
450 #define H5T_NATIVE_INT_LEAST8 (H5OPEN H5T_NATIVE_INT_LEAST8_g)
451 #define H5T_NATIVE_UINT_LEAST8 (H5OPEN H5T_NATIVE_UINT_LEAST8_g)
452 #define H5T_NATIVE_INT_FAST8 (H5OPEN H5T_NATIVE_INT_FAST8_g)
453 #define H5T_NATIVE_UINT_FAST8 (H5OPEN H5T_NATIVE_UINT_FAST8_g)
460 
461 #define H5T_NATIVE_INT16 (H5OPEN H5T_NATIVE_INT16_g)
462 #define H5T_NATIVE_UINT16 (H5OPEN H5T_NATIVE_UINT16_g)
463 #define H5T_NATIVE_INT_LEAST16 (H5OPEN H5T_NATIVE_INT_LEAST16_g)
464 #define H5T_NATIVE_UINT_LEAST16 (H5OPEN H5T_NATIVE_UINT_LEAST16_g)
465 #define H5T_NATIVE_INT_FAST16 (H5OPEN H5T_NATIVE_INT_FAST16_g)
466 #define H5T_NATIVE_UINT_FAST16 (H5OPEN H5T_NATIVE_UINT_FAST16_g)
473 
474 #define H5T_NATIVE_INT32 (H5OPEN H5T_NATIVE_INT32_g)
475 #define H5T_NATIVE_UINT32 (H5OPEN H5T_NATIVE_UINT32_g)
476 #define H5T_NATIVE_INT_LEAST32 (H5OPEN H5T_NATIVE_INT_LEAST32_g)
477 #define H5T_NATIVE_UINT_LEAST32 (H5OPEN H5T_NATIVE_UINT_LEAST32_g)
478 #define H5T_NATIVE_INT_FAST32 (H5OPEN H5T_NATIVE_INT_FAST32_g)
479 #define H5T_NATIVE_UINT_FAST32 (H5OPEN H5T_NATIVE_UINT_FAST32_g)
486 
487 #define H5T_NATIVE_INT64 (H5OPEN H5T_NATIVE_INT64_g)
488 #define H5T_NATIVE_UINT64 (H5OPEN H5T_NATIVE_UINT64_g)
489 #define H5T_NATIVE_INT_LEAST64 (H5OPEN H5T_NATIVE_INT_LEAST64_g)
490 #define H5T_NATIVE_UINT_LEAST64 (H5OPEN H5T_NATIVE_UINT_LEAST64_g)
491 #define H5T_NATIVE_INT_FAST64 (H5OPEN H5T_NATIVE_INT_FAST64_g)
492 #define H5T_NATIVE_UINT_FAST64 (H5OPEN H5T_NATIVE_UINT_FAST64_g)
499 
500 /* Operations defined on all datatypes */
501 H5_DLL hid_t H5Tcreate(H5T_class_t type, size_t size);
502 H5_DLL hid_t H5Tcopy(hid_t type_id);
503 H5_DLL herr_t H5Tclose(hid_t type_id);
504 H5_DLL htri_t H5Tequal(hid_t type1_id, hid_t type2_id);
505 H5_DLL herr_t H5Tlock(hid_t type_id);
506 H5_DLL herr_t H5Tcommit2(hid_t loc_id, const char *name, hid_t type_id,
507  hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id);
508 H5_DLL hid_t H5Topen2(hid_t loc_id, const char *name, hid_t tapl_id);
509 H5_DLL herr_t H5Tcommit_anon(hid_t loc_id, hid_t type_id, hid_t tcpl_id, hid_t tapl_id);
512 H5_DLL herr_t H5Tencode(hid_t obj_id, void *buf, size_t *nalloc);
513 H5_DLL hid_t H5Tdecode(const void *buf);
514 H5_DLL herr_t H5Tflush(hid_t type_id);
515 H5_DLL herr_t H5Trefresh(hid_t type_id);
516 
517 /* Operations defined on compound datatypes */
518 H5_DLL herr_t H5Tinsert(hid_t parent_id, const char *name, size_t offset,
519  hid_t member_id);
520 H5_DLL herr_t H5Tpack(hid_t type_id);
521 
522 /* Operations defined on enumeration datatypes */
524 H5_DLL herr_t H5Tenum_insert(hid_t type, const char *name, const void *value);
525 H5_DLL herr_t H5Tenum_nameof(hid_t type, const void *value, char *name/*out*/,
526  size_t size);
527 H5_DLL herr_t H5Tenum_valueof(hid_t type, const char *name,
528  void *value/*out*/);
529 
530 /* Operations defined on variable-length datatypes */
532 
533 /* Operations defined on array datatypes */
534 H5_DLL hid_t H5Tarray_create2(hid_t base_id, unsigned ndims,
535  const hsize_t dim[/* ndims */]);
536 H5_DLL int H5Tget_array_ndims(hid_t type_id);
537 H5_DLL int H5Tget_array_dims2(hid_t type_id, hsize_t dims[]);
538 
539 /* Operations defined on opaque datatypes */
540 H5_DLL herr_t H5Tset_tag(hid_t type, const char *tag);
541 H5_DLL char *H5Tget_tag(hid_t type);
542 
543 /* Querying property values */
547 H5_DLL size_t H5Tget_size(hid_t type_id);
549 H5_DLL size_t H5Tget_precision(hid_t type_id);
550 H5_DLL int H5Tget_offset(hid_t type_id);
551 H5_DLL herr_t H5Tget_pad(hid_t type_id, H5T_pad_t *lsb/*out*/,
552  H5T_pad_t *msb/*out*/);
554 H5_DLL herr_t H5Tget_fields(hid_t type_id, size_t *spos/*out*/,
555  size_t *epos/*out*/, size_t *esize/*out*/,
556  size_t *mpos/*out*/, size_t *msize/*out*/);
557 H5_DLL size_t H5Tget_ebias(hid_t type_id);
561 H5_DLL int H5Tget_nmembers(hid_t type_id);
562 H5_DLL char *H5Tget_member_name(hid_t type_id, unsigned membno);
563 H5_DLL int H5Tget_member_index(hid_t type_id, const char *name);
564 H5_DLL size_t H5Tget_member_offset(hid_t type_id, unsigned membno);
565 H5_DLL H5T_class_t H5Tget_member_class(hid_t type_id, unsigned membno);
566 H5_DLL hid_t H5Tget_member_type(hid_t type_id, unsigned membno);
567 H5_DLL herr_t H5Tget_member_value(hid_t type_id, unsigned membno, void *value/*out*/);
571 
572 /* Setting property values */
573 H5_DLL herr_t H5Tset_size(hid_t type_id, size_t size);
574 H5_DLL herr_t H5Tset_order(hid_t type_id, H5T_order_t order);
575 H5_DLL herr_t H5Tset_precision(hid_t type_id, size_t prec);
576 H5_DLL herr_t H5Tset_offset(hid_t type_id, size_t offset);
577 H5_DLL herr_t H5Tset_pad(hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb);
578 H5_DLL herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign);
579 H5_DLL herr_t H5Tset_fields(hid_t type_id, size_t spos, size_t epos,
580  size_t esize, size_t mpos, size_t msize);
581 H5_DLL herr_t H5Tset_ebias(hid_t type_id, size_t ebias);
582 H5_DLL herr_t H5Tset_norm(hid_t type_id, H5T_norm_t norm);
584 H5_DLL herr_t H5Tset_cset(hid_t type_id, H5T_cset_t cset);
585 H5_DLL herr_t H5Tset_strpad(hid_t type_id, H5T_str_t strpad);
586 
587 /* Type conversion database */
588 H5_DLL herr_t H5Tregister(H5T_pers_t pers, const char *name, hid_t src_id,
589  hid_t dst_id, H5T_conv_t func);
590 H5_DLL herr_t H5Tunregister(H5T_pers_t pers, const char *name, hid_t src_id,
591  hid_t dst_id, H5T_conv_t func);
592 H5_DLL H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata);
593 H5_DLL htri_t H5Tcompiler_conv(hid_t src_id, hid_t dst_id);
594 H5_DLL herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts,
595  void *buf, void *background, hid_t plist_id);
596 H5_DLL herr_t H5Treclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *buf);
597 
598 /* Symbols defined for compatibility with previous versions of the HDF5 API.
599  *
600  * Use of these symbols is deprecated.
601  */
602 #ifndef H5_NO_DEPRECATED_SYMBOLS
603 
604 /* Macros */
605 
606 
607 /* Typedefs */
608 
609 
610 /* Function prototypes */
611 H5_DLL herr_t H5Tcommit1(hid_t loc_id, const char *name, hid_t type_id);
612 H5_DLL hid_t H5Topen1(hid_t loc_id, const char *name);
613 H5_DLL hid_t H5Tarray_create1(hid_t base_id, int ndims,
614  const hsize_t dim[/* ndims */],
615  const int perm[/* ndims */]);
616 H5_DLL int H5Tget_array_dims1(hid_t type_id, hsize_t dims[], int perm[]);
617 
618 #endif /* H5_NO_DEPRECATED_SYMBOLS */
619 
620 #ifdef __cplusplus
621 }
622 #endif
623 #endif /* _H5Tpublic_H */
624 
H5public.h
H5T_ENUM
@ H5T_ENUM
Definition: H5Tpublic.h:38
H5Tget_sign
H5_DLL H5T_sign_t H5Tget_sign(hid_t type_id)
Definition: H5Tfixed.c:46
H5T_BITFIELD
@ H5T_BITFIELD
Definition: H5Tpublic.h:34
H5Tget_super
H5_DLL hid_t H5Tget_super(hid_t type)
Definition: H5T.c:2297
H5T_ORDER_VAX
@ H5T_ORDER_VAX
Definition: H5Tpublic.h:50
H5T_SGN_ERROR
@ H5T_SGN_ERROR
Definition: H5Tpublic.h:58
H5T_BKG_NO
@ H5T_BKG_NO
Definition: H5Tpublic.h:143
H5T_CONV_EXCEPT_NINF
@ H5T_CONV_EXCEPT_NINF
Definition: H5Tpublic.h:177
H5T_NATIVE_UINT_FAST32_g
H5_DLLVAR hid_t H5T_NATIVE_UINT_FAST32_g
Definition: H5Tpublic.h:485
H5T_NATIVE_UINT_LEAST64_g
H5_DLLVAR hid_t H5T_NATIVE_UINT_LEAST64_g
Definition: H5Tpublic.h:496
H5T_STR_RESERVED_12
@ H5T_STR_RESERVED_12
Definition: H5Tpublic.h:117
H5Tget_array_dims2
H5_DLL int H5Tget_array_dims2(hid_t type_id, hsize_t dims[])
Definition: H5Tarray.c:273
H5Ipublic.h
H5Tinsert
H5_DLL herr_t H5Tinsert(hid_t parent_id, const char *name, size_t offset, hid_t member_id)
Definition: H5Tcompound.c:369
H5Tget_member_name
H5_DLL char * H5Tget_member_name(hid_t type_id, unsigned membno)
Definition: H5Tfields.c:133
H5T_CONV_HANDLED
@ H5T_CONV_HANDLED
Definition: H5Tpublic.h:185
H5T_STD_B16LE_g
H5_DLLVAR hid_t H5T_STD_B16LE_g
Definition: H5Tpublic.h:287
H5T_SGN_2
@ H5T_SGN_2
Definition: H5Tpublic.h:60
H5T_sign_t
H5T_sign_t
Definition: H5Tpublic.h:57
H5T_STD_B8LE_g
H5_DLLVAR hid_t H5T_STD_B8LE_g
Definition: H5Tpublic.h:285
size
iblock size
Definition: H5EAcache.c:787
H5Tget_offset
H5_DLL int H5Tget_offset(hid_t type_id)
Definition: H5Toffset.c:62
H5T_NATIVE_HSIZE_g
H5_DLLVAR hid_t H5T_NATIVE_HSIZE_g
Definition: H5Tpublic.h:442
H5T_NATIVE_B16_g
H5_DLLVAR hid_t H5T_NATIVE_B16_g
Definition: H5Tpublic.h:437
H5T_NATIVE_DOUBLE_g
H5_DLLVAR hid_t H5T_NATIVE_DOUBLE_g
Definition: H5Tpublic.h:432
H5T_NATIVE_UINT_LEAST8_g
H5_DLLVAR hid_t H5T_NATIVE_UINT_LEAST8_g
Definition: H5Tpublic.h:457
H5T_NATIVE_INT16_g
H5_DLLVAR hid_t H5T_NATIVE_INT16_g
Definition: H5Tpublic.h:467
H5Tcommitted
H5_DLL htri_t H5Tcommitted(hid_t type_id)
Definition: H5Tcommit.c:503
H5Tget_pad
H5_DLL herr_t H5Tget_pad(hid_t type_id, H5T_pad_t *lsb, H5T_pad_t *msb)
Definition: H5Tpad.c:48
H5T_CONV_EXCEPT_NAN
@ H5T_CONV_EXCEPT_NAN
Definition: H5Tpublic.h:178
H5Topen1
H5_DLL hid_t H5Topen1(hid_t loc_id, const char *name)
Definition: H5Tdeprec.c:176
H5T_BKG_TEMP
@ H5T_BKG_TEMP
Definition: H5Tpublic.h:144
H5T_CSET_ERROR
@ H5T_CSET_ERROR
Definition: H5Tpublic.h:79
H5T_IEEE_F64LE_g
H5_DLLVAR hid_t H5T_IEEE_F64LE_g
Definition: H5Tpublic.h:235
H5T_NORM_NONE
@ H5T_NORM_NONE
Definition: H5Tpublic.h:70
H5T_PERS_HARD
@ H5T_PERS_HARD
Definition: H5Tpublic.h:159
H5T_CSET_RESERVED_12
@ H5T_CSET_RESERVED_12
Definition: H5Tpublic.h:92
H5T_conv_except_func_t
H5T_conv_ret_t(* H5T_conv_except_func_t)(H5T_conv_except_t except_type, hid_t src_id, hid_t dst_id, void *src_buf, void *dst_buf, void *user_data)
Definition: H5Tpublic.h:214
H5Tget_class
H5_DLL H5T_class_t H5Tget_class(hid_t type_id)
Definition: H5T.c:1960
H5Tvlen_create
H5_DLL hid_t H5Tvlen_create(hid_t base_id)
Definition: H5Tvlen.c:152
H5Tset_tag
H5_DLL herr_t H5Tset_tag(hid_t type, const char *tag)
Definition: H5Topaque.c:45
H5T_DIR_DEFAULT
@ H5T_DIR_DEFAULT
Definition: H5Tpublic.h:165
H5T_ORDER_NONE
@ H5T_ORDER_NONE
Definition: H5Tpublic.h:52
H5Tis_variable_str
H5_DLL htri_t H5Tis_variable_str(hid_t type_id)
Definition: H5T.c:2147
H5Tget_member_index
H5_DLL int H5Tget_member_index(hid_t type_id, const char *name)
Definition: H5Tfields.c:233
H5T_STR_RESERVED_15
@ H5T_STR_RESERVED_15
Definition: H5Tpublic.h:120
H5T_CONV_FREE
@ H5T_CONV_FREE
Definition: H5Tpublic.h:138
H5T_NORM_ERROR
@ H5T_NORM_ERROR
Definition: H5Tpublic.h:67
H5Tget_ebias
H5_DLL size_t H5Tget_ebias(hid_t type_id)
Definition: H5Tfloat.c:163
H5T_STD_REF_g
H5_DLLVAR hid_t H5T_STD_REF_g
Definition: H5Tpublic.h:294
H5T_NATIVE_INT_FAST32_g
H5_DLLVAR hid_t H5T_NATIVE_INT_FAST32_g
Definition: H5Tpublic.h:484
H5Tconvert
H5_DLL herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id)
Definition: H5T.c:2894
H5Tdetect_class
H5_DLL htri_t H5Tdetect_class(hid_t type_id, H5T_class_t cls)
Definition: H5T.c:2035
H5T_NATIVE_INT32_g
H5_DLLVAR hid_t H5T_NATIVE_INT32_g
Definition: H5Tpublic.h:480
H5T_VLEN
@ H5T_VLEN
Definition: H5Tpublic.h:39
H5_DLLVAR
#define H5_DLLVAR
Definition: H5api_adpt.h:235
H5T_NATIVE_UINT_g
H5_DLLVAR hid_t H5T_NATIVE_UINT_g
Definition: H5Tpublic.h:426
H5T_ARRAY
@ H5T_ARRAY
Definition: H5Tpublic.h:40
H5T_NATIVE_SHORT_g
H5_DLLVAR hid_t H5T_NATIVE_SHORT_g
Definition: H5Tpublic.h:423
H5Tset_strpad
H5_DLL herr_t H5Tset_strpad(hid_t type_id, H5T_str_t strpad)
Definition: H5Tstrpad.c:108
H5T_CSET_ASCII
@ H5T_CSET_ASCII
Definition: H5Tpublic.h:80
H5T_UNIX_D64BE_g
H5_DLLVAR hid_t H5T_UNIX_D64BE_g
Definition: H5Tpublic.h:305
H5T_STR_RESERVED_9
@ H5T_STR_RESERVED_9
Definition: H5Tpublic.h:114
hvl_t::len
size_t len
Definition: H5Tpublic.h:191
H5T_STR_RESERVED_8
@ H5T_STR_RESERVED_8
Definition: H5Tpublic.h:113
H5T_NATIVE_HERR_g
H5_DLLVAR hid_t H5T_NATIVE_HERR_g
Definition: H5Tpublic.h:444
H5T_conv_ret_t
H5T_conv_ret_t
Definition: H5Tpublic.h:182
H5T_STR_RESERVED_5
@ H5T_STR_RESERVED_5
Definition: H5Tpublic.h:110
H5T_cmd_t
H5T_cmd_t
Definition: H5Tpublic.h:135
H5T_STD_B32LE_g
H5_DLLVAR hid_t H5T_STD_B32LE_g
Definition: H5Tpublic.h:289
H5T_CONV_CONV
@ H5T_CONV_CONV
Definition: H5Tpublic.h:137
H5T_UNIX_D32LE_g
H5_DLLVAR hid_t H5T_UNIX_D32LE_g
Definition: H5Tpublic.h:304
H5T_NATIVE_OPAQUE_g
H5_DLLVAR hid_t H5T_NATIVE_OPAQUE_g
Definition: H5Tpublic.h:440
H5T_CSET_RESERVED_9
@ H5T_CSET_RESERVED_9
Definition: H5Tpublic.h:89
H5T_NATIVE_INT8_g
H5_DLLVAR hid_t H5T_NATIVE_INT8_g
Definition: H5Tpublic.h:454
H5T_ORDER_BE
@ H5T_ORDER_BE
Definition: H5Tpublic.h:49
H5T_NSGN
@ H5T_NSGN
Definition: H5Tpublic.h:62
H5T_cdata_t::recalc
hbool_t recalc
Definition: H5Tpublic.h:152
H5T_STD_U64LE_g
H5_DLLVAR hid_t H5T_STD_U64LE_g
Definition: H5Tpublic.h:283
H5Tcommit2
H5_DLL 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)
Definition: H5Tcommit.c:103
H5Tcompiler_conv
H5_DLL htri_t H5Tcompiler_conv(hid_t src_id, hid_t dst_id)
Definition: H5T.c:2848
H5Tget_nmembers
H5_DLL int H5Tget_nmembers(hid_t type_id)
Definition: H5Tfields.c:50
H5T_CSET_RESERVED_14
@ H5T_CSET_RESERVED_14
Definition: H5Tpublic.h:94
H5T_OPAQUE
@ H5T_OPAQUE
Definition: H5Tpublic.h:35
H5T_conv_t
herr_t(* H5T_conv_t)(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride, size_t bkg_stride, void *buf, void *bkg, hid_t dset_xfer_plist)
Definition: H5Tpublic.h:207
H5Tclose
H5_DLL herr_t H5Tclose(hid_t type_id)
Definition: H5T.c:1838
H5T_NATIVE_UCHAR_g
H5_DLLVAR hid_t H5T_NATIVE_UCHAR_g
Definition: H5Tpublic.h:422
H5T_CONV_UNHANDLED
@ H5T_CONV_UNHANDLED
Definition: H5Tpublic.h:184
H5T_NATIVE_ULONG_g
H5_DLLVAR hid_t H5T_NATIVE_ULONG_g
Definition: H5Tpublic.h:428
H5T_STR_RESERVED_14
@ H5T_STR_RESERVED_14
Definition: H5Tpublic.h:119
H5T_VAX_F32_g
H5_DLLVAR hid_t H5T_VAX_F32_g
Definition: H5Tpublic.h:383
H5T_STD_U32LE_g
H5_DLLVAR hid_t H5T_STD_U32LE_g
Definition: H5Tpublic.h:281
H5T_NATIVE_LLONG_g
H5_DLLVAR hid_t H5T_NATIVE_LLONG_g
Definition: H5Tpublic.h:429
hvl_t::p
void * p
Definition: H5Tpublic.h:192
H5T_NO_CLASS
@ H5T_NO_CLASS
Definition: H5Tpublic.h:29
H5Tset_cset
H5_DLL herr_t H5Tset_cset(hid_t type_id, H5T_cset_t cset)
Definition: H5Tcset.c:95
H5Tget_norm
H5_DLL H5T_norm_t H5Tget_norm(hid_t type_id)
Definition: H5Tfloat.c:246
H5Tlock
H5_DLL herr_t H5Tlock(hid_t type_id)
Definition: H5T.c:1923
H5T_STD_U16BE_g
H5_DLLVAR hid_t H5T_STD_U16BE_g
Definition: H5Tpublic.h:278
htri_t
int htri_t
Definition: H5public.h:160
H5Tget_tag
H5_DLL char * H5Tget_tag(hid_t type)
Definition: H5Topaque.c:92
H5Tget_size
H5_DLL size_t H5Tget_size(hid_t type_id)
Definition: H5T.c:2206
H5T_STD_B64LE_g
H5_DLLVAR hid_t H5T_STD_B64LE_g
Definition: H5Tpublic.h:291
H5T_COMPOUND
@ H5T_COMPOUND
Definition: H5Tpublic.h:36
H5Tget_strpad
H5_DLL H5T_str_t H5Tget_strpad(hid_t type_id)
Definition: H5Tstrpad.c:51
H5T_cdata_t::need_bkg
H5T_bkg_t need_bkg
Definition: H5Tpublic.h:151
H5T_STD_I8LE_g
H5_DLLVAR hid_t H5T_STD_I8LE_g
Definition: H5Tpublic.h:269
H5T_NATIVE_HADDR_g
H5_DLLVAR hid_t H5T_NATIVE_HADDR_g
Definition: H5Tpublic.h:441
H5Tset_sign
H5_DLL herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign)
Definition: H5Tfixed.c:125
H5T_NATIVE_UINT64_g
H5_DLLVAR hid_t H5T_NATIVE_UINT64_g
Definition: H5Tpublic.h:494
H5T_NATIVE_INT_FAST16_g
H5_DLLVAR hid_t H5T_NATIVE_INT_FAST16_g
Definition: H5Tpublic.h:471
H5Tcommit1
H5_DLL herr_t H5Tcommit1(hid_t loc_id, const char *name, hid_t type_id)
Definition: H5Tdeprec.c:108
H5T_NCLASSES
@ H5T_NCLASSES
Definition: H5Tpublic.h:42
H5T_NORM_MSBSET
@ H5T_NORM_MSBSET
Definition: H5Tpublic.h:69
H5T_STR_RESERVED_10
@ H5T_STR_RESERVED_10
Definition: H5Tpublic.h:115
H5Tenum_nameof
H5_DLL herr_t H5Tenum_nameof(hid_t type, const void *value, char *name, size_t size)
Definition: H5Tenum.c:331
H5T_BKG_YES
@ H5T_BKG_YES
Definition: H5Tpublic.h:145
H5T_VAX_F64_g
H5_DLLVAR hid_t H5T_VAX_F64_g
Definition: H5Tpublic.h:384
H5T_STR_RESERVED_11
@ H5T_STR_RESERVED_11
Definition: H5Tpublic.h:116
H5T_NATIVE_INT_LEAST16_g
H5_DLLVAR hid_t H5T_NATIVE_INT_LEAST16_g
Definition: H5Tpublic.h:469
hid_t
int64_t hid_t
Definition: H5Ipublic.h:55
H5T_PAD_ZERO
@ H5T_PAD_ZERO
Definition: H5Tpublic.h:127
H5T_STD_I16BE_g
H5_DLLVAR hid_t H5T_STD_I16BE_g
Definition: H5Tpublic.h:270
H5T_NATIVE_INT_LEAST64_g
H5_DLLVAR hid_t H5T_NATIVE_INT_LEAST64_g
Definition: H5Tpublic.h:495
H5T_STD_B16BE_g
H5_DLLVAR hid_t H5T_STD_B16BE_g
Definition: H5Tpublic.h:286
H5T_NATIVE_USHORT_g
H5_DLLVAR hid_t H5T_NATIVE_USHORT_g
Definition: H5Tpublic.h:424
H5Tenum_create
H5_DLL hid_t H5Tenum_create(hid_t base_id)
Definition: H5Tenum.c:52
H5T_STD_I64BE_g
H5_DLLVAR hid_t H5T_STD_I64BE_g
Definition: H5Tpublic.h:274
H5Tset_inpad
H5_DLL herr_t H5Tset_inpad(hid_t type_id, H5T_pad_t pad)
Definition: H5Tfloat.c:370
H5T_order_t
H5T_order_t
Definition: H5Tpublic.h:46
H5T_STR_RESERVED_7
@ H5T_STR_RESERVED_7
Definition: H5Tpublic.h:112
H5T_STD_I16LE_g
H5_DLLVAR hid_t H5T_STD_I16LE_g
Definition: H5Tpublic.h:271
H5T_REFERENCE
@ H5T_REFERENCE
Definition: H5Tpublic.h:37
H5T_ORDER_MIXED
@ H5T_ORDER_MIXED
Definition: H5Tpublic.h:51
H5T_CONV_EXCEPT_PRECISION
@ H5T_CONV_EXCEPT_PRECISION
Definition: H5Tpublic.h:174
H5T_NATIVE_INT64_g
H5_DLLVAR hid_t H5T_NATIVE_INT64_g
Definition: H5Tpublic.h:493
H5T_FLOAT
@ H5T_FLOAT
Definition: H5Tpublic.h:31
H5Tget_member_value
H5_DLL herr_t H5Tget_member_value(hid_t type_id, unsigned membno, void *value)
Definition: H5Tenum.c:251
H5T_CSET_RESERVED_7
@ H5T_CSET_RESERVED_7
Definition: H5Tpublic.h:87
H5T_norm_t
H5T_norm_t
Definition: H5Tpublic.h:66
H5T_direction_t
H5T_direction_t
Definition: H5Tpublic.h:164
H5Tget_create_plist
H5_DLL hid_t H5Tget_create_plist(hid_t type_id)
Definition: H5Tcommit.c:632
H5Tregister
H5_DLL herr_t H5Tregister(H5T_pers_t pers, const char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func)
Definition: H5T.c:2600
H5Tunregister
H5_DLL herr_t H5Tunregister(H5T_pers_t pers, const char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func)
Definition: H5T.c:2757
H5Tget_cset
H5_DLL H5T_cset_t H5Tget_cset(hid_t type_id)
Definition: H5Tcset.c:49
H5T_SGN_NONE
@ H5T_SGN_NONE
Definition: H5Tpublic.h:59
H5Tcopy
H5_DLL hid_t H5Tcopy(hid_t type_id)
Definition: H5T.c:1745
H5T_NATIVE_ULLONG_g
H5_DLLVAR hid_t H5T_NATIVE_ULLONG_g
Definition: H5Tpublic.h:430
H5T_PAD_BACKGROUND
@ H5T_PAD_BACKGROUND
Definition: H5Tpublic.h:129
H5T_CSET_RESERVED_15
@ H5T_CSET_RESERVED_15
Definition: H5Tpublic.h:95
H5T_STD_U8LE_g
H5_DLLVAR hid_t H5T_STD_U8LE_g
Definition: H5Tpublic.h:277
H5T_pad_t
H5T_pad_t
Definition: H5Tpublic.h:125
H5T_NATIVE_LONG_g
H5_DLLVAR hid_t H5T_NATIVE_LONG_g
Definition: H5Tpublic.h:427
H5T_STD_U64BE_g
H5_DLLVAR hid_t H5T_STD_U64BE_g
Definition: H5Tpublic.h:282
H5Tflush
H5_DLL herr_t H5Tflush(hid_t type_id)
Definition: H5Tcommit.c:688
H5T_CONV_ABORT
@ H5T_CONV_ABORT
Definition: H5Tpublic.h:183
H5Tarray_create2
H5_DLL hid_t H5Tarray_create2(hid_t base_id, unsigned ndims, const hsize_t dim[])
Definition: H5Tarray.c:96
H5T_CONV_EXCEPT_TRUNCATE
@ H5T_CONV_EXCEPT_TRUNCATE
Definition: H5Tpublic.h:175
H5T_CSET_RESERVED_5
@ H5T_CSET_RESERVED_5
Definition: H5Tpublic.h:85
H5T_cset_t
H5T_cset_t
Definition: H5Tpublic.h:78
H5T_STR_RESERVED_4
@ H5T_STR_RESERVED_4
Definition: H5Tpublic.h:109
H5T_STRING
@ H5T_STRING
Definition: H5Tpublic.h:33
H5T_DIR_ASCEND
@ H5T_DIR_ASCEND
Definition: H5Tpublic.h:166
H5Tget_fields
H5_DLL herr_t H5Tget_fields(hid_t type_id, size_t *spos, size_t *epos, size_t *esize, size_t *mpos, size_t *msize)
Definition: H5Tfloat.c:50
H5T_str_t
H5T_str_t
Definition: H5Tpublic.h:103
H5T_STD_REF_DSETREG_g
H5_DLLVAR hid_t H5T_STD_REF_DSETREG_g
Definition: H5Tpublic.h:293
H5T_CSET_RESERVED_11
@ H5T_CSET_RESERVED_11
Definition: H5Tpublic.h:91
H5T_CSET_RESERVED_10
@ H5T_CSET_RESERVED_10
Definition: H5Tpublic.h:90
H5T_NATIVE_UINT_FAST64_g
H5_DLLVAR hid_t H5T_NATIVE_UINT_FAST64_g
Definition: H5Tpublic.h:498
H5T_NATIVE_UINT_LEAST32_g
H5_DLLVAR hid_t H5T_NATIVE_UINT_LEAST32_g
Definition: H5Tpublic.h:483
H5Tget_order
H5_DLL H5T_order_t H5Tget_order(hid_t type_id)
Definition: H5Torder.c:93
H5T_C_S1_g
H5_DLLVAR hid_t H5T_C_S1_g
Definition: H5Tpublic.h:313
H5T_STD_I32BE_g
H5_DLLVAR hid_t H5T_STD_I32BE_g
Definition: H5Tpublic.h:272
H5T_CSET_UTF8
@ H5T_CSET_UTF8
Definition: H5Tpublic.h:81
H5Tset_size
H5_DLL herr_t H5Tset_size(hid_t type_id, size_t size)
Definition: H5T.c:2251
H5T_TIME
@ H5T_TIME
Definition: H5Tpublic.h:32
H5T_ORDER_ERROR
@ H5T_ORDER_ERROR
Definition: H5Tpublic.h:47
H5Tget_array_dims1
H5_DLL int H5Tget_array_dims1(hid_t type_id, hsize_t dims[], int perm[])
H5T_STR_ERROR
@ H5T_STR_ERROR
Definition: H5Tpublic.h:104
H5T_STR_NULLPAD
@ H5T_STR_NULLPAD
Definition: H5Tpublic.h:106
H5Trefresh
H5_DLL herr_t H5Trefresh(hid_t type_id)
Definition: H5Tcommit.c:729
H5Tencode
H5_DLL herr_t H5Tencode(hid_t obj_id, void *buf, size_t *nalloc)
Definition: H5T.c:2995
H5T_CONV_EXCEPT_RANGE_HI
@ H5T_CONV_EXCEPT_RANGE_HI
Definition: H5Tpublic.h:172
H5Tcreate
H5_DLL hid_t H5Tcreate(H5T_class_t type, size_t size)
Definition: H5T.c:1701
H5T_CSET_RESERVED_3
@ H5T_CSET_RESERVED_3
Definition: H5Tpublic.h:83
H5T_STD_I32LE_g
H5_DLLVAR hid_t H5T_STD_I32LE_g
Definition: H5Tpublic.h:273
H5Tfind
H5_DLL H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata)
Definition: H5T.c:2799
H5T_STD_B64BE_g
H5_DLLVAR hid_t H5T_STD_B64BE_g
Definition: H5Tpublic.h:290
H5T_CSET_RESERVED_6
@ H5T_CSET_RESERVED_6
Definition: H5Tpublic.h:86
H5T_STD_B32BE_g
H5_DLLVAR hid_t H5T_STD_B32BE_g
Definition: H5Tpublic.h:288
H5T_NATIVE_UINT8_g
H5_DLLVAR hid_t H5T_NATIVE_UINT8_g
Definition: H5Tpublic.h:455
H5T_PAD_ERROR
@ H5T_PAD_ERROR
Definition: H5Tpublic.h:126
H5T_CSET_RESERVED_13
@ H5T_CSET_RESERVED_13
Definition: H5Tpublic.h:93
H5Tset_precision
H5_DLL herr_t H5Tset_precision(hid_t type_id, size_t prec)
Definition: H5Tprecis.c:144
H5Tset_norm
H5_DLL herr_t H5Tset_norm(hid_t type_id, H5T_norm_t norm)
Definition: H5Tfloat.c:284
H5T_NATIVE_INT_FAST64_g
H5_DLLVAR hid_t H5T_NATIVE_INT_FAST64_g
Definition: H5Tpublic.h:497
H5T_NATIVE_INT_LEAST32_g
H5_DLLVAR hid_t H5T_NATIVE_INT_LEAST32_g
Definition: H5Tpublic.h:482
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5T_cdata_t
struct H5T_cdata_t H5T_cdata_t
H5Tenum_insert
H5_DLL herr_t H5Tenum_insert(hid_t type, const char *name, const void *value)
Definition: H5Tenum.c:140
H5T_STD_I64LE_g
H5_DLLVAR hid_t H5T_STD_I64LE_g
Definition: H5Tpublic.h:275
H5Tset_ebias
H5_DLL herr_t H5Tset_ebias(hid_t type_id, size_t ebias)
Definition: H5Tfloat.c:204
H5T_PERS_SOFT
@ H5T_PERS_SOFT
Definition: H5Tpublic.h:160
H5T_CSET_RESERVED_4
@ H5T_CSET_RESERVED_4
Definition: H5Tpublic.h:84
H5Tget_precision
H5_DLL size_t H5Tget_precision(hid_t type_id)
Definition: H5Tprecis.c:55
H5Tget_native_type
H5_DLL hid_t H5Tget_native_type(hid_t type_id, H5T_direction_t direction)
Definition: H5Tnative.c:76
H5Tset_order
H5_DLL herr_t H5Tset_order(hid_t type_id, H5T_order_t order)
Definition: H5Torder.c:200
H5T_STD_U32BE_g
H5_DLLVAR hid_t H5T_STD_U32BE_g
Definition: H5Tpublic.h:280
H5T_STR_SPACEPAD
@ H5T_STR_SPACEPAD
Definition: H5Tpublic.h:107
H5T_pers_t
H5T_pers_t
Definition: H5Tpublic.h:157
H5Tarray_create1
H5_DLL hid_t H5Tarray_create1(hid_t base_id, int ndims, const hsize_t dim[], const int perm[])
H5T_CSET_RESERVED_2
@ H5T_CSET_RESERVED_2
Definition: H5Tpublic.h:82
H5Tequal
H5_DLL htri_t H5Tequal(hid_t type1_id, hid_t type2_id)
Definition: H5T.c:1876
H5Topen2
H5_DLL hid_t H5Topen2(hid_t loc_id, const char *name, hid_t tapl_id)
Definition: H5Tcommit.c:569
H5T_NATIVE_UINT_LEAST16_g
H5_DLLVAR hid_t H5T_NATIVE_UINT_LEAST16_g
Definition: H5Tpublic.h:470
H5T_STD_U8BE_g
H5_DLLVAR hid_t H5T_STD_U8BE_g
Definition: H5Tpublic.h:276
H5T_NATIVE_HSSIZE_g
H5_DLLVAR hid_t H5T_NATIVE_HSSIZE_g
Definition: H5Tpublic.h:443
H5T_STD_U16LE_g
H5_DLLVAR hid_t H5T_STD_U16LE_g
Definition: H5Tpublic.h:279
H5T_NATIVE_UINT16_g
H5_DLLVAR hid_t H5T_NATIVE_UINT16_g
Definition: H5Tpublic.h:468
H5T_PAD_ONE
@ H5T_PAD_ONE
Definition: H5Tpublic.h:128
H5T_CONV_EXCEPT_PINF
@ H5T_CONV_EXCEPT_PINF
Definition: H5Tpublic.h:176
hvl_t
Definition: H5Tpublic.h:190
H5Tset_pad
H5_DLL herr_t H5Tset_pad(hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb)
Definition: H5Tpad.c:92
H5Tget_member_class
H5_DLL H5T_class_t H5Tget_member_class(hid_t type_id, unsigned membno)
Definition: H5Tcompound.c:171
H5Tpack
H5_DLL herr_t H5Tpack(hid_t type_id)
Definition: H5Tcompound.c:415
H5Tset_fields
H5_DLL herr_t H5Tset_fields(hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize)
Definition: H5Tfloat.c:103
H5T_NATIVE_FLOAT_g
H5_DLLVAR hid_t H5T_NATIVE_FLOAT_g
Definition: H5Tpublic.h:431
H5T_bkg_t
H5T_bkg_t
Definition: H5Tpublic.h:142
H5T_NATIVE_B32_g
H5_DLLVAR hid_t H5T_NATIVE_B32_g
Definition: H5Tpublic.h:438
H5T_NATIVE_UINT_FAST16_g
H5_DLLVAR hid_t H5T_NATIVE_UINT_FAST16_g
Definition: H5Tpublic.h:472
H5T_NATIVE_INT_LEAST8_g
H5_DLLVAR hid_t H5T_NATIVE_INT_LEAST8_g
Definition: H5Tpublic.h:456
nelmts
hdr stats stored nelmts
Definition: H5EAdblock.c:214
H5T_DIR_DESCEND
@ H5T_DIR_DESCEND
Definition: H5Tpublic.h:167
H5T_INTEGER
@ H5T_INTEGER
Definition: H5Tpublic.h:30
H5Tenum_valueof
H5_DLL herr_t H5Tenum_valueof(hid_t type, const char *name, void *value)
Definition: H5Tenum.c:480
herr_t
int herr_t
Definition: H5public.h:128
H5T_CONV_EXCEPT_RANGE_LOW
@ H5T_CONV_EXCEPT_RANGE_LOW
Definition: H5Tpublic.h:173
H5T_NATIVE_INT_g
H5_DLLVAR hid_t H5T_NATIVE_INT_g
Definition: H5Tpublic.h:425
H5Tget_inpad
H5_DLL H5T_pad_t H5Tget_inpad(hid_t type_id)
Definition: H5Tfloat.c:330
H5T_conv_except_t
H5T_conv_except_t
Definition: H5Tpublic.h:171
H5T_NATIVE_UINT_FAST8_g
H5_DLLVAR hid_t H5T_NATIVE_UINT_FAST8_g
Definition: H5Tpublic.h:459
H5Tget_member_offset
H5_DLL size_t H5Tget_member_offset(hid_t type_id, unsigned membno)
Definition: H5Tcompound.c:101
hbool_t
bool hbool_t
Definition: H5public.h:159
H5T_CSET_RESERVED_8
@ H5T_CSET_RESERVED_8
Definition: H5Tpublic.h:88
H5T_UNIX_D32BE_g
H5_DLLVAR hid_t H5T_UNIX_D32BE_g
Definition: H5Tpublic.h:303
H5T_IEEE_F32LE_g
H5_DLLVAR hid_t H5T_IEEE_F32LE_g
Definition: H5Tpublic.h:233
H5T_STD_B8BE_g
H5_DLLVAR hid_t H5T_STD_B8BE_g
Definition: H5Tpublic.h:284
H5T_STD_REF_OBJ_g
H5_DLLVAR hid_t H5T_STD_REF_OBJ_g
Definition: H5Tpublic.h:292
H5T_cdata_t::priv
void * priv
Definition: H5Tpublic.h:153
H5T_cdata_t::command
H5T_cmd_t command
Definition: H5Tpublic.h:150
H5T_STR_RESERVED_13
@ H5T_STR_RESERVED_13
Definition: H5Tpublic.h:118
H5T_STD_I8BE_g
H5_DLLVAR hid_t H5T_STD_I8BE_g
Definition: H5Tpublic.h:268
H5Tdecode
H5_DLL hid_t H5Tdecode(const void *buf)
Definition: H5T.c:3038
H5Tcommit_anon
H5_DLL herr_t H5Tcommit_anon(hid_t loc_id, hid_t type_id, hid_t tcpl_id, hid_t tapl_id)
Definition: H5Tcommit.c:271
hsize_t
hsize_t
Definition: H5overflow.txt:44
H5T_NATIVE_UINT32_g
H5_DLLVAR hid_t H5T_NATIVE_UINT32_g
Definition: H5Tpublic.h:481
H5Tget_member_type
H5_DLL hid_t H5Tget_member_type(hid_t type_id, unsigned membno)
Definition: H5Tcompound.c:214
H5T_NATIVE_B64_g
H5_DLLVAR hid_t H5T_NATIVE_B64_g
Definition: H5Tpublic.h:439
H5T_STR_RESERVED_3
@ H5T_STR_RESERVED_3
Definition: H5Tpublic.h:108
H5T_UNIX_D64LE_g
H5_DLLVAR hid_t H5T_UNIX_D64LE_g
Definition: H5Tpublic.h:306
H5T_STR_RESERVED_6
@ H5T_STR_RESERVED_6
Definition: H5Tpublic.h:111
H5T_NATIVE_SCHAR_g
H5_DLLVAR hid_t H5T_NATIVE_SCHAR_g
Definition: H5Tpublic.h:421
H5Treclaim
H5_DLL herr_t H5Treclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *buf)
Definition: H5T.c:2945
H5T_PERS_DONTCARE
@ H5T_PERS_DONTCARE
Definition: H5Tpublic.h:158
H5Tset_offset
H5_DLL herr_t H5Tset_offset(hid_t type_id, size_t offset)
Definition: H5Toffset.c:173
H5T_NATIVE_B8_g
H5_DLLVAR hid_t H5T_NATIVE_B8_g
Definition: H5Tpublic.h:436
H5T_NPAD
@ H5T_NPAD
Definition: H5Tpublic.h:131
H5T_ORDER_LE
@ H5T_ORDER_LE
Definition: H5Tpublic.h:48
H5T_CONV_INIT
@ H5T_CONV_INIT
Definition: H5Tpublic.h:136
H5T_IEEE_F32BE_g
H5_DLLVAR hid_t H5T_IEEE_F32BE_g
Definition: H5Tpublic.h:232
H5T_NATIVE_INT_FAST8_g
H5_DLLVAR hid_t H5T_NATIVE_INT_FAST8_g
Definition: H5Tpublic.h:458
H5T_NATIVE_HBOOL_g
H5_DLLVAR hid_t H5T_NATIVE_HBOOL_g
Definition: H5Tpublic.h:445
H5T_STR_NULLTERM
@ H5T_STR_NULLTERM
Definition: H5Tpublic.h:105
H5T_cdata_t
Definition: H5Tpublic.h:149
H5T_class_t
H5T_class_t
Definition: H5Tpublic.h:28
H5T_IEEE_F64BE_g
H5_DLLVAR hid_t H5T_IEEE_F64BE_g
Definition: H5Tpublic.h:234
H5Tget_array_ndims
H5_DLL int H5Tget_array_ndims(hid_t type_id)
Definition: H5Tarray.c:210
H5T_FORTRAN_S1_g
H5_DLLVAR hid_t H5T_FORTRAN_S1_g
Definition: H5Tpublic.h:319
H5T_NORM_IMPLIED
@ H5T_NORM_IMPLIED
Definition: H5Tpublic.h:68