attachment implementation

This commit is contained in:
2011-03-24 09:07:12 +00:00
parent 4b0d303ceb
commit e4e78f713c
17 changed files with 457 additions and 140 deletions
+4 -1
View File
@@ -375,6 +375,7 @@ src/C/H5Fed_retrieve.c -text
src/C/H5Fed_store.c -text
src/C/H5Fed_tags.c -text
src/C/H5Part.c -text
src/C/H5_attachments.c -text
src/C/H5_attribs.c -text
src/C/Makefile.am -text
src/C/generate-h5b-readwrite.py -text
@@ -393,7 +394,7 @@ src/Fortran/TestUnderscore.f -text
src/Fortran/TestUnderscoreC.c -text
src/Makefile.am -text
src/h5core/Makefile.am -text
src/h5core/h5_attachments.c -text
src/h5core/h5_attach.c -text
src/h5core/h5_attribs.c -text
src/h5core/h5_attribs_private.h -text
src/h5core/h5_core_private.h -text
@@ -478,9 +479,11 @@ src/include/H5Fed_retrieve.h -text
src/include/H5Fed_store.h -text
src/include/H5Fed_tags.h -text
src/include/H5Part.h -text
src/include/H5_attachments.h -text
src/include/H5_attribs.h -text
src/include/H5hut.h -text
src/include/grephdr -text
src/include/h5core/h5_attach.h -text
src/include/h5core/h5_attribs.h -text
src/include/h5core/h5_core.h -text
src/include/h5core/h5_errno.h -text
+4 -7
View File
@@ -320,8 +320,7 @@ H5ReportErrorhandler (
const char* fmt,
va_list ap
) {
H5_API_ENTER (h5_err_t);
H5_API_RETURN (h5_report_errorhandler (fmt, ap));
return h5_report_errorhandler (fmt, ap);
}
h5_err_t
@@ -329,8 +328,7 @@ H5AbortErrorhandler (
const char* fmt,
va_list ap
) {
H5_API_ENTER (h5_err_t);
H5_API_RETURN (h5_abort_errorhandler (fmt, ap));
return h5_abort_errorhandler (fmt, ap);
}
/*!
@@ -342,10 +340,9 @@ H5AbortErrorhandler (
*/
h5_err_t
H5GetErrno (
h5_file_t* const f
void
) {
H5_API_ENTER (h5_err_t);
H5_API_RETURN (h5_get_errno ());
return h5_get_errno ();
}
+1
View File
@@ -47,6 +47,7 @@ H5FedLinkMeshToStep (
h5_file_t* const f,
const h5_id_t mesh_id
) {
UNUSED_ARGUMENT (f);
UNUSED_ARGUMENT (mesh_id);
H5_API_ENTER (h5_err_t);
H5_API_RETURN (h5_error_not_implemented ());
+157
View File
@@ -0,0 +1,157 @@
#include "h5core/h5_core.h"
#include "H5hut.h"
h5_ssize_t
H5GetNumAttachments (
h5_file_t* const f /*!< [in] Handle to open file */
) {
H5_API_ENTER (h5_ssize_t);
H5_API_RETURN (h5_get_num_attachments (f));
}
h5_err_t
H5GetAttachmentInfoByIdx (
h5_file_t* const f,
const h5_size_t idx, // IN
char* const name, // OUT
h5_size_t len_name, // IN
h5_int64_t* const type, // OUT
h5_size_t* const npoints // OUT
) {
H5_API_ENTER5 (h5_err_t, "idx=%llu, name=0x%p, len_name=%llu, type=0x%p, npoints=0x%p",
idx, name, len_name, type, npoints);
H5_API_RETURN (h5_get_attachment_info_by_idx (
f, idx, name, len_name, type, npoints));
}
h5_err_t
H5GetAttachmentInfoByName (
h5_file_t* const f,
char* const name, // OUT
h5_int64_t* const type, // OUT
h5_size_t* const npoints // OUT
) {
H5_API_ENTER3 (h5_err_t, "name=\"%s\", type=0x%p, npoints=0x%p",
name, type, npoints);
H5_API_RETURN (h5_get_attachment_info_by_name (
f, name, type, npoints));
}
h5_err_t
H5WriteAttachmentBitstream (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
const void* const content, /*!< [in] Value of attribute */
const h5_size_t size
) {
H5_API_ENTER3 (h5_err_t, "name=\"%s\", content=0x%p, size=%llu",
name, content, (unsigned long long)size);
H5_API_RETURN (h5_write_attachment (f, name, H5T_NATIVE_CHAR, content, size));
}
h5_err_t
H5WriteAttachmentFloat32 (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
const void* const content, /*!< [in] Value of attribute */
const h5_size_t size
) {
H5_API_ENTER3 (h5_err_t, "name=\"%s\", content=0x%p, size=%llu",
name, content, (unsigned long long)size);
H5_API_RETURN (h5_write_attachment (f, name, H5T_NATIVE_FLOAT, content, size));
}
h5_err_t
H5WriteAttachmentFloat64 (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
const void* const content, /*!< [in] Value of attribute */
const h5_size_t size
) {
H5_API_ENTER3 (h5_err_t, "name=\"%s\", content=0x%p, size=%llu",
name, content, (unsigned long long)size);
H5_API_RETURN (h5_write_attachment (f, name, H5T_NATIVE_DOUBLE, content, size));
}
h5_err_t
H5WriteAttachmentInt32 (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
const void* const content, /*!< [in] Value of attribute */
const h5_size_t size
) {
H5_API_ENTER3 (h5_err_t, "name=\"%s\", content=0x%p, size=%llu",
name, content, (unsigned long long)size);
H5_API_RETURN (h5_write_attachment (f, name, H5T_NATIVE_INT32, content, size));
}
h5_err_t
H5WriteAttachmentInt64 (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
const void* const content, /*!< [in] Value of attribute */
const h5_size_t size
) {
H5_API_ENTER3 (h5_err_t, "name=\"%s\", content=0x%p, size=%llu",
name, content, (unsigned long long)size);
H5_API_RETURN (h5_write_attachment (f, name, H5T_NATIVE_INT64, content, size));
}
h5_err_t
H5ReadAttachmentBitstream (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
void* const content /*!< [in] Value of attribute */
) {
H5_API_ENTER2 (h5_err_t, "name=\"%s\", content=0x%p", name, content);
H5_API_RETURN (h5_read_attachment (f, name, H5T_NATIVE_CHAR, content));
}
h5_err_t
H5ReadAttachmentFloat32 (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
void* const content /*!< [in] Attachment */
) {
H5_API_ENTER2 (h5_err_t, "name=\"%s\", content=0x%p", name, content);
H5_API_RETURN (h5_read_attachment (f, name, H5T_NATIVE_FLOAT, content));
}
h5_err_t
H5ReadAttachmentFloat64 (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
void* const content /*!< [out] Attachment */
) {
H5_API_ENTER2 (h5_err_t, "name=\"%s\", content=0x%p", name, content);
H5_API_RETURN (h5_read_attachment (f, name, H5T_NATIVE_DOUBLE, content));
}
h5_err_t
H5ReadAttachmentInt32 (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
void* const content /*!< [out] Attachment */
) {
H5_API_ENTER2 (h5_err_t, "name=\"%s\", content=0x%p", name, content);
H5_API_RETURN (h5_read_attachment (f, name, H5T_NATIVE_INT32, content));
}
h5_err_t
H5ReadAttachmentInt64 (
h5_file_t* const f, /*!< [in] Handle to open file */
const char* name, /*!< [in] Name of attribute to create */
void* const content /*!< [out] Attachment */
) {
H5_API_ENTER2 (h5_err_t, "name=\"%s\", content=0x%p", name, content);
H5_API_RETURN (h5_read_attachment (f, name, H5T_NATIVE_INT64, content));
}
h5_err_t
H5DeleteAttachment (
h5_file_t* const f,
const char* const name
) {
H5_API_ENTER1 (h5_err_t, "name=\"%s\"", name);
H5_API_RETURN (h5_delete_attachment (f, name));
}
+2
View File
@@ -16,6 +16,7 @@ include_HEADERS = \
../include/H5hut.h \
../include/H5.h \
../include/H5_attribs.h \
../include/H5_attachments.h \
../include/H5Part.h \
../include/H5Block.h \
../include/H5Block_readwrite.h \
@@ -33,6 +34,7 @@ EXTRA_HEADERS =
libH5hutC_a_SOURCES = \
H5.c \
H5_attribs.c \
H5_attachments.c \
H5Part.c \
H5Block.c \
H5Block_readwrite.c \
+2
View File
@@ -6,6 +6,7 @@ LIBS = @LIBS@
INCLUDES = -I../include @INCLUDES@
EXTRA_HEADERS = \
../include/h5core/h5_attach.h \
../include/h5core/h5_attribs.h \
../include/h5core/h5_core.h \
../include/h5core/h5_errno.h \
@@ -74,6 +75,7 @@ EXTRA_LIBRARIES = libH5hut.a
# Listing of sources
libH5hut_a_SOURCES = \
h5_attach.c \
h5_attribs.c \
h5_errorhandling.c \
h5_fcmp.c \
@@ -1,5 +1,6 @@
#include "h5core/h5_core.h"
#include "h5_core_private.h"
#include <string.h>
static hid_t
open_space_all (
@@ -12,27 +13,28 @@ open_space_all (
}
h5_err_t
h5_add_attachment (
h5_write_attachment (
h5_file_t* const f,
const char* const name,
h5_int64_t* const type,
const hid_t type,
const char* const content,
const h5_size_t size
) {
H5_CORE_API_ENTER2 (h5_ssize_t,
"name=\"%s\, type=%d, content=0x%p",
name, type, content);
H5_CORE_API_ENTER4 (h5_ssize_t,
"name=\"%s\", type=%ld, content=0x%p, size=%llu",
name, (long)type, content, (unsigned long long)size);
// write only on proc 0
if (f->myproc != 0) {
H5_CORE_API_LEAVE (H5_SUCCESS);
}
hid_t group_id;
TRY (group_id = h5priv_open_group (f, f->file, H5_ATTACHMENT));
h5_err_t exists;
TRY (exists = hdf5_link_exists (group_id, name));
if (exists > 0) {
// warn user on overwrite
h5_warn ("Dataset %s/%s already exists",
hdf5_get_objname(group_id), name);
}
h5_dsinfo_t dsinfo;
strncpy (dsinfo.name, name, sizeof (dsinfo.name) - 1);
@@ -57,13 +59,13 @@ static inline hid_t
open_attachments (
h5_file_t* const f
) {
h5_err_t exists;
TRY (exists = hdf5_link_exists(f->file, H5_ATTACHMENT));
h5_err_t exists = hdf5_link_exists (f->file, H5_ATTACHMENT);
if (exists > 0) {
return hdf5_open_group (f->file, H5_ATTACHMENT);
} else {
} else if (exists == 0) {
return h5_warn ("No attachment group in file");
}
return exists;
}
h5_ssize_t
@@ -85,54 +87,96 @@ h5_get_num_attachments (
h5_err_t
h5_get_attachment_info_by_idx (
h5_file_t* const f,
const size_t idx, // IN
const h5_size_t idx, // IN
char* const name, // OUT
size_t l_name, // IN
h5_size_t len_name, // IN
h5_int64_t* const type, // OUT
h5_size_t* const npoints // OUT
) {
H5_CORE_API_ENTER0 (h5_err_t);
TRY (group_id = open_attachments (f));
if (group_id < 0) {
hid_t loc_id;
TRY (loc_id = open_attachments (f));
if (loc_id < 0) { // no attachment group in file
H5_CORE_API_LEAVE (0);
}
TRY (hdf5_get_dataset_info_by_idx (group_id, idx, name, l_name, type, npoints));
TRY (hdf5_close_group (group_id));
H5_CORE_API_RETURN (num);
TRY (hdf5_get_name_of_dataset_by_idx (
loc_id,
idx,
name, len_name));
if (npoints) {
// get number of elements, do not change value on error
h5_ssize_t np;
TRY (np = hdf5_get_npoints_of_dataset_by_name (loc_id, name));
*npoints = np;
}
if (type) {
// get normalized data type, do not change value on error
h5_int64_t t;
TRY (t = h5_get_dataset_type (loc_id, name));
*type = t;
}
TRY (hdf5_close_group (loc_id));
H5_CORE_API_RETURN (H5_SUCCESS);
}
h5_err_t
h5_get_attachment_info_by_name (
h5_file_t* const f,
const char* const name, // IN
h5_int64_t* const type, // OUT
h5_size_t* const nelem // OUT
const char* const name, // IN
h5_int64_t* const type, // OUT
h5_size_t* const npoints // OUT
) {
H5_CORE_API_ENTER3 (h5_err_t,
"name=\"%s\", type=0x%p, npoints=0x%p",
name, type, npoints);
hid_t loc_id;
TRY (loc_id = open_attachments (f));
if (loc_id < 0) {
H5_CORE_API_LEAVE (H5_NOK);
}
if (npoints) {
h5_ssize_t np;
TRY (np = hdf5_get_npoints_of_dataset_by_name (loc_id, name));
*npoints = np;
}
if (type) {
h5_int64_t t;
TRY (t = h5_get_dataset_type (loc_id, name));
*type = t;
}
TRY (hdf5_close_group (loc_id));
H5_CORE_API_RETURN (H5_SUCCESS);
}
h5_err_t
h5_read_attachment (
h5_file_t* const f,
const char* const name,
const hid_t type,
void* const content
) {
H5_CORE_API_ENTER0 (h5_err_t);
hid_t group_id;
TRY (group_id = open_attachments (f));
if (group_id < 0) {
H5_CORE_API_LEAVE (H5_NOK);
}
TRY (hdf5_get_dataset_info_by_name (group_id, idx, name, type, npoints));
h5_dsinfo_t dsinfo;
strncpy (dsinfo.name, name, sizeof (dsinfo.name) - 1);
dsinfo.type_id = type;
TRY (h5priv_read_dataset_by_name (
f,
group_id,
&dsinfo,
open_space_all,
open_space_all,
content));
TRY (hdf5_close_group (group_id));
H5_CORE_API_RETURN (H5_SUCCESS);
}
h5_err_t
h5_get_attachment (
h5_file_t* const f,
const char* const name,
const hid_t type,
void* const content,
) {
H5_CORE_API_ENTER0 (h5_err_t);
H5_CORE_API_RETURN (H5_SUCCESS);
}
h5_err_t
h5_remove_attachment (
h5_delete_attachment (
h5_file_t* const f,
const char* const name
) {
+3
View File
@@ -2,12 +2,15 @@
#define __H5_CORE_PRIVATE_H
#define H5_CORE_API_ENTER(type) __FUNC_ENTER(type)
#define H5_CORE_API_ENTER0(type) __FUNC_ENTER(type)
#define H5_CORE_API_ENTER1(type, fmt, a1) \
__FUNC_ENTER1(type, fmt, a1, H5_DEBUG_CORE_API)
#define H5_CORE_API_ENTER2(type, fmt, a1, a2) \
__FUNC_ENTER2(type, fmt, a1, a2, H5_DEBUG_CORE_API)
#define H5_CORE_API_ENTER3(type, fmt, a1, a2, a3) \
__FUNC_ENTER3(type, fmt, a1, a2, a3, H5_DEBUG_CORE_API)
#define H5_CORE_API_ENTER4(type, fmt, a1, a2, a3, a4) \
__FUNC_ENTER4(type, fmt, a1, a2, a3, a4, H5_DEBUG_CORE_API)
#define H5_CORE_API_LEAVE(value) __FUNC_LEAVE(value)
#define H5_CORE_API_RETURN(value) __FUNC_RETURN(value, H5_DEBUG_CORE_API)
-56
View File
@@ -1598,62 +1598,6 @@ hdf5_get_name_of_dataset_by_idx (
HDF5_WRAPPER_RETURN (H5_SUCCESS);
}
h5_err_t
hdf5_get_dataset_info_by_idx (
const hid_t loc_id, /*!< [in] Group */
const hsize_t idx, /*!< [in] Index of the dataset */
char* const name, /*!< [out] Name of dataset */
const size_t len_name, /*!< [in] Size of buffer \c name */
h5_int64_t* const type, /*!< [out] Type of data in dataset */
hsize_t* const npoints /*!< [out] Number of elements. */
) {
HDF5_WRAPPER_ENTER5 (h5_err_t,
"loc_id=%d (%s), idx=%llu, name=0x%p, len_name=%llu",
loc_id, hdf5_get_objname (loc_id),
idx, name, (unsigned long long)len_name);
TRY (hdf5_get_name_of_dataset_by_idx (loc_id, idx, name, len_name));
if (npoints) {
h5_ssize_t np;
TRY (np = hdf5_get_npoints_of_dataset_by_name (loc_id, name));
*npoints = np;
}
if (type) {
h5_int64_t t;
TRY (t = h5_get_dataset_type (loc_id, name));
*type = t;
}
H5_CORE_API_RETURN (H5_SUCCESS);
}
h5_err_t
hdf5_get_dataset_info_by_name (
const hid_t loc_id, /*!< [in] Group */
const hsize_t idx, /*!< [in] Index of the dataset */
const char* name, /*!< [in] Name of dataset */
h5_int64_t* const type, /*!< [out] Type of data in dataset */
hsize_t* const npoints /*!< [out] Number of elements. */
) {
HDF5_WRAPPER_ENTER4 (h5_err_t,
"loc_id=%d (%s), idx=%llu, name=\"%s\"",
loc_id, hdf5_get_objname (loc_id),
idx, name);
if (npoints) {
h5_ssize_t np;
TRY (np = hdf5_get_npoints_of_dataset_by_name (loc_id, name));
*npoints = np;
}
if (type) {
h5_int64_t t;
TRY (t = h5_get_dataset_type (loc_id, name));
*type = t;
}
H5_CORE_API_RETURN (H5_SUCCESS);
}
/****** I d e n t i f i e r **************************************************/
const char *
-9
View File
@@ -377,13 +377,4 @@ hdf5_delete_link (
hid_t lapl_id
);
/*** other ***/
h5_err_t
hdf5_get_dataset_info_by_name (
const hid_t loc_id,
const hsize_t idx,
const char* name,
h5_int64_t* const type,
hsize_t* const npoints
);
#endif
+29 -14
View File
@@ -408,24 +408,39 @@ h5u_get_num_datasets (
/*!
Get information about dataset in current index given by its index
*/
*/
h5_err_t
h5u_get_dataset_info (
h5_file_t* const f, /*!< [in] Handle to open file */
const h5_id_t idx, /*!< [in] Index of the dataset */
char* const dset_name, /*!< [out] Name of dataset */
const h5_size_t len_dset_name, /*!< [in] Size of buffer \c dset_name */
h5_int64_t* const type, /*!< [out] Type of data in dataset */
h5_size_t* const npoints /*!< [out] Number of elements. */
h5_file_t *const f, /*!< [in] Handle to open file */
const h5_id_t idx, /*!< [in] Index of the dataset */
char *dataset_name, /*!< [out] Name of dataset */
const h5_size_t len_dataset_name,
/*!< [in] Size of buffer \c dataset_name */
h5_int64_t *type, /*!< [out] Type of data in dataset */
h5_size_t *nelem /*!< [out] Number of elements. */
) {
H5_CORE_API_ENTER (h5_err_t);
H5_CORE_API_RETURN (
hdf5_get_dataset_info_by_idx (
f->step_gid,
idx,
dset_name, len_dset_name,
type, npoints));
}
TRY (hdf5_get_name_of_dataset_by_idx (
f->step_gid,
idx,
dataset_name, len_dataset_name) );
if ( nelem ) {
h5_ssize_t nelem_;
TRY (nelem_ = hdf5_get_npoints_of_dataset_by_name (
f->step_gid,
dataset_name) );
if ( nelem_ < 0 ) return nelem_;
*nelem = nelem_;
}
if ( type ) {
*type = h5_get_dataset_type (f->step_gid, dataset_name);
if ( *type < 0 ) return *type;
}
H5_CORE_API_RETURN (H5_SUCCESS);
}
h5_err_t
h5u_set_chunk (
+1 -1
View File
@@ -119,7 +119,7 @@ H5AbortErrorhandler (
h5_err_t
H5GetErrno (
h5_file_t * const f
void
);
#ifdef PARALLEL_IO
+108
View File
@@ -0,0 +1,108 @@
#ifndef __H5_ATTACHMENTS_H
#define __H5_ATTACHMENTS_H
h5_ssize_t
H5GetNumAttachments (
h5_file_t* const f
);
h5_err_t
H5GetAttachmentInfoByIdx (
h5_file_t* const f,
const h5_size_t idx,
char* const name,
h5_size_t len_name,
h5_int64_t* const type,
h5_size_t* const npoints
);
h5_err_t
H5GetAttachmentInfoByName (
h5_file_t* const f,
char* const name,
h5_int64_t* const type,
h5_size_t* const npoints
);
h5_err_t
H5WriteAttachmentBitstream (
h5_file_t* const f,
const char* name,
const void* const content,
const h5_size_t size
);
h5_err_t
H5WriteAttachmentFloat32 (
h5_file_t* const f,
const char* name,
const void* const content,
const h5_size_t size
);
h5_err_t
H5WriteAttachmentFloat64 (
h5_file_t* const f,
const char* name,
const void* const content,
const h5_size_t size
);
h5_err_t
H5WriteAttachmentInt32 (
h5_file_t* const f,
const char* name,
const void* const content,
const h5_size_t size
);
h5_err_t
H5WriteAttachmentInt64 (
h5_file_t* const f,
const char* name,
const void* const content,
const h5_size_t size
);
h5_err_t
H5ReadAttachmentBitstream (
h5_file_t* const f,
const char* name,
void* const content
);
h5_err_t
H5ReadAttachmentFloat32 (
h5_file_t* const f,
const char* name,
void* const content
);
h5_err_t
H5ReadAttachmentFloat64 (
h5_file_t* const f,
const char* name,
void* const content
);
h5_err_t
H5ReadAttachmentInt32 (
h5_file_t* const f,
const char* name,
void* const content
);
h5_err_t
H5ReadAttachmentInt64 (
h5_file_t* const f,
const char* name,
void* const content
);
h5_err_t
H5DeleteAttachment (
h5_file_t* const f,
const char* const name
);
#endif
+1
View File
@@ -8,6 +8,7 @@ extern "C" {
#include "h5core/h5_core.h"
#include "H5.h"
#include "H5_attribs.h"
#include "H5_attachments.h"
#include "H5Part.h"
#include "H5Block.h"
#include "H5Block_readwrite.h"
+50
View File
@@ -0,0 +1,50 @@
#ifndef __H5_ATTACH_H
#define __H5_ATTACH_H
h5_err_t
h5_write_attachment (
h5_file_t* const f,
const char* const name,
const hid_t type,
const char* const content,
const h5_size_t size
);
h5_ssize_t
h5_get_num_attachments (
h5_file_t* const f
);
h5_err_t
h5_get_attachment_info_by_idx (
h5_file_t* const f,
const h5_size_t idx, // IN
char* const name, // OUT
h5_size_t len_name, // IN
h5_int64_t* const type, // OUT
h5_size_t* const npoints // OUT
);
h5_err_t
h5_get_attachment_info_by_name (
h5_file_t* const f,
const char* const name, // IN
h5_int64_t* const type, // OUT
h5_size_t* const npoints // OUT
);
h5_err_t
h5_read_attachment (
h5_file_t* const f,
const char* const name,
const hid_t type,
void* const content
);
h5_err_t
h5_delete_attachment (
h5_file_t* const f,
const char* const name
);
#endif
+15 -6
View File
@@ -14,13 +14,13 @@
#define H5_DEBUG_ALL (-1)
extern char* h5_rfmts[];
#define __FUNC_ENTER(type) \
#define __FUNC_ENTER(type) \
h5_call_stack_push (__func__,e_##type); \
type ret_value = (type)H5_ERR;
#define __FUNC_ARGS0(mask) \
#define __FUNC_ARGS0(mask) \
if (h5_debug_level & mask ) { \
h5_debug ("(void)"); \
h5_debug ("(void)"); \
}
#define __FUNC_ARGS1(fmt, a1, mask) \
@@ -69,7 +69,7 @@ extern char* h5_rfmts[];
__FUNC_ARGS4(fmt, a1, a2, a3, a4, mask);
#define __FUNC_ENTER5(type, fmt, a1, a2, a3, a4, a5, mask) \
__FUNC_ENTER(type); \
__FUNC_ENTER(type); \
__FUNC_ARGS5(fmt, a1, a2, a3, a4, a5, mask);
#define __FUNC_LEAVE(expr) { \
@@ -80,8 +80,8 @@ extern char* h5_rfmts[];
#define __FUNC_RETURN(expr, mask) \
ret_value = expr; \
goto done; \
done: \
if (h5_debug_level & mask ) { \
done: \
if (h5_debug_level & mask ) { \
char fmt[256]; \
snprintf (fmt, sizeof(fmt), "return: %s", \
h5_rfmts[h5_call_stack_get_type()]); \
@@ -109,6 +109,14 @@ done: \
H5_API_ENTER(type); \
__FUNC_ARGS3(fmt, a1,a2,a3, H5_DEBUG_API)
#define H5_API_ENTER4(type, fmt, a1, a2, a3, a4) \
H5_API_ENTER(type); \
__FUNC_ARGS4(fmt, a1,a2,a3, a4, H5_DEBUG_API)
#define H5_API_ENTER5(type, fmt, a1, a2, a3, a4, a5) \
H5_API_ENTER(type); \
__FUNC_ARGS5(fmt, a1,a2,a3, a4, a5, H5_DEBUG_API)
#define H5_API_LEAVE(expr) __FUNC_LEAVE(expr)
#define H5_API_RETURN(expr) __FUNC_RETURN(expr, H5_DEBUG_API);
@@ -135,6 +143,7 @@ done: \
#include "h5_types.h"
#include "h5_errno.h"
#include "h5_attach.h"
#include "h5_attribs.h"
#include "h5_hdf5.h"
#include "h5_maps.h"
-10
View File
@@ -33,16 +33,6 @@ hdf5_get_name_of_dataset_by_idx (
size_t len
);
h5_err_t
hdf5_get_dataset_info_by_idx (
const hid_t loc_id,
const hsize_t idx,
char* const name,
const size_t len_name,
h5_int64_t* const type,
hsize_t* const npoints
);
const char *
hdf5_get_objname (
hid_t id