diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2012-04-10 20:19:35 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2012-04-10 20:19:35 (GMT) |
commit | 45f6d4c1eed29c45476970a9703304378a5a1073 (patch) | |
tree | 667240a5ea57e8a072bc8ffb59ecb7281867164c /src/H5Aprivate.h | |
parent | ad4b4b2b90c340bb408ddf32dd5cae780547bad2 (diff) | |
parent | 09fa6e9c54380362f6f283ad60daef679ec91b25 (diff) | |
download | hdf5-45f6d4c1eed29c45476970a9703304378a5a1073.zip hdf5-45f6d4c1eed29c45476970a9703304378a5a1073.tar.gz hdf5-45f6d4c1eed29c45476970a9703304378a5a1073.tar.bz2 |
[svn-r22274] merge from trunk, resolve conflicts
Diffstat (limited to 'src/H5Aprivate.h')
-rw-r--r-- | src/H5Aprivate.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/H5Aprivate.h b/src/H5Aprivate.h index 18219e6..ac9f698 100644 --- a/src/H5Aprivate.h +++ b/src/H5Aprivate.h @@ -24,6 +24,8 @@ /* Private headers needed by this file */ #include "H5Gprivate.h" /* Groups */ +#include "H5Oprivate.h" /* Object headers */ +#include "H5Tprivate.h" /* Datatypes */ /**************************/ @@ -41,6 +43,29 @@ /* Forward references of package typedefs */ typedef struct H5A_t H5A_t; +/* Attribute iteration operator for internal library callbacks */ +typedef herr_t (*H5A_lib_iterate_t)(const H5A_t *attr, void *op_data); + +/* Describe kind of callback to make for each attribute */ +typedef enum H5A_attr_iter_op_type_t { +#ifndef H5_NO_DEPRECATED_SYMBOLS + H5A_ATTR_OP_APP, /* Application callback */ +#endif /* H5_NO_DEPRECATED_SYMBOLS */ + H5A_ATTR_OP_APP2, /* Revised application callback */ + H5A_ATTR_OP_LIB /* Library internal callback */ +} H5A_attr_iter_op_type_t; + +typedef struct H5A_attr_iter_op_t { + H5A_attr_iter_op_type_t op_type; + union { +#ifndef H5_NO_DEPRECATED_SYMBOLS + H5A_operator1_t app_op; /* Application callback for each attribute */ +#endif /* H5_NO_DEPRECATED_SYMBOLS */ + H5A_operator2_t app_op2; /* Revised application callback for each attribute */ + H5A_lib_iterate_t lib_op; /* Library internal callback for each attribute */ + } u; +} H5A_attr_iter_op_t; + /*****************************/ /* Library-private Variables */ @@ -54,6 +79,13 @@ typedef struct H5A_t H5A_t; /* General attribute routines */ H5_DLL struct H5O_loc_t *H5A_oloc(H5A_t *attr); H5_DLL H5G_name_t *H5A_nameof(H5A_t *attr); +H5_DLL H5T_t *H5A_type(const H5A_t *attr); +H5_DLL herr_t H5O_attr_iterate_real(hid_t loc_id, const H5O_loc_t *loc, + hid_t dxpl_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t skip, + hsize_t *last_attr, const H5A_attr_iter_op_t *attr_op, void *op_data); +H5_DLL herr_t H5O_attr_iterate(hid_t loc_id, hid_t dxpl_id, H5_index_t idx_type, + H5_iter_order_t order, hsize_t skip, hsize_t *last_attr, + const H5A_attr_iter_op_t *op, void *op_data); #endif /* _H5Aprivate_H */ |