3#if defined LAL_PTHREAD_LOCK && ! defined H5_HAVE_THREADSAFE
8static pthread_mutex_t lalHDF5Mutex = PTHREAD_MUTEX_INITIALIZER;
9#define LAL_HDF5_MUTEX_LOCK pthread_mutex_lock(&lalHDF5Mutex);
10#define LAL_HDF5_MUTEX_UNLOCK pthread_mutex_unlock(&lalHDF5Mutex);
14static inline herr_t threadsafe_H5Aclose(hid_t attr_id)
17 herr_t retval = H5Aclose(attr_id);
22static inline hid_t threadsafe_H5Acreate2(hid_t loc_id,
const char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id)
25 hid_t retval = H5Acreate2(loc_id, attr_name, type_id, space_id, acpl_id, aapl_id);
30static inline ssize_t threadsafe_H5Aget_name(hid_t attr_id,
size_t buf_size,
char *buf)
33 ssize_t retval = H5Aget_name(attr_id, buf_size, buf);
38static inline int threadsafe_H5Aget_num_attrs(hid_t loc_id)
41 int retval = H5Aget_num_attrs(loc_id);
46static inline hid_t threadsafe_H5Aget_space(hid_t attr_id)
49 hid_t retval = H5Aget_space(attr_id);
54static inline hid_t threadsafe_H5Aget_type(hid_t attr_id)
57 hid_t retval = H5Aget_type(attr_id);
62static inline hid_t threadsafe_H5Aopen(hid_t obj_id,
const char *attr_name, hid_t aapl_id)
65 hid_t retval = H5Aopen(obj_id, attr_name, aapl_id);
70static inline hid_t threadsafe_H5Aopen_idx(hid_t loc_id,
unsigned idx)
73 hid_t retval = H5Aopen_idx(loc_id, idx);
78static inline herr_t threadsafe_H5Aread(hid_t attr_id, hid_t type_id,
void *buf)
81 herr_t retval = H5Aread(attr_id, type_id, buf);
86static inline herr_t threadsafe_H5Awrite(hid_t attr_id, hid_t type_id,
const void *buf)
89 herr_t retval = H5Awrite(attr_id, type_id, buf);
94static inline herr_t threadsafe_H5Dclose(hid_t dset_id)
97 herr_t retval = H5Dclose(dset_id);
102static inline hid_t threadsafe_H5Dcreate2(hid_t loc_id,
const char *
name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id)
105 hid_t retval = H5Dcreate2(loc_id,
name, type_id, space_id, lcpl_id, dcpl_id, dapl_id);
106 LAL_HDF5_MUTEX_UNLOCK
110static inline hid_t threadsafe_H5Dget_space(hid_t dset_id)
113 hid_t retval = H5Dget_space(dset_id);
114 LAL_HDF5_MUTEX_UNLOCK
118static inline hid_t threadsafe_H5Dget_type(hid_t dset_id)
121 hid_t retval = H5Dget_type(dset_id);
122 LAL_HDF5_MUTEX_UNLOCK
126static inline hid_t threadsafe_H5Dopen2(hid_t file_id,
const char *
name, hid_t dapl_id)
129 hid_t retval = H5Dopen2(file_id,
name, dapl_id);
130 LAL_HDF5_MUTEX_UNLOCK
134static inline herr_t threadsafe_H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id,
void *buf)
137 herr_t retval = H5Dread(dset_id, mem_type_id, mem_space_id, file_space_id, plist_id, buf);
138 LAL_HDF5_MUTEX_UNLOCK
142static inline herr_t threadsafe_H5Dvlen_reclaim(hid_t type_id, hid_t space_id, hid_t plist_id,
void *buf)
145 herr_t retval = H5Dvlen_reclaim(type_id, space_id, plist_id, buf);
146 LAL_HDF5_MUTEX_UNLOCK
150static inline herr_t threadsafe_H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id,
const void *buf)
153 herr_t retval = H5Dwrite(dset_id, mem_type_id, mem_space_id, file_space_id, plist_id, buf);
154 LAL_HDF5_MUTEX_UNLOCK
158static inline herr_t threadsafe_H5Fclose(hid_t file_id)
161 herr_t retval = H5Fclose(file_id);
162 LAL_HDF5_MUTEX_UNLOCK
166static inline hid_t threadsafe_H5Fcreate(
const char *
filename,
unsigned flags, hid_t create_plist, hid_t access_plist)
169 hid_t retval = H5Fcreate(
filename, flags, create_plist, access_plist);
170 LAL_HDF5_MUTEX_UNLOCK
174static inline herr_t threadsafe_H5Fflush(hid_t object_id, H5F_scope_t scope)
177 herr_t retval = H5Fflush(object_id, scope);
178 LAL_HDF5_MUTEX_UNLOCK
182static inline ssize_t threadsafe_H5Fget_name(hid_t obj_id,
char *
name,
size_t size)
185 ssize_t retval = H5Fget_name(obj_id,
name, size);
186 LAL_HDF5_MUTEX_UNLOCK
190static inline hid_t threadsafe_H5Fopen(
const char *
filename,
unsigned flags, hid_t access_plist)
193 hid_t retval = H5Fopen(
filename, flags, access_plist);
194 LAL_HDF5_MUTEX_UNLOCK
198static inline herr_t threadsafe_H5Gclose(hid_t group_id)
201 herr_t retval = H5Gclose(group_id);
202 LAL_HDF5_MUTEX_UNLOCK
206static inline hid_t threadsafe_H5Gcreate2(hid_t loc_id,
const char *
name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id)
209 hid_t retval = H5Gcreate2(loc_id,
name, lcpl_id, gcpl_id, gapl_id);
210 LAL_HDF5_MUTEX_UNLOCK
214static inline herr_t threadsafe_H5Gget_info(hid_t loc_id, H5G_info_t *ginfo)
217 herr_t retval = H5Gget_info(loc_id, ginfo);
218 LAL_HDF5_MUTEX_UNLOCK
222static inline herr_t threadsafe_H5Gget_info_by_name(hid_t loc_id,
const char *
name, H5G_info_t *ginfo, hid_t lapl_id)
225 herr_t retval = H5Gget_info_by_name(loc_id,
name, ginfo, lapl_id);
226 LAL_HDF5_MUTEX_UNLOCK
230static inline herr_t threadsafe_H5Gget_num_objs(hid_t loc_id, hsize_t *num_objs)
233 herr_t retval = H5Gget_num_objs(loc_id, num_objs);
234 LAL_HDF5_MUTEX_UNLOCK
238static inline herr_t threadsafe_H5Gget_objinfo(hid_t loc_id,
const char *
name, hbool_t follow_link, H5G_stat_t *statbuf)
241 herr_t retval = H5Gget_objinfo(loc_id,
name, follow_link, statbuf);
242 LAL_HDF5_MUTEX_UNLOCK
246static inline ssize_t threadsafe_H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx,
char*
name,
size_t size)
249 ssize_t retval = H5Gget_objname_by_idx(loc_id, idx,
name, size);
250 LAL_HDF5_MUTEX_UNLOCK
254static inline H5G_obj_t threadsafe_H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx)
257 H5G_obj_t retval = H5Gget_objtype_by_idx(loc_id, idx);
258 LAL_HDF5_MUTEX_UNLOCK
262static inline hid_t threadsafe_H5Gopen2(hid_t loc_id,
const char *
name, hid_t gapl_id)
265 hid_t retval = H5Gopen2(loc_id,
name, gapl_id);
266 LAL_HDF5_MUTEX_UNLOCK
270static inline ssize_t threadsafe_H5Iget_name(hid_t
id,
char *
name ,
size_t size)
273 ssize_t retval = H5Iget_name(
id,
name , size);
274 LAL_HDF5_MUTEX_UNLOCK
278static inline herr_t threadsafe_H5Oclose(hid_t object_id)
281 herr_t retval = H5Oclose(object_id);
282 LAL_HDF5_MUTEX_UNLOCK
286static inline herr_t threadsafe_H5Oget_info(hid_t loc_id, H5O_info_t *oinfo)
289 herr_t retval = H5Oget_info(loc_id, oinfo);
290 LAL_HDF5_MUTEX_UNLOCK
294static inline herr_t threadsafe_H5Oget_info_by_idx(hid_t loc_id,
const char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id)
297 herr_t retval = H5Oget_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id);
298 LAL_HDF5_MUTEX_UNLOCK
302static inline hid_t threadsafe_H5Oopen_by_addr(hid_t loc_id, haddr_t addr)
305 hid_t retval = H5Oopen_by_addr(loc_id, addr);
306 LAL_HDF5_MUTEX_UNLOCK
310static inline herr_t threadsafe_H5Pclose(hid_t plist_id)
313 herr_t retval = H5Pclose(plist_id);
314 LAL_HDF5_MUTEX_UNLOCK
318static inline hid_t threadsafe_H5Pcopy(hid_t plist_id)
321 hid_t retval = H5Pcopy(plist_id);
322 LAL_HDF5_MUTEX_UNLOCK
326static inline hid_t threadsafe_H5Pcreate(hid_t cls_id)
329 hid_t retval = H5Pcreate(cls_id);
330 LAL_HDF5_MUTEX_UNLOCK
334static inline herr_t threadsafe_H5Pset_create_intermediate_group(hid_t plist_id,
unsigned crt_intmd)
337 herr_t retval = H5Pset_create_intermediate_group(plist_id, crt_intmd);
338 LAL_HDF5_MUTEX_UNLOCK
342static inline herr_t threadsafe_H5Pset_vlen_mem_manager(hid_t plist_id, H5MM_allocate_t alloc_func,
void *alloc_info, H5MM_free_t free_func,
void *free_info)
345 herr_t retval = H5Pset_vlen_mem_manager(plist_id, alloc_func, alloc_info, free_func, free_info);
346 LAL_HDF5_MUTEX_UNLOCK
350static inline herr_t threadsafe_H5Sclose(hid_t space_id)
353 herr_t retval = H5Sclose(space_id);
354 LAL_HDF5_MUTEX_UNLOCK
358static inline hid_t threadsafe_H5Screate(H5S_class_t type)
361 hid_t retval = H5Screate(type);
362 LAL_HDF5_MUTEX_UNLOCK
366static inline hid_t threadsafe_H5Screate_simple(
int rank,
const hsize_t dims[],
const hsize_t maxdims[])
369 hid_t retval = H5Screate_simple(rank, dims, maxdims);
370 LAL_HDF5_MUTEX_UNLOCK
374static inline int threadsafe_H5Sget_simple_extent_dims(hid_t space_id, hsize_t dims[], hsize_t maxdims[])
377 int retval = H5Sget_simple_extent_dims(space_id, dims, maxdims);
378 LAL_HDF5_MUTEX_UNLOCK
382static inline int threadsafe_H5Sget_simple_extent_ndims(hid_t space_id)
385 int retval = H5Sget_simple_extent_ndims(space_id);
386 LAL_HDF5_MUTEX_UNLOCK
390static inline hssize_t threadsafe_H5Sget_simple_extent_npoints(hid_t space_id)
393 hssize_t retval = H5Sget_simple_extent_npoints(space_id);
394 LAL_HDF5_MUTEX_UNLOCK
398static inline herr_t threadsafe_H5TBappend_records(hid_t loc_id,
const char *dset_name, hsize_t nrecords,
size_t type_size,
const size_t *field_offset,
const size_t *dst_sizes,
const void *buf)
401 herr_t retval = H5TBappend_records(loc_id, dset_name, nrecords, type_size, field_offset, dst_sizes, buf);
402 LAL_HDF5_MUTEX_UNLOCK
406static inline herr_t threadsafe_H5TBget_field_info(hid_t loc_id,
const char *dset_name,
char *field_names[],
size_t *field_sizes,
size_t *field_offsets,
size_t *type_size)
409 herr_t retval = H5TBget_field_info(loc_id, dset_name, field_names, field_sizes, field_offsets, type_size);
410 LAL_HDF5_MUTEX_UNLOCK
414static inline herr_t threadsafe_H5TBget_table_info(hid_t loc_id,
const char *dset_name, hsize_t *nfields, hsize_t *nrecords)
417 herr_t retval = H5TBget_table_info(loc_id, dset_name, nfields, nrecords);
418 LAL_HDF5_MUTEX_UNLOCK
422static inline herr_t threadsafe_H5TBmake_table(
const char *table_title, hid_t loc_id,
const char *dset_name, hsize_t nfields, hsize_t nrecords,
size_t type_size,
const char *field_names[],
const size_t *field_offset,
const hid_t *field_types, hsize_t chunk_size,
void *fill_data,
int compress,
const void *buf)
425 herr_t retval = H5TBmake_table(table_title, loc_id, dset_name, nfields, nrecords, type_size, field_names, field_offset, field_types, chunk_size, fill_data, compress, buf);
426 LAL_HDF5_MUTEX_UNLOCK
430static inline herr_t threadsafe_H5TBread_fields_name(hid_t loc_id,
const char *dset_name,
const char *field_names, hsize_t start, hsize_t nrecords,
size_t type_size,
const size_t *field_offset,
const size_t *dst_sizes,
void *buf)
433 herr_t retval = H5TBread_fields_name(loc_id, dset_name, field_names, start, nrecords, type_size, field_offset, dst_sizes, buf);
434 LAL_HDF5_MUTEX_UNLOCK
438static inline herr_t threadsafe_H5TBread_records(hid_t loc_id,
const char *dset_name, hsize_t start, hsize_t nrecords,
size_t type_size,
const size_t *dst_offset,
const size_t *dst_sizes,
void *buf)
441 herr_t retval = H5TBread_records(loc_id, dset_name, start, nrecords, type_size, dst_offset, dst_sizes, buf);
442 LAL_HDF5_MUTEX_UNLOCK
446static inline herr_t threadsafe_H5TBread_table(hid_t loc_id,
const char *dset_name,
size_t dst_size,
const size_t *dst_offset,
const size_t *dst_sizes,
void *dst_buf)
449 herr_t retval = H5TBread_table(loc_id, dset_name, dst_size, dst_offset, dst_sizes, dst_buf);
450 LAL_HDF5_MUTEX_UNLOCK
454static inline hid_t threadsafe_H5Tarray_create2(hid_t base_id,
unsigned ndims,
const hsize_t dim[])
457 hid_t retval = H5Tarray_create2(base_id, ndims, dim);
458 LAL_HDF5_MUTEX_UNLOCK
462static inline herr_t threadsafe_H5Tclose(hid_t type_id)
465 herr_t retval = H5Tclose(type_id);
466 LAL_HDF5_MUTEX_UNLOCK
470static inline hid_t threadsafe_H5Tcopy(hid_t type_id)
473 hid_t retval = H5Tcopy(type_id);
474 LAL_HDF5_MUTEX_UNLOCK
478static inline hid_t threadsafe_H5Tcreate(H5T_class_t type,
size_t size)
481 hid_t retval = H5Tcreate(type, size);
482 LAL_HDF5_MUTEX_UNLOCK
486static inline H5T_cset_t threadsafe_H5Tget_cset(hid_t dtype_id)
489 H5T_cset_t retval = H5Tget_cset(dtype_id);
490 LAL_HDF5_MUTEX_UNLOCK
494static inline herr_t threadsafe_H5Tset_cset(hid_t dtype_id, H5T_cset_t cset)
497 herr_t retval = H5Tset_cset(dtype_id, cset);
498 LAL_HDF5_MUTEX_UNLOCK
502static inline H5T_str_t threadsafe_H5Tget_strpad(hid_t dtype_id)
505 H5T_str_t retval = H5Tget_strpad(dtype_id);
506 LAL_HDF5_MUTEX_UNLOCK
510static inline htri_t threadsafe_H5Tis_variable_str(hid_t dtype_id)
513 htri_t retval = H5Tis_variable_str(dtype_id);
514 LAL_HDF5_MUTEX_UNLOCK
518static inline hid_t threadsafe_H5Tenum_create(hid_t base_id)
521 hid_t retval = H5Tenum_create(base_id);
522 LAL_HDF5_MUTEX_UNLOCK
526static inline herr_t threadsafe_H5Tenum_insert(hid_t type,
const char *
name,
const void *value)
529 herr_t retval = H5Tenum_insert(type,
name, value);
530 LAL_HDF5_MUTEX_UNLOCK
534static inline int threadsafe_H5Tget_array_dims2(hid_t type_id, hsize_t dims[])
537 int retval = H5Tget_array_dims2(type_id, dims);
538 LAL_HDF5_MUTEX_UNLOCK
542static inline int threadsafe_H5Tget_array_ndims(hid_t type_id)
545 int retval = H5Tget_array_ndims(type_id);
546 LAL_HDF5_MUTEX_UNLOCK
550static inline H5T_class_t threadsafe_H5Tget_class(hid_t type_id)
553 H5T_class_t retval = H5Tget_class(type_id);
554 LAL_HDF5_MUTEX_UNLOCK
558static inline H5T_class_t threadsafe_H5Tget_member_class(hid_t type_id,
unsigned membno)
561 H5T_class_t retval = H5Tget_member_class(type_id, membno);
562 LAL_HDF5_MUTEX_UNLOCK
566static inline char *threadsafe_H5Tget_member_name(hid_t type_id,
unsigned membno)
569 char *retval = H5Tget_member_name(type_id, membno);
570 LAL_HDF5_MUTEX_UNLOCK
574static inline size_t threadsafe_H5Tget_member_offset(hid_t type_id,
unsigned membno)
577 size_t retval = H5Tget_member_offset(type_id, membno);
578 LAL_HDF5_MUTEX_UNLOCK
582static inline hid_t threadsafe_H5Tget_member_type(hid_t type_id,
unsigned membno)
585 hid_t retval = H5Tget_member_type(type_id, membno);
586 LAL_HDF5_MUTEX_UNLOCK
590static inline herr_t threadsafe_H5Tget_member_value(hid_t type_id,
unsigned membno,
void *value)
593 herr_t retval = H5Tget_member_value(type_id, membno, value);
594 LAL_HDF5_MUTEX_UNLOCK
598static inline hid_t threadsafe_H5Tget_native_type(hid_t type_id, H5T_direction_t direction)
601 hid_t retval = H5Tget_native_type(type_id, direction);
602 LAL_HDF5_MUTEX_UNLOCK
606static inline int threadsafe_H5Tget_nmembers(hid_t type_id)
609 int retval = H5Tget_nmembers(type_id);
610 LAL_HDF5_MUTEX_UNLOCK
614static inline H5T_sign_t threadsafe_H5Tget_sign(hid_t type_id)
617 H5T_sign_t retval = H5Tget_sign(type_id);
618 LAL_HDF5_MUTEX_UNLOCK
622static inline size_t threadsafe_H5Tget_size(hid_t type_id)
625 size_t retval = H5Tget_size(type_id);
626 LAL_HDF5_MUTEX_UNLOCK
630static inline hid_t threadsafe_H5Tget_super(hid_t type)
633 hid_t retval = H5Tget_super(type);
634 LAL_HDF5_MUTEX_UNLOCK
638static inline herr_t threadsafe_H5Tinsert(hid_t parent_id,
const char *
name,
size_t offset, hid_t member_id)
641 herr_t retval = H5Tinsert(parent_id,
name, offset, member_id);
642 LAL_HDF5_MUTEX_UNLOCK
646static inline herr_t threadsafe_H5Tset_size(hid_t type_id,
size_t size)
649 herr_t retval = H5Tset_size(type_id, size);
650 LAL_HDF5_MUTEX_UNLOCK
654static inline herr_t threadsafe_H5check_version(
unsigned majnum,
unsigned minnum,
unsigned relnum)
657 herr_t retval = H5check_version(majnum, minnum, relnum);
658 LAL_HDF5_MUTEX_UNLOCK
662static inline herr_t threadsafe_H5open(
void)
665 herr_t retval = H5open();
666 LAL_HDF5_MUTEX_UNLOCK
670#undef LAL_HDF5_MUTEX_LOCK
671#undef LAL_HDF5_MUTEX_UNLOCK
677#define threadsafe_H5Aclose H5Aclose
678#define threadsafe_H5Acreate2 H5Acreate2
679#define threadsafe_H5Aget_name H5Aget_name
680#define threadsafe_H5Aget_num_attrs H5Aget_num_attrs
681#define threadsafe_H5Aget_space H5Aget_space
682#define threadsafe_H5Aget_type H5Aget_type
683#define threadsafe_H5Aopen H5Aopen
684#define threadsafe_H5Aopen_idx H5Aopen_idx
685#define threadsafe_H5Aread H5Aread
686#define threadsafe_H5Awrite H5Awrite
687#define threadsafe_H5Dclose H5Dclose
688#define threadsafe_H5Dcreate2 H5Dcreate2
689#define threadsafe_H5Dget_space H5Dget_space
690#define threadsafe_H5Dget_type H5Dget_type
691#define threadsafe_H5Dopen2 H5Dopen2
692#define threadsafe_H5Dread H5Dread
693#define threadsafe_H5Dvlen_reclaim H5Dvlen_reclaim
694#define threadsafe_H5Dwrite H5Dwrite
695#define threadsafe_H5Fclose H5Fclose
696#define threadsafe_H5Fcreate H5Fcreate
697#define threadsafe_H5Fflush H5Fflush
698#define threadsafe_H5Fget_name H5Fget_name
699#define threadsafe_H5Fopen H5Fopen
700#define threadsafe_H5Gclose H5Gclose
701#define threadsafe_H5Gcreate2 H5Gcreate2
702#define threadsafe_H5Gget_info H5Gget_info
703#define threadsafe_H5Gget_info_by_name H5Gget_info_by_name
704#define threadsafe_H5Gget_num_objs H5Gget_num_objs
705#define threadsafe_H5Gget_objinfo H5Gget_objinfo
706#define threadsafe_H5Gget_objname_by_idx H5Gget_objname_by_idx
707#define threadsafe_H5Gget_objtype_by_idx H5Gget_objtype_by_idx
708#define threadsafe_H5Gopen2 H5Gopen2
709#define threadsafe_H5Iget_name H5Iget_name
710#define threadsafe_H5Oclose H5Oclose
711#define threadsafe_H5Oget_info H5Oget_info
712#define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
713#define threadsafe_H5Oopen_by_addr H5Oopen_by_addr
714#define threadsafe_H5Pclose H5Pclose
715#define threadsafe_H5Pcopy H5Pcopy
716#define threadsafe_H5Pcreate H5Pcreate
717#define threadsafe_H5Pset_create_intermediate_group H5Pset_create_intermediate_group
718#define threadsafe_H5Pset_vlen_mem_manager H5Pset_vlen_mem_manager
719#define threadsafe_H5Sclose H5Sclose
720#define threadsafe_H5Screate H5Screate
721#define threadsafe_H5Screate_simple H5Screate_simple
722#define threadsafe_H5Sget_simple_extent_dims H5Sget_simple_extent_dims
723#define threadsafe_H5Sget_simple_extent_ndims H5Sget_simple_extent_ndims
724#define threadsafe_H5Sget_simple_extent_npoints H5Sget_simple_extent_npoints
725#define threadsafe_H5TBappend_records H5TBappend_records
726#define threadsafe_H5TBget_field_info H5TBget_field_info
727#define threadsafe_H5TBget_table_info H5TBget_table_info
728#define threadsafe_H5TBmake_table H5TBmake_table
729#define threadsafe_H5TBread_fields_name H5TBread_fields_name
730#define threadsafe_H5TBread_records H5TBread_records
731#define threadsafe_H5TBread_table H5TBread_table
732#define threadsafe_H5Tarray_create2 H5Tarray_create2
733#define threadsafe_H5Tclose H5Tclose
734#define threadsafe_H5Tcopy H5Tcopy
735#define threadsafe_H5Tcreate H5Tcreate
736#define threadsafe_H5Tget_cset H5Tget_cset
737#define threadsafe_H5Tset_cset H5Tset_cset
738#define threadsafe_H5Tget_strpad H5Tget_strpad
739#define threadsafe_H5Tis_variable_str H5Tis_variable_str
740#define threadsafe_H5Tenum_create H5Tenum_create
741#define threadsafe_H5Tenum_insert H5Tenum_insert
742#define threadsafe_H5Tget_array_dims2 H5Tget_array_dims2
743#define threadsafe_H5Tget_array_ndims H5Tget_array_ndims
744#define threadsafe_H5Tget_class H5Tget_class
745#define threadsafe_H5Tget_member_class H5Tget_member_class
746#define threadsafe_H5Tget_member_name H5Tget_member_name
747#define threadsafe_H5Tget_member_offset H5Tget_member_offset
748#define threadsafe_H5Tget_member_type H5Tget_member_type
749#define threadsafe_H5Tget_member_value H5Tget_member_value
750#define threadsafe_H5Tget_native_type H5Tget_native_type
751#define threadsafe_H5Tget_nmembers H5Tget_nmembers
752#define threadsafe_H5Tget_sign H5Tget_sign
753#define threadsafe_H5Tget_size H5Tget_size
754#define threadsafe_H5Tget_super H5Tget_super
755#define threadsafe_H5Tinsert H5Tinsert
756#define threadsafe_H5Tset_size H5Tset_size
757#define threadsafe_H5check_version H5check_version
758#define threadsafe_H5open H5open