summaryrefslogtreecommitdiffstats
path: root/src/H5Gprivate.h
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2002-08-28 18:34:12 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2002-08-28 18:34:12 (GMT)
commit7bff4eb559d3f28f27ab29ced0d1e46ada1df620 (patch)
tree26415f62114ac52c107ef88cacfb58218facbefa /src/H5Gprivate.h
parentfc5e3b4897f695b2d61518954047cc783c8baa1d (diff)
downloadhdf5-7bff4eb559d3f28f27ab29ced0d1e46ada1df620.zip
hdf5-7bff4eb559d3f28f27ab29ced0d1e46ada1df620.tar.gz
hdf5-7bff4eb559d3f28f27ab29ced0d1e46ada1df620.tar.bz2
[svn-r5904]
Purpose: Added 'ID to name' support Description: There is a new API function H5Iget_name Most of the changes are on H5G.c , regarding the symbol table entry struct H5G_entry_t which has 2 new fields 'name' and 'old_name' A new private function was introduced H5G_ent_copy, that does a deep copy between 2 symbol table entries The test file is getname.c Platforms tested: windows 2000, Linux, Solaris
Diffstat (limited to 'src/H5Gprivate.h')
-rw-r--r--src/H5Gprivate.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/H5Gprivate.h b/src/H5Gprivate.h
index 1d9df9d..7a92c08 100644
--- a/src/H5Gprivate.h
+++ b/src/H5Gprivate.h
@@ -10,7 +10,10 @@
*
* Purpose: Library-visible declarations.
*
- * Modifications:
+ * Modifications: Aug 22, 2002
+ * Pedro Vicente <pvn@ncsa.uiuc.edu>
+ * Added 'names' field to H5G_entry_t
+ * Added H5G_replace_name
*
*-------------------------------------------------------------------------
*/
@@ -92,6 +95,8 @@ typedef struct H5G_entry_t {
H5G_type_t type; /*type of information cached */
H5G_cache_t cache; /*cached data from object header */
H5F_t *file; /*file to which this obj hdr belongs */
+ char *name; /*name associated with atom */
+ char *old_name; /*old name hidden by a file mount */
} H5G_entry_t;
typedef struct H5G_t H5G_t;
@@ -107,6 +112,25 @@ typedef struct H5G_typeinfo_t {
char *desc; /*description of object type */
} H5G_typeinfo_t;
+
+ typedef enum H5G_names_op_t {
+ OP_MOVE = 0, /* H5*move call */
+ OP_LINK = 1, /* H5Glink call */
+ OP_UNLINK = 2, /* H5Gunlink call */
+ OP_MOUNT = 3, /* H5Fmount call */
+ OP_UNMOUNT= 4 /* H5Funmount call */
+ }H5G_names_op_t;
+
+/* Struct only used by change name callback function */
+typedef struct H5G_names_t {
+ H5I_type_t obj_type;
+ const char *src_name;
+ const char *dst_name;
+ H5G_entry_t *loc;
+ H5G_names_op_t op;
+} H5G_names_t;
+
+
/*
* Library prototypes... These are the ones that other packages routinely
* call.
@@ -168,4 +192,8 @@ __DLL__ H5G_cache_t *H5G_ent_cache(H5G_entry_t *ent, H5G_type_t *cache_type);
__DLL__ herr_t H5G_ent_modified(H5G_entry_t *ent, H5G_type_t cache_type);
__DLL__ herr_t H5G_ent_debug(H5F_t *f, const H5G_entry_t *ent, FILE * stream,
int indent, int fwidth, haddr_t heap);
+__DLL__ herr_t H5G_replace_name( int type, H5G_entry_t *loc, const char *src_name,
+ const char *dst_name, int op );
+__DLL__ herr_t H5G_insert_name( H5G_entry_t *loc, H5G_entry_t *obj, const char *name);
+__DLL__ herr_t H5G_ent_copy( const H5G_entry_t *src, H5G_entry_t *dst );
#endif