3 #if defined LAL_PTHREAD_LOCK && ! defined H5_HAVE_THREADSAFE
8 static 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);
14 static inline herr_t threadsafe_H5Aclose(hid_t attr_id)
17 herr_t retval = H5Aclose(attr_id);
22 static 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);
30 static 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);
38 static inline int threadsafe_H5Aget_num_attrs(hid_t loc_id)
41 int retval = H5Aget_num_attrs(loc_id);
46 static inline hid_t threadsafe_H5Aget_space(hid_t attr_id)
49 hid_t retval = H5Aget_space(attr_id);
54 static inline hid_t threadsafe_H5Aget_type(hid_t attr_id)
57 hid_t retval = H5Aget_type(attr_id);
62 static 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);
70 static inline hid_t threadsafe_H5Aopen_idx(hid_t loc_id,
unsigned idx)
73 hid_t retval = H5Aopen_idx(loc_id, idx);
78 static 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);
86 static 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);
94 static inline herr_t threadsafe_H5Dclose(hid_t dset_id)
97 herr_t retval = H5Dclose(dset_id);
102 static 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
110 static inline hid_t threadsafe_H5Dget_space(hid_t dset_id)
113 hid_t retval = H5Dget_space(dset_id);
114 LAL_HDF5_MUTEX_UNLOCK
118 static inline hid_t threadsafe_H5Dget_type(hid_t dset_id)
121 hid_t retval = H5Dget_type(dset_id);
122 LAL_HDF5_MUTEX_UNLOCK
126 static 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
134 static 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
142 static 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
150 static 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
158 static inline herr_t threadsafe_H5Fclose(hid_t file_id)
161 herr_t retval = H5Fclose(file_id);
162 LAL_HDF5_MUTEX_UNLOCK
166 static 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
174 static 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
182 static 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
190 static 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
198 static inline herr_t threadsafe_H5Gclose(hid_t group_id)
201 herr_t retval = H5Gclose(group_id);
202 LAL_HDF5_MUTEX_UNLOCK
206 static 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
214 static 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
222 static 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
230 static 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
238 static 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
246 static 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
254 static 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
262 static 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
270 static 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
278 static inline herr_t threadsafe_H5Oclose(hid_t object_id)
281 herr_t retval = H5Oclose(object_id);
282 LAL_HDF5_MUTEX_UNLOCK
286 static 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
294 static 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
302 static 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
310 static inline herr_t threadsafe_H5Pclose(hid_t plist_id)
313 herr_t retval = H5Pclose(plist_id);
314 LAL_HDF5_MUTEX_UNLOCK
318 static inline hid_t threadsafe_H5Pcopy(hid_t plist_id)
321 hid_t retval = H5Pcopy(plist_id);
322 LAL_HDF5_MUTEX_UNLOCK
326 static inline hid_t threadsafe_H5Pcreate(hid_t cls_id)
329 hid_t retval = H5Pcreate(cls_id);
330 LAL_HDF5_MUTEX_UNLOCK
334 static 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
342 static 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
350 static inline herr_t threadsafe_H5Sclose(hid_t space_id)
353 herr_t retval = H5Sclose(space_id);
354 LAL_HDF5_MUTEX_UNLOCK
358 static inline hid_t threadsafe_H5Screate(H5S_class_t type)
361 hid_t retval = H5Screate(type);
362 LAL_HDF5_MUTEX_UNLOCK
366 static 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
374 static 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
382 static 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
390 static 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
398 static 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
406 static 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
414 static 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
422 static 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
430 static 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
438 static 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
446 static 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
454 static 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
462 static inline herr_t threadsafe_H5Tclose(hid_t type_id)
465 herr_t retval = H5Tclose(type_id);
466 LAL_HDF5_MUTEX_UNLOCK
470 static inline hid_t threadsafe_H5Tcopy(hid_t type_id)
473 hid_t retval = H5Tcopy(type_id);
474 LAL_HDF5_MUTEX_UNLOCK
478 static inline hid_t threadsafe_H5Tcreate(H5T_class_t type,
size_t size)
481 hid_t retval = H5Tcreate(type, size);
482 LAL_HDF5_MUTEX_UNLOCK
486 static inline hid_t threadsafe_H5Tenum_create(hid_t base_id)
489 hid_t retval = H5Tenum_create(base_id);
490 LAL_HDF5_MUTEX_UNLOCK
494 static inline herr_t threadsafe_H5Tenum_insert(hid_t type,
const char *
name,
const void *value)
497 herr_t retval = H5Tenum_insert(type,
name, value);
498 LAL_HDF5_MUTEX_UNLOCK
502 static inline int threadsafe_H5Tget_array_dims2(hid_t type_id, hsize_t dims[])
505 int retval = H5Tget_array_dims2(type_id, dims);
506 LAL_HDF5_MUTEX_UNLOCK
510 static inline int threadsafe_H5Tget_array_ndims(hid_t type_id)
513 int retval = H5Tget_array_ndims(type_id);
514 LAL_HDF5_MUTEX_UNLOCK
518 static inline H5T_class_t threadsafe_H5Tget_class(hid_t type_id)
521 H5T_class_t retval = H5Tget_class(type_id);
522 LAL_HDF5_MUTEX_UNLOCK
526 static inline H5T_class_t threadsafe_H5Tget_member_class(hid_t type_id,
unsigned membno)
529 H5T_class_t retval = H5Tget_member_class(type_id, membno);
530 LAL_HDF5_MUTEX_UNLOCK
534 static inline char *threadsafe_H5Tget_member_name(hid_t type_id,
unsigned membno)
537 char *retval = H5Tget_member_name(type_id, membno);
538 LAL_HDF5_MUTEX_UNLOCK
542 static inline size_t threadsafe_H5Tget_member_offset(hid_t type_id,
unsigned membno)
545 size_t retval = H5Tget_member_offset(type_id, membno);
546 LAL_HDF5_MUTEX_UNLOCK
550 static inline hid_t threadsafe_H5Tget_member_type(hid_t type_id,
unsigned membno)
553 hid_t retval = H5Tget_member_type(type_id, membno);
554 LAL_HDF5_MUTEX_UNLOCK
558 static inline herr_t threadsafe_H5Tget_member_value(hid_t type_id,
unsigned membno,
void *value)
561 herr_t retval = H5Tget_member_value(type_id, membno, value);
562 LAL_HDF5_MUTEX_UNLOCK
566 static inline hid_t threadsafe_H5Tget_native_type(hid_t type_id, H5T_direction_t direction)
569 hid_t retval = H5Tget_native_type(type_id, direction);
570 LAL_HDF5_MUTEX_UNLOCK
574 static inline int threadsafe_H5Tget_nmembers(hid_t type_id)
577 int retval = H5Tget_nmembers(type_id);
578 LAL_HDF5_MUTEX_UNLOCK
582 static inline H5T_sign_t threadsafe_H5Tget_sign(hid_t type_id)
585 H5T_sign_t retval = H5Tget_sign(type_id);
586 LAL_HDF5_MUTEX_UNLOCK
590 static inline size_t threadsafe_H5Tget_size(hid_t type_id)
593 size_t retval = H5Tget_size(type_id);
594 LAL_HDF5_MUTEX_UNLOCK
598 static inline hid_t threadsafe_H5Tget_super(hid_t type)
601 hid_t retval = H5Tget_super(type);
602 LAL_HDF5_MUTEX_UNLOCK
606 static inline herr_t threadsafe_H5Tinsert(hid_t parent_id,
const char *
name,
size_t offset, hid_t member_id)
609 herr_t retval = H5Tinsert(parent_id,
name, offset, member_id);
610 LAL_HDF5_MUTEX_UNLOCK
614 static inline herr_t threadsafe_H5Tset_size(hid_t type_id,
size_t size)
617 herr_t retval = H5Tset_size(type_id, size);
618 LAL_HDF5_MUTEX_UNLOCK
622 static inline herr_t threadsafe_H5check_version(
unsigned majnum,
unsigned minnum,
unsigned relnum)
625 herr_t retval = H5check_version(majnum, minnum, relnum);
626 LAL_HDF5_MUTEX_UNLOCK
630 static inline herr_t threadsafe_H5open(
void)
633 herr_t retval = H5open();
634 LAL_HDF5_MUTEX_UNLOCK
638 #undef LAL_HDF5_MUTEX_LOCK
639 #undef LAL_HDF5_MUTEX_UNLOCK
645 #define threadsafe_H5Aclose H5Aclose
646 #define threadsafe_H5Acreate2 H5Acreate2
647 #define threadsafe_H5Aget_name H5Aget_name
648 #define threadsafe_H5Aget_num_attrs H5Aget_num_attrs
649 #define threadsafe_H5Aget_space H5Aget_space
650 #define threadsafe_H5Aget_type H5Aget_type
651 #define threadsafe_H5Aopen H5Aopen
652 #define threadsafe_H5Aopen_idx H5Aopen_idx
653 #define threadsafe_H5Aread H5Aread
654 #define threadsafe_H5Awrite H5Awrite
655 #define threadsafe_H5Dclose H5Dclose
656 #define threadsafe_H5Dcreate2 H5Dcreate2
657 #define threadsafe_H5Dget_space H5Dget_space
658 #define threadsafe_H5Dget_type H5Dget_type
659 #define threadsafe_H5Dopen2 H5Dopen2
660 #define threadsafe_H5Dread H5Dread
661 #define threadsafe_H5Dvlen_reclaim H5Dvlen_reclaim
662 #define threadsafe_H5Dwrite H5Dwrite
663 #define threadsafe_H5Fclose H5Fclose
664 #define threadsafe_H5Fcreate H5Fcreate
665 #define threadsafe_H5Fflush H5Fflush
666 #define threadsafe_H5Fget_name H5Fget_name
667 #define threadsafe_H5Fopen H5Fopen
668 #define threadsafe_H5Gclose H5Gclose
669 #define threadsafe_H5Gcreate2 H5Gcreate2
670 #define threadsafe_H5Gget_info H5Gget_info
671 #define threadsafe_H5Gget_info_by_name H5Gget_info_by_name
672 #define threadsafe_H5Gget_num_objs H5Gget_num_objs
673 #define threadsafe_H5Gget_objinfo H5Gget_objinfo
674 #define threadsafe_H5Gget_objname_by_idx H5Gget_objname_by_idx
675 #define threadsafe_H5Gget_objtype_by_idx H5Gget_objtype_by_idx
676 #define threadsafe_H5Gopen2 H5Gopen2
677 #define threadsafe_H5Iget_name H5Iget_name
678 #define threadsafe_H5Oclose H5Oclose
679 #define threadsafe_H5Oget_info H5Oget_info
680 #define threadsafe_H5Oget_info_by_idx H5Oget_info_by_idx
681 #define threadsafe_H5Oopen_by_addr H5Oopen_by_addr
682 #define threadsafe_H5Pclose H5Pclose
683 #define threadsafe_H5Pcopy H5Pcopy
684 #define threadsafe_H5Pcreate H5Pcreate
685 #define threadsafe_H5Pset_create_intermediate_group H5Pset_create_intermediate_group
686 #define threadsafe_H5Pset_vlen_mem_manager H5Pset_vlen_mem_manager
687 #define threadsafe_H5Sclose H5Sclose
688 #define threadsafe_H5Screate H5Screate
689 #define threadsafe_H5Screate_simple H5Screate_simple
690 #define threadsafe_H5Sget_simple_extent_dims H5Sget_simple_extent_dims
691 #define threadsafe_H5Sget_simple_extent_ndims H5Sget_simple_extent_ndims
692 #define threadsafe_H5Sget_simple_extent_npoints H5Sget_simple_extent_npoints
693 #define threadsafe_H5TBappend_records H5TBappend_records
694 #define threadsafe_H5TBget_field_info H5TBget_field_info
695 #define threadsafe_H5TBget_table_info H5TBget_table_info
696 #define threadsafe_H5TBmake_table H5TBmake_table
697 #define threadsafe_H5TBread_fields_name H5TBread_fields_name
698 #define threadsafe_H5TBread_records H5TBread_records
699 #define threadsafe_H5TBread_table H5TBread_table
700 #define threadsafe_H5Tarray_create2 H5Tarray_create2
701 #define threadsafe_H5Tclose H5Tclose
702 #define threadsafe_H5Tcopy H5Tcopy
703 #define threadsafe_H5Tcreate H5Tcreate
704 #define threadsafe_H5Tenum_create H5Tenum_create
705 #define threadsafe_H5Tenum_insert H5Tenum_insert
706 #define threadsafe_H5Tget_array_dims2 H5Tget_array_dims2
707 #define threadsafe_H5Tget_array_ndims H5Tget_array_ndims
708 #define threadsafe_H5Tget_class H5Tget_class
709 #define threadsafe_H5Tget_member_class H5Tget_member_class
710 #define threadsafe_H5Tget_member_name H5Tget_member_name
711 #define threadsafe_H5Tget_member_offset H5Tget_member_offset
712 #define threadsafe_H5Tget_member_type H5Tget_member_type
713 #define threadsafe_H5Tget_member_value H5Tget_member_value
714 #define threadsafe_H5Tget_native_type H5Tget_native_type
715 #define threadsafe_H5Tget_nmembers H5Tget_nmembers
716 #define threadsafe_H5Tget_sign H5Tget_sign
717 #define threadsafe_H5Tget_size H5Tget_size
718 #define threadsafe_H5Tget_super H5Tget_super
719 #define threadsafe_H5Tinsert H5Tinsert
720 #define threadsafe_H5Tset_size H5Tset_size
721 #define threadsafe_H5check_version H5check_version
722 #define threadsafe_H5open H5open