diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2002-08-28 18:34:12 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2002-08-28 18:34:12 (GMT) |
commit | 7bff4eb559d3f28f27ab29ced0d1e46ada1df620 (patch) | |
tree | 26415f62114ac52c107ef88cacfb58218facbefa /src/H5Gprivate.h | |
parent | fc5e3b4897f695b2d61518954047cc783c8baa1d (diff) | |
download | hdf5-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.h | 30 |
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 |