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 * Programmer: Robb Matzke <matzke@llnl.gov> 16 * Monday, December 8, 1997 17 * 18 * Purpose: This file contains declarations which are visible only within 19 * the H5T package. Source files outside the H5T package should 20 * include H5Tprivate.h instead. 21 */ 22 #if !(defined H5T_FRIEND || defined H5T_MODULE) 23 #error "Do not include this file outside the H5T package!" 24 #endif 25 26 #ifndef _H5Tpkg_H 27 #define _H5Tpkg_H 28 29 /* 30 * Define this to enable debugging. 31 */ 32 #ifdef NDEBUG 33 # undef H5T_DEBUG 34 #endif 35 36 /* Get package's private header */ 37 #include "H5Tprivate.h" 38 39 /* Other private headers needed by this file */ 40 #include "H5Fprivate.h" /* Files */ 41 #include "H5FLprivate.h" /* Free Lists */ 42 #include "H5Oprivate.h" /* Object headers */ 43 44 /* Other public headers needed by this file */ 45 #include "H5Spublic.h" /* Dataspace functions */ 46 47 /* Length of debugging name buffer */ 48 #define H5T_NAMELEN 32 49 50 /* Macro to ease detecting "complex" datatypes (i.e. those with base types or fields) */ 51 #define H5T_IS_COMPLEX(t) ((t) == H5T_COMPOUND || (t) == H5T_ENUM || (t) == H5T_VLEN || (t) == H5T_ARRAY) 52 53 /* Macro to ease detecting fixed "string" datatypes */ 54 #define H5T_IS_FIXED_STRING(dt) (H5T_STRING == (dt)->type) 55 56 /* Macro to ease detecting variable-length "string" datatypes */ 57 #define H5T_IS_VL_STRING(dt) (H5T_VLEN == (dt)->type && H5T_VLEN_STRING == (dt)->u.vlen.type) 58 59 /* Macro to ease detecting fixed or variable-length "string" datatypes */ 60 #define H5T_IS_STRING(dt) (H5T_IS_FIXED_STRING(dt) || H5T_IS_VL_STRING(dt)) 61 62 /* Macro to ease detecting atomic datatypes */ 63 #define H5T_IS_ATOMIC(dt) (!(H5T_IS_COMPLEX((dt)->type) || (dt)->type == H5T_OPAQUE)) 64 65 /* Macro to ease retrieving class of shared datatype */ 66 /* (Externally, a VL string is a string; internally, a VL string is a VL. Lie 67 * to the user if they have a VL string and tell them it's in the string 68 * class) 69 */ 70 #define H5T_GET_CLASS(shared, internal) ((internal) ? (shared)->type : (H5T_IS_VL_STRING(shared) ? H5T_STRING : (shared)->type)) 71 72 73 /* 74 * Datatype encoding versions 75 */ 76 77 /* This is the version to create all datatypes which don't contain 78 * array datatypes (atomic types, compound datatypes without array fields, 79 * vlen sequences of objects which aren't arrays, etc.) or VAX byte-ordered 80 * objects. 81 */ 82 #define H5O_DTYPE_VERSION_1 1 83 84 /* This is the version to create all datatypes which contain H5T_ARRAY 85 * class objects (array definitely, potentially compound & vlen sequences also), 86 * but not VAX byte-ordered objects. 87 */ 88 #define H5O_DTYPE_VERSION_2 2 89 90 /* This is the version to create all datatypes which contain VAX byte-ordered 91 * objects (floating-point types, currently). 92 */ 93 /* This version also packs compound & enum field names without padding */ 94 /* This version also encodes the member offset of compound fields more efficiently */ 95 /* This version also encodes array types more efficiently */ 96 #define H5O_DTYPE_VERSION_3 3 97 98 /* The latest version of the format. Look through the 'encode helper' routine 99 * and 'size' callback for places to change when updating this. */ 100 #define H5O_DTYPE_VERSION_LATEST H5O_DTYPE_VERSION_3 101 102 103 /* Flags for visiting datatype */ 104 #define H5T_VISIT_COMPLEX_FIRST 0x01 /* Visit complex datatype before visiting member/parent datatypes */ 105 #define H5T_VISIT_COMPLEX_LAST 0x02 /* Visit complex datatype after visiting member/parent datatypes */ 106 /* (setting both flags will mean visiting complex type twice) */ 107 #define H5T_VISIT_SIMPLE 0x04 /* Visit simple datatypes (at all) */ 108 /* (setting H5T_VISIT_SIMPLE and _not_ setting either H5T_VISIT_COMPLEX_FIRST or H5T_VISIT_COMPLEX_LAST will mean visiting _only_ "simple" "leafs" in the "tree" */ 109 /* (_not_ setting H5T_VISIT_SIMPLE and setting either H5T_VISIT_COMPLEX_FIRST or H5T_VISIT_COMPLEX_LAST will mean visiting all nodes _except_ "simple" "leafs" in the "tree" */ 110 111 112 /* Define an internal macro for converting long long to long double. Mac OS 10.4 gives some 113 * incorrect conversions. */ 114 #if (H5_WANT_DATA_ACCURACY && defined(H5_LLONG_TO_LDOUBLE_CORRECT)) || (!H5_WANT_DATA_ACCURACY) 115 #define H5T_CONV_INTERNAL_LLONG_LDOUBLE 1 116 #endif 117 118 /* Define an internal macro for converting unsigned long long to long double. SGI compilers give 119 * some incorect conversion. 64-bit Solaris does different rounding. Windows Visual Studio 6 does 120 * not support unsigned long long. For FreeBSD(sleipnir), the last 2 bytes of mantissa are lost when 121 * compiler tries to do the conversion. For Cygwin, compiler doesn't do rounding correctly. 122 * Mac OS 10.4 gives some incorrect result. */ 123 #if (H5_WANT_DATA_ACCURACY && defined(H5_LLONG_TO_LDOUBLE_CORRECT)) || (!H5_WANT_DATA_ACCURACY) 124 #define H5T_CONV_INTERNAL_ULLONG_LDOUBLE 1 125 #endif 126 127 /* Define an internal macro for converting long double to long long. SGI compilers give some incorrect 128 * conversions. Mac OS 10.4 gives incorrect conversions. HP-UX 11.00 compiler generates floating exception. 129 * The hard conversion on Windows .NET 2003 has a bug and gives wrong exception value. */ 130 #if (H5_WANT_DATA_ACCURACY && defined(H5_LDOUBLE_TO_LLONG_ACCURATE)) || \ 131 (!H5_WANT_DATA_ACCURACY) 132 #define H5T_CONV_INTERNAL_LDOUBLE_LLONG 1 133 #endif 134 135 /* Define an internal macro for converting long double to unsigned long long. SGI compilers give some 136 * incorrect conversions. Mac OS 10.4 gives incorrect conversions. HP-UX 11.00 compiler generates 137 * floating exception. */ 138 #if (H5_WANT_DATA_ACCURACY && defined(H5_LDOUBLE_TO_LLONG_ACCURATE)) || \ 139 (!H5_WANT_DATA_ACCURACY) 140 #define H5T_CONV_INTERNAL_LDOUBLE_ULLONG 1 141 #else 142 #define H5T_CONV_INTERNAL_LDOUBLE_ULLONG 0 143 #endif 144 145 /* Statistics about a conversion function */ 146 struct H5T_stats_t { 147 unsigned ncalls; /*num calls to conversion function */ 148 hsize_t nelmts; /*total data points converted */ 149 H5_timer_t timer; /*total time for conversion */ 150 }; 151 152 /* The datatype conversion database */ 153 struct H5T_path_t { 154 char name[H5T_NAMELEN]; /*name for debugging only */ 155 H5T_t *src; /*source datatype */ 156 H5T_t *dst; /*destination datatype */ 157 H5T_conv_t func; /*data conversion function */ 158 hbool_t is_hard; /*is it a hard function? */ 159 hbool_t is_noop; /*is it the noop conversion? */ 160 hbool_t are_compounds; /*are source and dest both compounds?*/ 161 H5T_stats_t stats; /*statistics for the conversion */ 162 H5T_cdata_t cdata; /*data for this function */ 163 }; 164 165 typedef struct H5T_atomic_t { 166 H5T_order_t order; /*byte order */ 167 size_t prec; /*precision in bits */ 168 size_t offset; /*bit position of lsb of value */ 169 H5T_pad_t lsb_pad;/*type of lsb padding */ 170 H5T_pad_t msb_pad;/*type of msb padding */ 171 union { 172 struct { 173 H5T_sign_t sign; /*type of integer sign */ 174 } i; /*integer; integer types */ 175 176 struct { 177 size_t sign; /*bit position of sign bit */ 178 size_t epos; /*position of lsb of exponent */ 179 size_t esize; /*size of exponent in bits */ 180 uint64_t ebias; /*exponent bias */ 181 size_t mpos; /*position of lsb of mantissa */ 182 size_t msize; /*size of mantissa */ 183 H5T_norm_t norm; /*normalization */ 184 H5T_pad_t pad; /*type of padding for internal bits */ 185 } f; /*floating-point types */ 186 187 struct { 188 H5T_cset_t cset; /*character set */ 189 H5T_str_t pad; /*space or null padding of extra bytes */ 190 } s; /*string types */ 191 192 struct { 193 H5R_type_t rtype; /*type of reference stored */ 194 H5T_loc_t loc; /* Location of data in buffer */ 195 } r; /*reference types */ 196 } u; 197 } H5T_atomic_t; 198 199 /* How members are sorted for compound or enum datatypes */ 200 typedef enum H5T_sort_t { 201 H5T_SORT_NONE = 0, /*not sorted */ 202 H5T_SORT_NAME = 1, /*sorted by member name */ 203 H5T_SORT_VALUE = 2 /*sorted by memb offset or enum value*/ 204 } H5T_sort_t; 205 206 /* A compound datatype member */ 207 typedef struct H5T_cmemb_t { 208 char *name; /*name of this member */ 209 size_t offset; /*offset from beginning of struct */ 210 size_t size; /*size of this member */ 211 struct H5T_t *type; /*type of this member */ 212 } H5T_cmemb_t; 213 214 /* A compound datatype */ 215 typedef struct H5T_compnd_t { 216 unsigned nalloc; /*num entries allocated in MEMB array*/ 217 unsigned nmembs; /*number of members defined in struct*/ 218 H5T_sort_t sorted; /*how are members sorted? */ 219 hbool_t packed; /*are members packed together? */ 220 H5T_cmemb_t *memb; /*array of struct members */ 221 size_t memb_size; /*total of all member sizes */ 222 } H5T_compnd_t; 223 224 /* An enumeration datatype */ 225 typedef struct H5T_enum_t { 226 unsigned nalloc; /*num entries allocated */ 227 unsigned nmembs; /*number of members defined in enum */ 228 H5T_sort_t sorted; /*how are members sorted? */ 229 uint8_t *value; /*array of values */ 230 char **name; /*array of symbol names */ 231 } H5T_enum_t; 232 233 /* VL function pointers */ 234 typedef ssize_t (*H5T_vlen_getlenfunc_t)(const void *vl_addr); 235 typedef void * (*H5T_vlen_getptrfunc_t)(void *vl_addr); 236 typedef htri_t (*H5T_vlen_isnullfunc_t)(const H5F_t *f, void *vl_addr); 237 typedef herr_t (*H5T_vlen_readfunc_t)(H5F_t *f, hid_t dxpl_id, void *_vl, void *buf, size_t len); 238 typedef herr_t (*H5T_vlen_writefunc_t)(H5F_t *f, hid_t dxpl_id, const H5T_vlen_alloc_info_t *vl_alloc_info, void *_vl, void *buf, void *_bg, size_t seq_len, size_t base_size); 239 typedef herr_t (*H5T_vlen_setnullfunc_t)(H5F_t *f, hid_t dxpl_id, void *_vl, void *_bg); 240 241 /* VL types */ 242 typedef enum { 243 H5T_VLEN_BADTYPE = -1, /* invalid VL Type */ 244 H5T_VLEN_SEQUENCE = 0, /* VL sequence */ 245 H5T_VLEN_STRING, /* VL string */ 246 H5T_VLEN_MAXTYPE /* highest type (Invalid as true type) */ 247 } H5T_vlen_type_t; 248 249 /* A VL datatype */ 250 typedef struct H5T_vlen_t { 251 H5T_vlen_type_t type; /* Type of VL data in buffer */ 252 H5T_loc_t loc; /* Location of VL data in buffer */ 253 H5T_cset_t cset; /* For VL string. character set */ 254 H5T_str_t pad; /* For VL string. space or null padding of 255 * extra bytes */ 256 H5F_t *f; /* File ID (if VL data is on disk) */ 257 H5T_vlen_getptrfunc_t getptr; /* Function to get VL sequence pointer */ 258 H5T_vlen_getlenfunc_t getlen; /* Function to get VL sequence size (in element units, not bytes) */ 259 H5T_vlen_isnullfunc_t isnull; /* Function to check if VL value is NIL */ 260 H5T_vlen_readfunc_t read; /* Function to read VL sequence into buffer */ 261 H5T_vlen_writefunc_t write; /* Function to write VL sequence from buffer */ 262 H5T_vlen_setnullfunc_t setnull; /* Function to set a VL value to NIL */ 263 } H5T_vlen_t; 264 265 /* An opaque datatype */ 266 typedef struct H5T_opaque_t { 267 char *tag; /*short type description string */ 268 } H5T_opaque_t; 269 270 /* An array datatype */ 271 typedef struct H5T_array_t { 272 size_t nelem; /* total number of elements in array */ 273 unsigned ndims; /* member dimensionality */ 274 size_t dim[H5S_MAX_RANK]; /* size in each dimension */ 275 } H5T_array_t; 276 277 typedef enum H5T_state_t { 278 H5T_STATE_TRANSIENT, /*type is a modifiable, closable transient */ 279 H5T_STATE_RDONLY, /*transient, not modifiable, closable */ 280 H5T_STATE_IMMUTABLE, /*transient, not modifiable, not closable */ 281 H5T_STATE_NAMED, /*named constant, not open */ 282 H5T_STATE_OPEN /*named constant, open object header */ 283 } H5T_state_t; 284 285 /* This struct is shared between all occurances of an open named type */ 286 typedef struct H5T_shared_t { 287 hsize_t fo_count; /* number of references to this file object */ 288 H5T_state_t state; /*current state of the type */ 289 H5T_class_t type; /*which class of type is this? */ 290 size_t size; /*total size of an instance of this type */ 291 unsigned version; /* Version of object header message to encode this object with */ 292 hbool_t force_conv;/* Set if this type always needs to be converted and H5T__conv_noop cannot be called */ 293 struct H5T_t *parent;/*parent type for derived datatypes */ 294 union { 295 H5T_atomic_t atomic; /* an atomic datatype */ 296 H5T_compnd_t compnd; /* a compound datatype (struct) */ 297 H5T_enum_t enumer; /* an enumeration type (enum) */ 298 H5T_vlen_t vlen; /* a variable-length datatype */ 299 H5T_opaque_t opaque; /* an opaque datatype */ 300 H5T_array_t array; /* an array datatype */ 301 } u; 302 } H5T_shared_t; 303 304 struct H5T_t { 305 H5O_shared_t sh_loc; /* Shared message info (must be first) */ 306 307 H5T_shared_t *shared; /* all other information */ 308 H5O_loc_t oloc; /* Object location, if the type is a named type */ 309 H5G_name_t path; /* group hier. path if the type is a named type */ 310 }; 311 312 /* The master list of soft conversion functions */ 313 typedef struct H5T_soft_t { 314 char name[H5T_NAMELEN]; /*name for debugging only */ 315 H5T_class_t src; /*source datatype class */ 316 H5T_class_t dst; /*destination datatype class */ 317 H5T_conv_t func; /*the conversion function */ 318 } H5T_soft_t; 319 320 /* Bit search direction */ 321 typedef enum H5T_sdir_t { 322 H5T_BIT_LSB, /*search lsb toward msb */ 323 H5T_BIT_MSB /*search msb toward lsb */ 324 } H5T_sdir_t; 325 326 /* Typedef for named datatype creation operation */ 327 typedef struct { 328 H5T_t *dt; /* Datatype to commit */ 329 hid_t tcpl_id; /* Named datatype creation property list */ 330 } H5T_obj_create_t; 331 332 /* Typedef for datatype iteration operations */ 333 typedef herr_t (*H5T_operator_t)(H5T_t *dt, void *op_data/*in,out*/); 334 335 /* 336 * Alignment information for native types. A value of N indicates that the 337 * data must be aligned on an address ADDR such that 0 == ADDR mod N. When 338 * N=1 no alignment is required; N=0 implies that alignment constraints were 339 * not calculated. These alignment info is only for H5Tget_native_type. 340 * These values are used for structure alignment. 341 */ 342 H5_DLLVAR size_t H5T_NATIVE_SCHAR_COMP_ALIGN_g; 343 H5_DLLVAR size_t H5T_NATIVE_SHORT_COMP_ALIGN_g; 344 H5_DLLVAR size_t H5T_NATIVE_INT_COMP_ALIGN_g; 345 H5_DLLVAR size_t H5T_NATIVE_LONG_COMP_ALIGN_g; 346 H5_DLLVAR size_t H5T_NATIVE_LLONG_COMP_ALIGN_g; 347 H5_DLLVAR size_t H5T_NATIVE_FLOAT_COMP_ALIGN_g; 348 H5_DLLVAR size_t H5T_NATIVE_DOUBLE_COMP_ALIGN_g; 349 #if H5_SIZEOF_LONG_DOUBLE !=0 350 H5_DLLVAR size_t H5T_NATIVE_LDOUBLE_COMP_ALIGN_g; 351 #endif 352 353 H5_DLLVAR size_t H5T_POINTER_COMP_ALIGN_g; 354 H5_DLLVAR size_t H5T_HVL_COMP_ALIGN_g; 355 H5_DLLVAR size_t H5T_HOBJREF_COMP_ALIGN_g; 356 H5_DLLVAR size_t H5T_HDSETREGREF_COMP_ALIGN_g; 357 358 /* 359 * Alignment information for native types. A value of N indicates that the 360 * data must be aligned on an address ADDR such that 0 == ADDR mod N. When 361 * N=1 no alignment is required; N=0 implies that alignment constraints were 362 * not calculated. 363 */ 364 H5_DLLVAR size_t H5T_NATIVE_SCHAR_ALIGN_g; 365 H5_DLLVAR size_t H5T_NATIVE_UCHAR_ALIGN_g; 366 H5_DLLVAR size_t H5T_NATIVE_SHORT_ALIGN_g; 367 H5_DLLVAR size_t H5T_NATIVE_USHORT_ALIGN_g; 368 H5_DLLVAR size_t H5T_NATIVE_INT_ALIGN_g; 369 H5_DLLVAR size_t H5T_NATIVE_UINT_ALIGN_g; 370 H5_DLLVAR size_t H5T_NATIVE_LONG_ALIGN_g; 371 H5_DLLVAR size_t H5T_NATIVE_ULONG_ALIGN_g; 372 H5_DLLVAR size_t H5T_NATIVE_LLONG_ALIGN_g; 373 H5_DLLVAR size_t H5T_NATIVE_ULLONG_ALIGN_g; 374 H5_DLLVAR size_t H5T_NATIVE_FLOAT_ALIGN_g; 375 H5_DLLVAR size_t H5T_NATIVE_DOUBLE_ALIGN_g; 376 #if H5_SIZEOF_LONG_DOUBLE !=0 377 H5_DLLVAR size_t H5T_NATIVE_LDOUBLE_ALIGN_g; 378 #endif 379 380 /* C9x alignment constraints */ 381 H5_DLLVAR size_t H5T_NATIVE_INT8_ALIGN_g; 382 H5_DLLVAR size_t H5T_NATIVE_UINT8_ALIGN_g; 383 H5_DLLVAR size_t H5T_NATIVE_INT_LEAST8_ALIGN_g; 384 H5_DLLVAR size_t H5T_NATIVE_UINT_LEAST8_ALIGN_g; 385 H5_DLLVAR size_t H5T_NATIVE_INT_FAST8_ALIGN_g; 386 H5_DLLVAR size_t H5T_NATIVE_UINT_FAST8_ALIGN_g; 387 388 H5_DLLVAR size_t H5T_NATIVE_INT16_ALIGN_g; 389 H5_DLLVAR size_t H5T_NATIVE_UINT16_ALIGN_g; 390 H5_DLLVAR size_t H5T_NATIVE_INT_LEAST16_ALIGN_g; 391 H5_DLLVAR size_t H5T_NATIVE_UINT_LEAST16_ALIGN_g; 392 H5_DLLVAR size_t H5T_NATIVE_INT_FAST16_ALIGN_g; 393 H5_DLLVAR size_t H5T_NATIVE_UINT_FAST16_ALIGN_g; 394 395 H5_DLLVAR size_t H5T_NATIVE_INT32_ALIGN_g; 396 H5_DLLVAR size_t H5T_NATIVE_UINT32_ALIGN_g; 397 H5_DLLVAR size_t H5T_NATIVE_INT_LEAST32_ALIGN_g; 398 H5_DLLVAR size_t H5T_NATIVE_UINT_LEAST32_ALIGN_g; 399 H5_DLLVAR size_t H5T_NATIVE_INT_FAST32_ALIGN_g; 400 H5_DLLVAR size_t H5T_NATIVE_UINT_FAST32_ALIGN_g; 401 402 H5_DLLVAR size_t H5T_NATIVE_INT64_ALIGN_g; 403 H5_DLLVAR size_t H5T_NATIVE_UINT64_ALIGN_g; 404 H5_DLLVAR size_t H5T_NATIVE_INT_LEAST64_ALIGN_g; 405 H5_DLLVAR size_t H5T_NATIVE_UINT_LEAST64_ALIGN_g; 406 H5_DLLVAR size_t H5T_NATIVE_INT_FAST64_ALIGN_g; 407 H5_DLLVAR size_t H5T_NATIVE_UINT_FAST64_ALIGN_g; 408 409 /* Useful floating-point values for conversion routines */ 410 /* (+/- Inf for all floating-point types) */ 411 H5_DLLVAR float H5T_NATIVE_FLOAT_POS_INF_g; 412 H5_DLLVAR float H5T_NATIVE_FLOAT_NEG_INF_g; 413 H5_DLLVAR double H5T_NATIVE_DOUBLE_POS_INF_g; 414 H5_DLLVAR double H5T_NATIVE_DOUBLE_NEG_INF_g; 415 #if H5_SIZEOF_LONG_DOUBLE !=0 416 H5_DLLVAR double H5T_NATIVE_LDOUBLE_POS_INF_g; 417 H5_DLLVAR double H5T_NATIVE_LDOUBLE_NEG_INF_g; 418 #endif 419 420 /* Declare extern the free lists for H5T_t's and H5T_shared_t's */ 421 H5FL_EXTERN(H5T_t); 422 H5FL_EXTERN(H5T_shared_t); 423 424 /* Common functions */ 425 H5_DLL herr_t H5T__init_native(void); 426 H5_DLL H5T_t *H5T__create(H5T_class_t type, size_t size); 427 H5_DLL herr_t H5T__commit(H5F_t *file, H5T_t *type, hid_t tcpl_id, hid_t dxpl_id); 428 H5_DLL herr_t H5T__commit_named(const H5G_loc_t *loc, const char *name, 429 H5T_t *dt, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id, hid_t dxpl_id); 430 H5_DLL H5T_t *H5T__alloc(void); 431 H5_DLL herr_t H5T__free(H5T_t *dt); 432 H5_DLL herr_t H5T__visit(H5T_t *dt, unsigned visit_flags, H5T_operator_t op, 433 void *op_value); 434 H5_DLL herr_t H5T__upgrade_version(H5T_t *dt, unsigned new_version); 435 436 /* Conversion functions */ 437 H5_DLL herr_t H5T__conv_noop(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 438 size_t nelmts, size_t buf_stride, 439 size_t bkg_stride, void *buf, void *bkg, 440 hid_t dset_xfer_plist); 441 442 H5_DLL herr_t H5T__conv_order(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 443 size_t nelmts, size_t buf_stride, 444 size_t bkg_stride, void *_buf, void *bkg, 445 hid_t dset_xfer_plist); 446 H5_DLL herr_t H5T__conv_order_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 447 size_t nelmts, size_t buf_stride, 448 size_t bkg_stride, void *_buf, void *bkg, 449 hid_t dset_xfer_plist); 450 H5_DLL herr_t H5T__conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 451 size_t nelmts, size_t buf_stride, 452 size_t bkg_stride, void *_buf, void *bkg, 453 hid_t dset_xfer_plist); 454 H5_DLL herr_t H5T__conv_struct_opt(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 455 size_t nelmts, size_t buf_stride, 456 size_t bkg_stride, void *_buf, void *bkg, 457 hid_t dset_xfer_plist); 458 H5_DLL herr_t H5T__conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 459 size_t nelmts, size_t buf_stride, 460 size_t bkg_stride, void *buf, void *bkg, 461 hid_t dset_xfer_plist); 462 H5_DLL herr_t H5T__conv_enum_numeric(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 463 size_t nelmts, size_t buf_stride, 464 size_t bkg_stride, void *buf, void *bkg, 465 hid_t dset_xfer_plist); 466 H5_DLL herr_t H5T__conv_vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 467 size_t nelmts, size_t buf_stride, 468 size_t bkg_stride, void *buf, void *bkg, 469 hid_t dset_xfer_plist); 470 H5_DLL herr_t H5T__conv_array(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 471 size_t nelmts, size_t buf_stride, 472 size_t bkg_stride, void *buf, void *bkg, 473 hid_t dset_xfer_plist); 474 H5_DLL herr_t H5T__conv_i_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 475 size_t nelmts, size_t buf_stride, 476 size_t bkg_stride, void *_buf, void *bkg, 477 hid_t dset_xfer_plist); 478 H5_DLL herr_t H5T__conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 479 size_t nelmts, size_t buf_stride, 480 size_t bkg_stride, void *_buf, void *bkg, 481 hid_t dset_xfer_plist); 482 H5_DLL herr_t H5T__conv_f_i(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 483 size_t nelmts, size_t buf_stride, 484 size_t bkg_stride, void *_buf, void *bkg, 485 hid_t dset_xfer_plist); 486 H5_DLL herr_t H5T__conv_i_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 487 size_t nelmts, size_t buf_stride, 488 size_t bkg_stride, void *_buf, void *bkg, 489 hid_t dset_xfer_plist); 490 H5_DLL herr_t H5T__conv_s_s(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 491 size_t nelmts, size_t buf_stride, 492 size_t bkg_stride, void *_buf, void *bkg, 493 hid_t dset_xfer_plist); 494 H5_DLL herr_t H5T__conv_b_b(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 495 size_t nelmts, size_t buf_stride, 496 size_t bkg_stride, void *_buf, void *bkg, 497 hid_t dset_xfer_plist); 498 499 H5_DLL herr_t H5T__conv_schar_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 500 size_t nelmts, size_t buf_stride, 501 size_t bkg_stride, void *buf, void *bkg, 502 hid_t dset_xfer_plist); 503 H5_DLL herr_t H5T__conv_uchar_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 504 size_t nelmts, size_t buf_stride, 505 size_t bkg_stride, void *buf, void *bkg, 506 hid_t dset_xfer_plist); 507 H5_DLL herr_t H5T__conv_schar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 508 size_t nelmts, size_t buf_stride, 509 size_t bkg_stride, void *buf, void *bkg, 510 hid_t dset_xfer_plist); 511 H5_DLL herr_t H5T__conv_schar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 512 size_t nelmts, size_t buf_stride, 513 size_t bkg_stride, void *buf, void *bkg, 514 hid_t dset_xfer_plist); 515 H5_DLL herr_t H5T__conv_uchar_short(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 516 size_t nelmts, size_t buf_stride, 517 size_t bkg_stride, void *buf, void *bkg, 518 hid_t dset_xfer_plist); 519 H5_DLL herr_t H5T__conv_uchar_ushort(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, 520 size_t nelmts, size_t buf_stride, 521 size_t bkg_stride, void *buf, void *bkg, 522 hid_t dset_xfer_plist); 523 H5_DLL herr_t H5T__conv_schar_int(hid_t src_id, hid_t dst_id, 524 H5T_cdata_t *cdata, size_t nelmts, 525 size_t buf_stride, size_t bkg_stride, 526 void *buf, void *bkg, 527 hid_t dset_xfer_plist); 528 H5_DLL herr_t H5T__conv_schar_uint(hid_t src_id, hid_t dst_id, 529 H5T_cdata_t *cdata, size_t nelmts, 530 size_t buf_stride, size_t bkg_stride, 531 void *buf, void *bkg, 532 hid_t dset_xfer_plist); 533 H5_DLL herr_t H5T__conv_uchar_int(hid_t src_id, hid_t dst_id, 534 H5T_cdata_t *cdata, size_t nelmts, 535 size_t buf_stride, size_t bkg_stride, 536 void *buf, void *bkg, 537 hid_t dset_xfer_plist); 538 H5_DLL herr_t H5T__conv_uchar_uint(hid_t src_id, hid_t dst_id, 539 H5T_cdata_t *cdata, size_t nelmts, 540 size_t buf_stride, size_t bkg_stride, 541 void *buf, void *bkg, 542 hid_t dset_xfer_plist); 543 H5_DLL herr_t H5T__conv_schar_long(hid_t src_id, hid_t dst_id, 544 H5T_cdata_t *cdata, size_t nelmts, 545 size_t buf_stride, size_t bkg_stride, 546 void *buf, void *bkg, 547 hid_t dset_xfer_plist); 548 H5_DLL herr_t H5T__conv_schar_ulong(hid_t src_id, hid_t dst_id, 549 H5T_cdata_t *cdata, size_t nelmts, 550 size_t buf_stride, size_t bkg_stride, 551 void *buf, void *bkg, 552 hid_t dset_xfer_plist); 553 H5_DLL herr_t H5T__conv_uchar_long(hid_t src_id, hid_t dst_id, 554 H5T_cdata_t *cdata, size_t nelmts, 555 size_t buf_stride, size_t bkg_stride, 556 void *buf, void *bkg, 557 hid_t dset_xfer_plist); 558 H5_DLL herr_t H5T__conv_uchar_ulong(hid_t src_id, hid_t dst_id, 559 H5T_cdata_t *cdata, size_t nelmts, 560 size_t buf_stride, size_t bkg_stride, 561 void *buf, void *bkg, 562 hid_t dset_xfer_plist); 563 H5_DLL herr_t H5T__conv_schar_llong(hid_t src_id, hid_t dst_id, 564 H5T_cdata_t *cdata, size_t nelmts, 565 size_t buf_stride, size_t bkg_stride, 566 void *buf, void *bkg, 567 hid_t dset_xfer_plist); 568 H5_DLL herr_t H5T__conv_schar_ullong(hid_t src_id, hid_t dst_id, 569 H5T_cdata_t *cdata, size_t nelmts, 570 size_t buf_stride, size_t bkg_stride, 571 void *buf, void *bkg, 572 hid_t dset_xfer_plist); 573 H5_DLL herr_t H5T__conv_uchar_llong(hid_t src_id, hid_t dst_id, 574 H5T_cdata_t *cdata, size_t nelmts, 575 size_t buf_stride, size_t bkg_stride, 576 void *buf, void *bkg, 577 hid_t dset_xfer_plist); 578 H5_DLL herr_t H5T__conv_uchar_ullong(hid_t src_id, hid_t dst_id, 579 H5T_cdata_t *cdata, size_t nelmts, 580 size_t buf_stride, size_t bkg_stride, 581 void *buf, void *bkg, 582 hid_t dset_xfer_plist); 583 584 H5_DLL herr_t H5T__conv_short_schar(hid_t src_id, hid_t dst_id, 585 H5T_cdata_t *cdata, size_t nelmts, 586 size_t buf_stride, size_t bkg_stride, 587 void *buf, void *bkg, 588 hid_t dset_xfer_plist); 589 H5_DLL herr_t H5T__conv_short_uchar(hid_t src_id, hid_t dst_id, 590 H5T_cdata_t *cdata, size_t nelmts, 591 size_t buf_stride, size_t bkg_stride, 592 void *buf, void *bkg, 593 hid_t dset_xfer_plist); 594 H5_DLL herr_t H5T__conv_ushort_schar(hid_t src_id, hid_t dst_id, 595 H5T_cdata_t *cdata, size_t nelmts, 596 size_t buf_stride, size_t bkg_stride, 597 void *buf, void *bkg, 598 hid_t dset_xfer_plist); 599 H5_DLL herr_t H5T__conv_ushort_uchar(hid_t src_id, hid_t dst_id, 600 H5T_cdata_t *cdata, size_t nelmts, 601 size_t buf_stride, size_t bkg_stride, 602 void *buf, void *bkg, 603 hid_t dset_xfer_plist); 604 H5_DLL herr_t H5T__conv_short_ushort(hid_t src_id, hid_t dst_id, 605 H5T_cdata_t *cdata, size_t nelmts, 606 size_t buf_stride, size_t bkg_stride, 607 void *buf, void *bkg, 608 hid_t dset_xfer_plist); 609 H5_DLL herr_t H5T__conv_ushort_short(hid_t src_id, hid_t dst_id, 610 H5T_cdata_t *cdata, size_t nelmts, 611 size_t buf_stride, size_t bkg_stride, 612 void *buf, void *bkg, 613 hid_t dset_xfer_plist); 614 H5_DLL herr_t H5T__conv_short_int(hid_t src_id, hid_t dst_id, 615 H5T_cdata_t *cdata, size_t nelmts, 616 size_t buf_stride, size_t bkg_stride, 617 void *buf, void *bkg, 618 hid_t dset_xfer_plist); 619 H5_DLL herr_t H5T__conv_short_uint(hid_t src_id, hid_t dst_id, 620 H5T_cdata_t *cdata, size_t nelmts, 621 size_t buf_stride, size_t bkg_stride, 622 void *buf, void *bkg, 623 hid_t dset_xfer_plist); 624 H5_DLL herr_t H5T__conv_ushort_int(hid_t src_id, hid_t dst_id, 625 H5T_cdata_t *cdata, size_t nelmts, 626 size_t buf_stride, size_t bkg_stride, 627 void *buf, void *bkg, 628 hid_t dset_xfer_plist); 629 H5_DLL herr_t H5T__conv_ushort_uint(hid_t src_id, hid_t dst_id, 630 H5T_cdata_t *cdata, size_t nelmts, 631 size_t buf_stride, size_t bkg_stride, 632 void *buf, void *bkg, 633 hid_t dset_xfer_plist); 634 H5_DLL herr_t H5T__conv_short_long(hid_t src_id, hid_t dst_id, 635 H5T_cdata_t *cdata, size_t nelmts, 636 size_t buf_stride, size_t bkg_stride, 637 void *buf, void *bkg, 638 hid_t dset_xfer_plist); 639 H5_DLL herr_t H5T__conv_short_ulong(hid_t src_id, hid_t dst_id, 640 H5T_cdata_t *cdata, size_t nelmts, 641 size_t buf_stride, size_t bkg_stride, 642 void *buf, void *bkg, 643 hid_t dset_xfer_plist); 644 H5_DLL herr_t H5T__conv_ushort_long(hid_t src_id, hid_t dst_id, 645 H5T_cdata_t *cdata, size_t nelmts, 646 size_t buf_stride, size_t bkg_stride, 647 void *buf, void *bkg, 648 hid_t dset_xfer_plist); 649 H5_DLL herr_t H5T__conv_ushort_ulong(hid_t src_id, hid_t dst_id, 650 H5T_cdata_t *cdata, size_t nelmts, 651 size_t buf_stride, size_t bkg_stride, 652 void *buf, void *bkg, 653 hid_t dset_xfer_plist); 654 H5_DLL herr_t H5T__conv_short_llong(hid_t src_id, hid_t dst_id, 655 H5T_cdata_t *cdata, size_t nelmts, 656 size_t buf_stride, size_t bkg_stride, 657 void *buf, void *bkg, 658 hid_t dset_xfer_plist); 659 H5_DLL herr_t H5T__conv_short_ullong(hid_t src_id, hid_t dst_id, 660 H5T_cdata_t *cdata, size_t nelmts, 661 size_t buf_stride, size_t bkg_stride, 662 void *buf, void *bkg, 663 hid_t dset_xfer_plist); 664 H5_DLL herr_t H5T__conv_ushort_llong(hid_t src_id, hid_t dst_id, 665 H5T_cdata_t *cdata, size_t nelmts, 666 size_t buf_stride, size_t bkg_stride, 667 void *buf, void *bkg, 668 hid_t dset_xfer_plist); 669 H5_DLL herr_t H5T__conv_ushort_ullong(hid_t src_id, hid_t dst_id, 670 H5T_cdata_t *cdata, size_t nelmts, 671 size_t buf_stride, size_t bkg_stride, 672 void *buf, void *bkg, 673 hid_t dset_xfer_plist); 674 675 H5_DLL herr_t H5T__conv_int_schar(hid_t src_id, hid_t dst_id, 676 H5T_cdata_t *cdata, size_t nelmts, 677 size_t buf_stride, size_t bkg_stride, 678 void *buf, void *bkg, 679 hid_t dset_xfer_plist); 680 H5_DLL herr_t H5T__conv_int_uchar(hid_t src_id, hid_t dst_id, 681 H5T_cdata_t *cdata, size_t nelmts, 682 size_t buf_stride, size_t bkg_stride, 683 void *buf, void *bkg, 684 hid_t dset_xfer_plist); 685 H5_DLL herr_t H5T__conv_uint_schar(hid_t src_id, hid_t dst_id, 686 H5T_cdata_t *cdata, size_t nelmts, 687 size_t buf_stride, size_t bkg_stride, 688 void *buf, void *bkg, 689 hid_t dset_xfer_plist); 690 H5_DLL herr_t H5T__conv_uint_uchar(hid_t src_id, hid_t dst_id, 691 H5T_cdata_t *cdata, size_t nelmts, 692 size_t buf_stride, size_t bkg_stride, 693 void *buf, void *bkg, 694 hid_t dset_xfer_plist); 695 H5_DLL herr_t H5T__conv_int_short(hid_t src_id, hid_t dst_id, 696 H5T_cdata_t *cdata, size_t nelmts, 697 size_t buf_stride, size_t bkg_stride, 698 void *buf, void *bkg, 699 hid_t dset_xfer_plist); 700 H5_DLL herr_t H5T__conv_int_ushort(hid_t src_id, hid_t dst_id, 701 H5T_cdata_t *cdata, size_t nelmts, 702 size_t buf_stride, size_t bkg_stride, 703 void *buf, void *bkg, 704 hid_t dset_xfer_plist); 705 H5_DLL herr_t H5T__conv_uint_short(hid_t src_id, hid_t dst_id, 706 H5T_cdata_t *cdata, size_t nelmts, 707 size_t buf_stride, size_t bkg_stride, 708 void *buf, void *bkg, 709 hid_t dset_xfer_plist); 710 H5_DLL herr_t H5T__conv_uint_ushort(hid_t src_id, hid_t dst_id, 711 H5T_cdata_t *cdata, size_t nelmts, 712 size_t buf_stride, size_t bkg_stride, 713 void *buf, void *bkg, 714 hid_t dset_xfer_plist); 715 H5_DLL herr_t H5T__conv_int_uint(hid_t src_id, hid_t dst_id, 716 H5T_cdata_t *cdata, size_t nelmts, 717 size_t buf_stride, size_t bkg_stride, 718 void *buf, void *bkg, 719 hid_t dset_xfer_plist); 720 H5_DLL herr_t H5T__conv_uint_int(hid_t src_id, hid_t dst_id, 721 H5T_cdata_t *cdata, size_t nelmts, 722 size_t buf_stride, size_t bkg_stride, 723 void *buf, void *bkg, 724 hid_t dset_xfer_plist); 725 H5_DLL herr_t H5T__conv_int_long(hid_t src_id, hid_t dst_id, 726 H5T_cdata_t *cdata, size_t nelmts, 727 size_t buf_stride, size_t bkg_stride, 728 void *buf, void *bkg, 729 hid_t dset_xfer_plist); 730 H5_DLL herr_t H5T__conv_int_ulong(hid_t src_id, hid_t dst_id, 731 H5T_cdata_t *cdata, size_t nelmts, 732 size_t buf_stride, size_t bkg_stride, 733 void *buf, void *bkg, 734 hid_t dset_xfer_plist); 735 H5_DLL herr_t H5T__conv_uint_long(hid_t src_id, hid_t dst_id, 736 H5T_cdata_t *cdata, size_t nelmts, 737 size_t buf_stride, size_t bkg_stride, 738 void *buf, void *bkg, 739 hid_t dset_xfer_plist); 740 H5_DLL herr_t H5T__conv_uint_ulong(hid_t src_id, hid_t dst_id, 741 H5T_cdata_t *cdata, size_t nelmts, 742 size_t buf_stride, size_t bkg_stride, 743 void *buf, void *bkg, 744 hid_t dset_xfer_plist); 745 H5_DLL herr_t H5T__conv_int_llong(hid_t src_id, hid_t dst_id, 746 H5T_cdata_t *cdata, size_t nelmts, 747 size_t buf_stride, size_t bkg_stride, 748 void *buf, void *bkg, 749 hid_t dset_xfer_plist); 750 H5_DLL herr_t H5T__conv_int_ullong(hid_t src_id, hid_t dst_id, 751 H5T_cdata_t *cdata, size_t nelmts, 752 size_t buf_stride, size_t bkg_stride, 753 void *buf, void *bkg, 754 hid_t dset_xfer_plist); 755 H5_DLL herr_t H5T__conv_uint_llong(hid_t src_id, hid_t dst_id, 756 H5T_cdata_t *cdata, size_t nelmts, 757 size_t buf_stride, size_t bkg_stride, 758 void *buf, void *bkg, 759 hid_t dset_xfer_plist); 760 H5_DLL herr_t H5T__conv_uint_ullong(hid_t src_id, hid_t dst_id, 761 H5T_cdata_t *cdata, size_t nelmts, 762 size_t buf_stride, size_t bkg_stride, 763 void *buf, void *bkg, 764 hid_t dset_xfer_plist); 765 766 H5_DLL herr_t H5T__conv_long_schar(hid_t src_id, hid_t dst_id, 767 H5T_cdata_t *cdata, size_t nelmts, 768 size_t buf_stride, size_t bkg_stride, 769 void *buf, void *bkg, 770 hid_t dset_xfer_plist); 771 H5_DLL herr_t H5T__conv_long_uchar(hid_t src_id, hid_t dst_id, 772 H5T_cdata_t *cdata, size_t nelmts, 773 size_t buf_stride, size_t bkg_stride, 774 void *buf, void *bkg, 775 hid_t dset_xfer_plist); 776 H5_DLL herr_t H5T__conv_ulong_schar(hid_t src_id, hid_t dst_id, 777 H5T_cdata_t *cdata, size_t nelmts, 778 size_t buf_stride, size_t bkg_stride, 779 void *buf, void *bkg, 780 hid_t dset_xfer_plist); 781 H5_DLL herr_t H5T__conv_ulong_uchar(hid_t src_id, hid_t dst_id, 782 H5T_cdata_t *cdata, size_t nelmts, 783 size_t buf_stride, size_t bkg_stride, 784 void *buf, void *bkg, 785 hid_t dset_xfer_plist); 786 H5_DLL herr_t H5T__conv_long_short(hid_t src_id, hid_t dst_id, 787 H5T_cdata_t *cdata, size_t nelmts, 788 size_t buf_stride, size_t bkg_stride, 789 void *buf, void *bkg, 790 hid_t dset_xfer_plist); 791 H5_DLL herr_t H5T__conv_long_ushort(hid_t src_id, hid_t dst_id, 792 H5T_cdata_t *cdata, size_t nelmts, 793 size_t buf_stride, size_t bkg_stride, 794 void *buf, void *bkg, 795 hid_t dset_xfer_plist); 796 H5_DLL herr_t H5T__conv_ulong_short(hid_t src_id, hid_t dst_id, 797 H5T_cdata_t *cdata, size_t nelmts, 798 size_t buf_stride, size_t bkg_stride, 799 void *buf, void *bkg, 800 hid_t dset_xfer_plist); 801 H5_DLL herr_t H5T__conv_ulong_ushort(hid_t src_id, hid_t dst_id, 802 H5T_cdata_t *cdata, size_t nelmts, 803 size_t buf_stride, size_t bkg_stride, 804 void *buf, void *bkg, 805 hid_t dset_xfer_plist); 806 H5_DLL herr_t H5T__conv_long_int(hid_t src_id, hid_t dst_id, 807 H5T_cdata_t *cdata, size_t nelmts, 808 size_t buf_stride, size_t bkg_stride, 809 void *buf, void *bkg, 810 hid_t dset_xfer_plist); 811 H5_DLL herr_t H5T__conv_long_uint(hid_t src_id, hid_t dst_id, 812 H5T_cdata_t *cdata, size_t nelmts, 813 size_t buf_stride, size_t bkg_stride, 814 void *buf, void *bkg, 815 hid_t dset_xfer_plist); 816 H5_DLL herr_t H5T__conv_ulong_int(hid_t src_id, hid_t dst_id, 817 H5T_cdata_t *cdata, size_t nelmts, 818 size_t buf_stride, size_t bkg_stride, 819 void *buf, void *bkg, 820 hid_t dset_xfer_plist); 821 H5_DLL herr_t H5T__conv_ulong_uint(hid_t src_id, hid_t dst_id, 822 H5T_cdata_t *cdata, size_t nelmts, 823 size_t buf_stride, size_t bkg_stride, 824 void *buf, void *bkg, 825 hid_t dset_xfer_plist); 826 H5_DLL herr_t H5T__conv_long_ulong(hid_t src_id, hid_t dst_id, 827 H5T_cdata_t *cdata, size_t nelmts, 828 size_t buf_stride, size_t bkg_stride, 829 void *buf, void *bkg, 830 hid_t dset_xfer_plist); 831 H5_DLL herr_t H5T__conv_ulong_long(hid_t src_id, hid_t dst_id, 832 H5T_cdata_t *cdata, size_t nelmts, 833 size_t buf_stride, size_t bkg_stride, 834 void *buf, void *bkg, 835 hid_t dset_xfer_plist); 836 H5_DLL herr_t H5T__conv_long_llong(hid_t src_id, hid_t dst_id, 837 H5T_cdata_t *cdata, size_t nelmts, 838 size_t buf_stride, size_t bkg_stride, 839 void *buf, void *bkg, 840 hid_t dset_xfer_plist); 841 H5_DLL herr_t H5T__conv_long_ullong(hid_t src_id, hid_t dst_id, 842 H5T_cdata_t *cdata, size_t nelmts, 843 size_t buf_stride, size_t bkg_stride, 844 void *buf, void *bkg, 845 hid_t dset_xfer_plist); 846 H5_DLL herr_t H5T__conv_ulong_llong(hid_t src_id, hid_t dst_id, 847 H5T_cdata_t *cdata, size_t nelmts, 848 size_t buf_stride, size_t bkg_stride, 849 void *buf, void *bkg, 850 hid_t dset_xfer_plist); 851 H5_DLL herr_t H5T__conv_ulong_ullong(hid_t src_id, hid_t dst_id, 852 H5T_cdata_t *cdata, size_t nelmts, 853 size_t buf_stride, size_t bkg_stride, 854 void *buf, void *bkg, 855 hid_t dset_xfer_plist); 856 857 H5_DLL herr_t H5T__conv_llong_schar(hid_t src_id, hid_t dst_id, 858 H5T_cdata_t *cdata, size_t nelmts, 859 size_t buf_stride, size_t bkg_stride, 860 void *buf, void *bkg, 861 hid_t dset_xfer_plist); 862 H5_DLL herr_t H5T__conv_llong_uchar(hid_t src_id, hid_t dst_id, 863 H5T_cdata_t *cdata, size_t nelmts, 864 size_t buf_stride, size_t bkg_stride, 865 void *buf, void *bkg, 866 hid_t dset_xfer_plist); 867 H5_DLL herr_t H5T__conv_ullong_schar(hid_t src_id, hid_t dst_id, 868 H5T_cdata_t *cdata, size_t nelmts, 869 size_t buf_stride, size_t bkg_stride, 870 void *buf, void *bkg, 871 hid_t dset_xfer_plist); 872 H5_DLL herr_t H5T__conv_ullong_uchar(hid_t src_id, hid_t dst_id, 873 H5T_cdata_t *cdata, size_t nelmts, 874 size_t buf_stride, size_t bkg_stride, 875 void *buf, void *bkg, 876 hid_t dset_xfer_plist); 877 H5_DLL herr_t H5T__conv_llong_short(hid_t src_id, hid_t dst_id, 878 H5T_cdata_t *cdata, size_t nelmts, 879 size_t buf_stride, size_t bkg_stride, 880 void *buf, void *bkg, 881 hid_t dset_xfer_plist); 882 H5_DLL herr_t H5T__conv_llong_ushort(hid_t src_id, hid_t dst_id, 883 H5T_cdata_t *cdata, size_t nelmts, 884 size_t buf_stride, size_t bkg_stride, 885 void *buf, void *bkg, 886 hid_t dset_xfer_plist); 887 H5_DLL herr_t H5T__conv_ullong_short(hid_t src_id, hid_t dst_id, 888 H5T_cdata_t *cdata, size_t nelmts, 889 size_t buf_stride, size_t bkg_stride, 890 void *buf, void *bkg, 891 hid_t dset_xfer_plist); 892 H5_DLL herr_t H5T__conv_ullong_ushort(hid_t src_id, hid_t dst_id, 893 H5T_cdata_t *cdata, size_t nelmts, 894 size_t buf_stride, size_t bkg_stride, 895 void *buf, void *bkg, 896 hid_t dset_xfer_plist); 897 H5_DLL herr_t H5T__conv_llong_int(hid_t src_id, hid_t dst_id, 898 H5T_cdata_t *cdata, size_t nelmts, 899 size_t buf_stride, size_t bkg_stride, 900 void *buf, void *bkg, 901 hid_t dset_xfer_plist); 902 H5_DLL herr_t H5T__conv_llong_uint(hid_t src_id, hid_t dst_id, 903 H5T_cdata_t *cdata, size_t nelmts, 904 size_t buf_stride, size_t bkg_stride, 905 void *buf, void *bkg, 906 hid_t dset_xfer_plist); 907 H5_DLL herr_t H5T__conv_ullong_int(hid_t src_id, hid_t dst_id, 908 H5T_cdata_t *cdata, size_t nelmts, 909 size_t buf_stride, size_t bkg_stride, 910 void *buf, void *bkg, 911 hid_t dset_xfer_plist); 912 H5_DLL herr_t H5T__conv_ullong_uint(hid_t src_id, hid_t dst_id, 913 H5T_cdata_t *cdata, size_t nelmts, 914 size_t buf_stride, size_t bkg_stride, 915 void *buf, void *bkg, 916 hid_t dset_xfer_plist); 917 H5_DLL herr_t H5T__conv_llong_long(hid_t src_id, hid_t dst_id, 918 H5T_cdata_t *cdata, size_t nelmts, 919 size_t buf_stride, size_t bkg_stride, 920 void *buf, void *bkg, 921 hid_t dset_xfer_plist); 922 H5_DLL herr_t H5T__conv_llong_ulong(hid_t src_id, hid_t dst_id, 923 H5T_cdata_t *cdata, size_t nelmts, 924 size_t buf_stride, size_t bkg_stride, 925 void *buf, void *bkg, 926 hid_t dset_xfer_plist); 927 H5_DLL herr_t H5T__conv_ullong_long(hid_t src_id, hid_t dst_id, 928 H5T_cdata_t *cdata, size_t nelmts, 929 size_t buf_stride, size_t bkg_stride, 930 void *buf, void *bkg, 931 hid_t dset_xfer_plist); 932 H5_DLL herr_t H5T__conv_ullong_ulong(hid_t src_id, hid_t dst_id, 933 H5T_cdata_t *cdata, size_t nelmts, 934 size_t buf_stride, size_t bkg_stride, 935 void *buf, void *bkg, 936 hid_t dset_xfer_plist); 937 H5_DLL herr_t H5T__conv_llong_ullong(hid_t src_id, hid_t dst_id, 938 H5T_cdata_t *cdata, size_t nelmts, 939 size_t buf_stride, size_t bkg_stride, 940 void *buf, void *bkg, 941 hid_t dset_xfer_plist); 942 H5_DLL herr_t H5T__conv_ullong_llong(hid_t src_id, hid_t dst_id, 943 H5T_cdata_t *cdata, size_t nelmts, 944 size_t buf_stride, size_t bkg_stride, 945 void *buf, void *bkg, 946 hid_t dset_xfer_plist); 947 H5_DLL herr_t H5T__conv_float_double(hid_t src_id, hid_t dst_id, 948 H5T_cdata_t *cdata, size_t nelmts, 949 size_t buf_stride, size_t bkg_stride, 950 void *buf, void *bkg, 951 hid_t dset_xfer_plist); 952 H5_DLL herr_t H5T__conv_float_ldouble(hid_t src_id, hid_t dst_id, 953 H5T_cdata_t *cdata, size_t nelmts, 954 size_t buf_stride, size_t bkg_stride, 955 void *buf, void *bkg, 956 hid_t dset_xfer_plist); 957 H5_DLL herr_t H5T__conv_double_float(hid_t src_id, hid_t dst_id, 958 H5T_cdata_t *cdata, size_t nelmts, 959 size_t buf_stride, size_t bkg_stride, 960 void *buf, void *bkg, 961 hid_t dset_xfer_plist); 962 H5_DLL herr_t H5T__conv_double_ldouble(hid_t src_id, hid_t dst_id, 963 H5T_cdata_t *cdata, size_t nelmts, 964 size_t buf_stride, size_t bkg_stride, 965 void *buf, void *bkg, 966 hid_t dset_xfer_plist); 967 H5_DLL herr_t H5T__conv_ldouble_float(hid_t src_id, hid_t dst_id, 968 H5T_cdata_t *cdata, size_t nelmts, 969 size_t buf_stride, size_t bkg_stride, 970 void *buf, void *bkg, 971 hid_t dset_xfer_plist); 972 H5_DLL herr_t H5T__conv_ldouble_double(hid_t src_id, hid_t dst_id, 973 H5T_cdata_t *cdata, size_t nelmts, 974 size_t buf_stride, size_t bkg_stride, 975 void *buf, void *bkg, 976 hid_t dset_xfer_plist); 977 H5_DLL herr_t H5T__conv_schar_float(hid_t src_id, hid_t dst_id, 978 H5T_cdata_t *cdata, size_t nelmts, 979 size_t buf_stride, size_t bkg_stride, 980 void *buf, void *bkg, 981 hid_t dset_xfer_plist); 982 H5_DLL herr_t H5T__conv_schar_double(hid_t src_id, hid_t dst_id, 983 H5T_cdata_t *cdata, size_t nelmts, 984 size_t buf_stride, size_t bkg_stride, 985 void *buf, void *bkg, 986 hid_t dset_xfer_plist); 987 H5_DLL herr_t H5T__conv_schar_ldouble(hid_t src_id, hid_t dst_id, 988 H5T_cdata_t *cdata, size_t nelmts, 989 size_t buf_stride, size_t bkg_stride, 990 void *buf, void *bkg, 991 hid_t dset_xfer_plist); 992 H5_DLL herr_t H5T__conv_uchar_float(hid_t src_id, hid_t dst_id, 993 H5T_cdata_t *cdata, size_t nelmts, 994 size_t buf_stride, size_t bkg_stride, 995 void *buf, void *bkg, 996 hid_t dset_xfer_plist); 997 H5_DLL herr_t H5T__conv_uchar_double(hid_t src_id, hid_t dst_id, 998 H5T_cdata_t *cdata, size_t nelmts, 999 size_t buf_stride, size_t bkg_stride, 1000 void *buf, void *bkg, 1001 hid_t dset_xfer_plist); 1002 H5_DLL herr_t H5T__conv_uchar_ldouble(hid_t src_id, hid_t dst_id, 1003 H5T_cdata_t *cdata, size_t nelmts, 1004 size_t buf_stride, size_t bkg_stride, 1005 void *buf, void *bkg, 1006 hid_t dset_xfer_plist); 1007 H5_DLL herr_t H5T__conv_short_float(hid_t src_id, hid_t dst_id, 1008 H5T_cdata_t *cdata, size_t nelmts, 1009 size_t buf_stride, size_t bkg_stride, 1010 void *buf, void *bkg, 1011 hid_t dset_xfer_plist); 1012 H5_DLL herr_t H5T__conv_short_double(hid_t src_id, hid_t dst_id, 1013 H5T_cdata_t *cdata, size_t nelmts, 1014 size_t buf_stride, size_t bkg_stride, 1015 void *buf, void *bkg, 1016 hid_t dset_xfer_plist); 1017 H5_DLL herr_t H5T__conv_short_ldouble(hid_t src_id, hid_t dst_id, 1018 H5T_cdata_t *cdata, size_t nelmts, 1019 size_t buf_stride, size_t bkg_stride, 1020 void *buf, void *bkg, 1021 hid_t dset_xfer_plist); 1022 H5_DLL herr_t H5T__conv_ushort_float(hid_t src_id, hid_t dst_id, 1023 H5T_cdata_t *cdata, size_t nelmts, 1024 size_t buf_stride, size_t bkg_stride, 1025 void *buf, void *bkg, 1026 hid_t dset_xfer_plist); 1027 H5_DLL herr_t H5T__conv_ushort_double(hid_t src_id, hid_t dst_id, 1028 H5T_cdata_t *cdata, size_t nelmts, 1029 size_t buf_stride, size_t bkg_stride, 1030 void *buf, void *bkg, 1031 hid_t dset_xfer_plist); 1032 H5_DLL herr_t H5T__conv_ushort_ldouble(hid_t src_id, hid_t dst_id, 1033 H5T_cdata_t *cdata, size_t nelmts, 1034 size_t buf_stride, size_t bkg_stride, 1035 void *buf, void *bkg, 1036 hid_t dset_xfer_plist); 1037 H5_DLL herr_t H5T__conv_int_float(hid_t src_id, hid_t dst_id, 1038 H5T_cdata_t *cdata, size_t nelmts, 1039 size_t buf_stride, size_t bkg_stride, 1040 void *buf, void *bkg, 1041 hid_t dset_xfer_plist); 1042 H5_DLL herr_t H5T__conv_int_double(hid_t src_id, hid_t dst_id, 1043 H5T_cdata_t *cdata, size_t nelmts, 1044 size_t buf_stride, size_t bkg_stride, 1045 void *buf, void *bkg, 1046 hid_t dset_xfer_plist); 1047 H5_DLL herr_t H5T__conv_int_ldouble(hid_t src_id, hid_t dst_id, 1048 H5T_cdata_t *cdata, size_t nelmts, 1049 size_t buf_stride, size_t bkg_stride, 1050 void *buf, void *bkg, 1051 hid_t dset_xfer_plist); 1052 H5_DLL herr_t H5T__conv_uint_float(hid_t src_id, hid_t dst_id, 1053 H5T_cdata_t *cdata, size_t nelmts, 1054 size_t buf_stride, size_t bkg_stride, 1055 void *buf, void *bkg, 1056 hid_t dset_xfer_plist); 1057 H5_DLL herr_t H5T__conv_uint_double(hid_t src_id, hid_t dst_id, 1058 H5T_cdata_t *cdata, size_t nelmts, 1059 size_t buf_stride, size_t bkg_stride, 1060 void *buf, void *bkg, 1061 hid_t dset_xfer_plist); 1062 H5_DLL herr_t H5T__conv_uint_ldouble(hid_t src_id, hid_t dst_id, 1063 H5T_cdata_t *cdata, size_t nelmts, 1064 size_t buf_stride, size_t bkg_stride, 1065 void *buf, void *bkg, 1066 hid_t dset_xfer_plist); 1067 H5_DLL herr_t H5T__conv_long_float(hid_t src_id, hid_t dst_id, 1068 H5T_cdata_t *cdata, size_t nelmts, 1069 size_t buf_stride, size_t bkg_stride, 1070 void *buf, void *bkg, 1071 hid_t dset_xfer_plist); 1072 H5_DLL herr_t H5T__conv_long_double(hid_t src_id, hid_t dst_id, 1073 H5T_cdata_t *cdata, size_t nelmts, 1074 size_t buf_stride, size_t bkg_stride, 1075 void *buf, void *bkg, 1076 hid_t dset_xfer_plist); 1077 H5_DLL herr_t H5T__conv_long_ldouble(hid_t src_id, hid_t dst_id, 1078 H5T_cdata_t *cdata, size_t nelmts, 1079 size_t buf_stride, size_t bkg_stride, 1080 void *buf, void *bkg, 1081 hid_t dset_xfer_plist); 1082 H5_DLL herr_t H5T__conv_ulong_float(hid_t src_id, hid_t dst_id, 1083 H5T_cdata_t *cdata, size_t nelmts, 1084 size_t buf_stride, size_t bkg_stride, 1085 void *buf, void *bkg, 1086 hid_t dset_xfer_plist); 1087 H5_DLL herr_t H5T__conv_ulong_double(hid_t src_id, hid_t dst_id, 1088 H5T_cdata_t *cdata, size_t nelmts, 1089 size_t buf_stride, size_t bkg_stride, 1090 void *buf, void *bkg, 1091 hid_t dset_xfer_plist); 1092 H5_DLL herr_t H5T__conv_ulong_ldouble(hid_t src_id, hid_t dst_id, 1093 H5T_cdata_t *cdata, size_t nelmts, 1094 size_t buf_stride, size_t bkg_stride, 1095 void *buf, void *bkg, 1096 hid_t dset_xfer_plist); 1097 H5_DLL herr_t H5T__conv_llong_float(hid_t src_id, hid_t dst_id, 1098 H5T_cdata_t *cdata, size_t nelmts, 1099 size_t buf_stride, size_t bkg_stride, 1100 void *buf, void *bkg, 1101 hid_t dset_xfer_plist); 1102 H5_DLL herr_t H5T__conv_llong_double(hid_t src_id, hid_t dst_id, 1103 H5T_cdata_t *cdata, size_t nelmts, 1104 size_t buf_stride, size_t bkg_stride, 1105 void *buf, void *bkg, 1106 hid_t dset_xfer_plist); 1107 H5_DLL herr_t H5T__conv_llong_ldouble(hid_t src_id, hid_t dst_id, 1108 H5T_cdata_t *cdata, size_t nelmts, 1109 size_t buf_stride, size_t bkg_stride, 1110 void *buf, void *bkg, 1111 hid_t dset_xfer_plist); 1112 H5_DLL herr_t H5T__conv_ullong_float(hid_t src_id, hid_t dst_id, 1113 H5T_cdata_t *cdata, size_t nelmts, 1114 size_t buf_stride, size_t bkg_stride, 1115 void *buf, void *bkg, 1116 hid_t dset_xfer_plist); 1117 H5_DLL herr_t H5T__conv_ullong_double(hid_t src_id, hid_t dst_id, 1118 H5T_cdata_t *cdata, size_t nelmts, 1119 size_t buf_stride, size_t bkg_stride, 1120 void *buf, void *bkg, 1121 hid_t dset_xfer_plist); 1122 H5_DLL herr_t H5T__conv_ullong_ldouble(hid_t src_id, hid_t dst_id, 1123 H5T_cdata_t *cdata, size_t nelmts, 1124 size_t buf_stride, size_t bkg_stride, 1125 void *buf, void *bkg, 1126 hid_t dset_xfer_plist); 1127 H5_DLL herr_t H5T__conv_float_schar(hid_t src_id, hid_t dst_id, 1128 H5T_cdata_t *cdata, size_t nelmts, 1129 size_t buf_stride, size_t bkg_stride, 1130 void *buf, void *bkg, 1131 hid_t dset_xfer_plist); 1132 H5_DLL herr_t H5T__conv_float_uchar(hid_t src_id, hid_t dst_id, 1133 H5T_cdata_t *cdata, size_t nelmts, 1134 size_t buf_stride, size_t bkg_stride, 1135 void *buf, void *bkg, 1136 hid_t dset_xfer_plist); 1137 H5_DLL herr_t H5T__conv_float_short(hid_t src_id, hid_t dst_id, 1138 H5T_cdata_t *cdata, size_t nelmts, 1139 size_t buf_stride, size_t bkg_stride, 1140 void *buf, void *bkg, 1141 hid_t dset_xfer_plist); 1142 H5_DLL herr_t H5T__conv_float_ushort(hid_t src_id, hid_t dst_id, 1143 H5T_cdata_t *cdata, size_t nelmts, 1144 size_t buf_stride, size_t bkg_stride, 1145 void *buf, void *bkg, 1146 hid_t dset_xfer_plist); 1147 H5_DLL herr_t H5T__conv_float_int(hid_t src_id, hid_t dst_id, 1148 H5T_cdata_t *cdata, size_t nelmts, 1149 size_t buf_stride, size_t bkg_stride, 1150 void *buf, void *bkg, 1151 hid_t dset_xfer_plist); 1152 H5_DLL herr_t H5T__conv_float_uint(hid_t src_id, hid_t dst_id, 1153 H5T_cdata_t *cdata, size_t nelmts, 1154 size_t buf_stride, size_t bkg_stride, 1155 void *buf, void *bkg, 1156 hid_t dset_xfer_plist); 1157 H5_DLL herr_t H5T__conv_float_long(hid_t src_id, hid_t dst_id, 1158 H5T_cdata_t *cdata, size_t nelmts, 1159 size_t buf_stride, size_t bkg_stride, 1160 void *buf, void *bkg, 1161 hid_t dset_xfer_plist); 1162 H5_DLL herr_t H5T__conv_float_ulong(hid_t src_id, hid_t dst_id, 1163 H5T_cdata_t *cdata, size_t nelmts, 1164 size_t buf_stride, size_t bkg_stride, 1165 void *buf, void *bkg, 1166 hid_t dset_xfer_plist); 1167 H5_DLL herr_t H5T__conv_float_llong(hid_t src_id, hid_t dst_id, 1168 H5T_cdata_t *cdata, size_t nelmts, 1169 size_t buf_stride, size_t bkg_stride, 1170 void *buf, void *bkg, 1171 hid_t dset_xfer_plist); 1172 H5_DLL herr_t H5T__conv_float_ullong(hid_t src_id, hid_t dst_id, 1173 H5T_cdata_t *cdata, size_t nelmts, 1174 size_t buf_stride, size_t bkg_stride, 1175 void *buf, void *bkg, 1176 hid_t dset_xfer_plist); 1177 H5_DLL herr_t H5T__conv_double_schar(hid_t src_id, hid_t dst_id, 1178 H5T_cdata_t *cdata, size_t nelmts, 1179 size_t buf_stride, size_t bkg_stride, 1180 void *buf, void *bkg, 1181 hid_t dset_xfer_plist); 1182 H5_DLL herr_t H5T__conv_double_uchar(hid_t src_id, hid_t dst_id, 1183 H5T_cdata_t *cdata, size_t nelmts, 1184 size_t buf_stride, size_t bkg_stride, 1185 void *buf, void *bkg, 1186 hid_t dset_xfer_plist); 1187 H5_DLL herr_t H5T__conv_double_short(hid_t src_id, hid_t dst_id, 1188 H5T_cdata_t *cdata, size_t nelmts, 1189 size_t buf_stride, size_t bkg_stride, 1190 void *buf, void *bkg, 1191 hid_t dset_xfer_plist); 1192 H5_DLL herr_t H5T__conv_double_ushort(hid_t src_id, hid_t dst_id, 1193 H5T_cdata_t *cdata, size_t nelmts, 1194 size_t buf_stride, size_t bkg_stride, 1195 void *buf, void *bkg, 1196 hid_t dset_xfer_plist); 1197 H5_DLL herr_t H5T__conv_double_int(hid_t src_id, hid_t dst_id, 1198 H5T_cdata_t *cdata, size_t nelmts, 1199 size_t buf_stride, size_t bkg_stride, 1200 void *buf, void *bkg, 1201 hid_t dset_xfer_plist); 1202 H5_DLL herr_t H5T__conv_double_uint(hid_t src_id, hid_t dst_id, 1203 H5T_cdata_t *cdata, size_t nelmts, 1204 size_t buf_stride, size_t bkg_stride, 1205 void *buf, void *bkg, 1206 hid_t dset_xfer_plist); 1207 H5_DLL herr_t H5T__conv_double_long(hid_t src_id, hid_t dst_id, 1208 H5T_cdata_t *cdata, size_t nelmts, 1209 size_t buf_stride, size_t bkg_stride, 1210 void *buf, void *bkg, 1211 hid_t dset_xfer_plist); 1212 H5_DLL herr_t H5T__conv_double_ulong(hid_t src_id, hid_t dst_id, 1213 H5T_cdata_t *cdata, size_t nelmts, 1214 size_t buf_stride, size_t bkg_stride, 1215 void *buf, void *bkg, 1216 hid_t dset_xfer_plist); 1217 H5_DLL herr_t H5T__conv_double_llong(hid_t src_id, hid_t dst_id, 1218 H5T_cdata_t *cdata, size_t nelmts, 1219 size_t buf_stride, size_t bkg_stride, 1220 void *buf, void *bkg, 1221 hid_t dset_xfer_plist); 1222 H5_DLL herr_t H5T__conv_double_ullong(hid_t src_id, hid_t dst_id, 1223 H5T_cdata_t *cdata, size_t nelmts, 1224 size_t buf_stride, size_t bkg_stride, 1225 void *buf, void *bkg, 1226 hid_t dset_xfer_plist); 1227 H5_DLL herr_t H5T__conv_ldouble_schar(hid_t src_id, hid_t dst_id, 1228 H5T_cdata_t *cdata, size_t nelmts, 1229 size_t buf_stride, size_t bkg_stride, 1230 void *buf, void *bkg, 1231 hid_t dset_xfer_plist); 1232 H5_DLL herr_t H5T__conv_ldouble_uchar(hid_t src_id, hid_t dst_id, 1233 H5T_cdata_t *cdata, size_t nelmts, 1234 size_t buf_stride, size_t bkg_stride, 1235 void *buf, void *bkg, 1236 hid_t dset_xfer_plist); 1237 H5_DLL herr_t H5T__conv_ldouble_short(hid_t src_id, hid_t dst_id, 1238 H5T_cdata_t *cdata, size_t nelmts, 1239 size_t buf_stride, size_t bkg_stride, 1240 void *buf, void *bkg, 1241 hid_t dset_xfer_plist); 1242 H5_DLL herr_t H5T__conv_ldouble_ushort(hid_t src_id, hid_t dst_id, 1243 H5T_cdata_t *cdata, size_t nelmts, 1244 size_t buf_stride, size_t bkg_stride, 1245 void *buf, void *bkg, 1246 hid_t dset_xfer_plist); 1247 H5_DLL herr_t H5T__conv_ldouble_int(hid_t src_id, hid_t dst_id, 1248 H5T_cdata_t *cdata, size_t nelmts, 1249 size_t buf_stride, size_t bkg_stride, 1250 void *buf, void *bkg, 1251 hid_t dset_xfer_plist); 1252 H5_DLL herr_t H5T__conv_ldouble_uint(hid_t src_id, hid_t dst_id, 1253 H5T_cdata_t *cdata, size_t nelmts, 1254 size_t buf_stride, size_t bkg_stride, 1255 void *buf, void *bkg, 1256 hid_t dset_xfer_plist); 1257 H5_DLL herr_t H5T__conv_ldouble_long(hid_t src_id, hid_t dst_id, 1258 H5T_cdata_t *cdata, size_t nelmts, 1259 size_t buf_stride, size_t bkg_stride, 1260 void *buf, void *bkg, 1261 hid_t dset_xfer_plist); 1262 H5_DLL herr_t H5T__conv_ldouble_ulong(hid_t src_id, hid_t dst_id, 1263 H5T_cdata_t *cdata, size_t nelmts, 1264 size_t buf_stride, size_t bkg_stride, 1265 void *buf, void *bkg, 1266 hid_t dset_xfer_plist); 1267 H5_DLL herr_t H5T__conv_ldouble_llong(hid_t src_id, hid_t dst_id, 1268 H5T_cdata_t *cdata, size_t nelmts, 1269 size_t buf_stride, size_t bkg_stride, 1270 void *buf, void *bkg, 1271 hid_t dset_xfer_plist); 1272 H5_DLL herr_t H5T__conv_ldouble_ullong(hid_t src_id, hid_t dst_id, 1273 H5T_cdata_t *cdata, size_t nelmts, 1274 size_t buf_stride, size_t bkg_stride, 1275 void *buf, void *bkg, 1276 hid_t dset_xfer_plist); 1277 1278 /* Bit twiddling functions */ 1279 H5_DLL void H5T__bit_copy(uint8_t *dst, size_t dst_offset, const uint8_t *src, 1280 size_t src_offset, size_t size); 1281 H5_DLL herr_t H5T__bit_shift(uint8_t *buf, ssize_t shift_dist, size_t offset, size_t size); 1282 H5_DLL void H5T__bit_set(uint8_t *buf, size_t offset, size_t size, 1283 hbool_t value); 1284 H5_DLL uint64_t H5T__bit_get_d(uint8_t *buf, size_t offset, size_t size); 1285 H5_DLL void H5T__bit_set_d(uint8_t *buf, size_t offset, size_t size, 1286 uint64_t val); 1287 H5_DLL ssize_t H5T__bit_find(uint8_t *buf, size_t offset, size_t size, 1288 H5T_sdir_t direction, hbool_t value); 1289 H5_DLL hbool_t H5T__bit_inc(uint8_t *buf, size_t start, size_t size); 1290 H5_DLL hbool_t H5T__bit_dec(uint8_t *buf, size_t start, size_t size); 1291 H5_DLL void H5T__bit_neg(uint8_t *buf, size_t start, size_t size); 1292 1293 /* VL functions */ 1294 H5_DLL H5T_t * H5T__vlen_create(const H5T_t *base); 1295 H5_DLL htri_t H5T__vlen_set_loc(const H5T_t *dt, H5F_t *f, H5T_loc_t loc); 1296 1297 /* Array functions */ 1298 H5_DLL H5T_t *H5T__array_create(H5T_t *base, unsigned ndims, const hsize_t dim[/* ndims */]); 1299 H5_DLL int H5T__get_array_ndims(const H5T_t *dt); 1300 H5_DLL int H5T__get_array_dims(const H5T_t *dt, hsize_t dims[]); 1301 1302 /* Compound functions */ 1303 H5_DLL herr_t H5T__insert(H5T_t *parent, const char *name, size_t offset, 1304 const H5T_t *member); 1305 H5_DLL size_t H5T__get_member_size(const H5T_t *dt, unsigned membno); 1306 H5_DLL void H5T__update_packed(const H5T_t *dt); 1307 H5_DLL H5T_subset_info_t *H5T__conv_struct_subset(const H5T_cdata_t *cdata); 1308 1309 /* Enumerated type functions */ 1310 H5_DLL H5T_t *H5T__enum_create(const H5T_t *parent); 1311 H5_DLL herr_t H5T__enum_insert(const H5T_t *dt, const char *name, const void *value); 1312 H5_DLL herr_t H5T__get_member_value(const H5T_t *dt, unsigned membno, void *value); 1313 1314 /* Field functions (for both compound & enumerated types) */ 1315 H5_DLL char *H5T__get_member_name(H5T_t const *dt, unsigned membno); 1316 H5_DLL herr_t H5T__sort_value(const H5T_t *dt, int *map); 1317 H5_DLL herr_t H5T__sort_name(const H5T_t *dt, int *map); 1318 1319 /* Debugging functions */ 1320 H5_DLL herr_t H5T__print_stats(H5T_path_t *path, int *nprint/*in,out*/); 1321 1322 #endif /* _H5Tpkg_H */ 1323 1324