diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2003-12-18 16:18:09 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2003-12-18 16:18:09 (GMT) |
commit | 8f65e4252d4f8eea059fcdbe5efc14546175c864 (patch) | |
tree | ade9d7df10060156d25aa6a5d0e5c6581eaf8cbc /tools/lib/h5trav.h | |
parent | 1f0ca5b200c1e20050265d40d26f9bc29333fb74 (diff) | |
download | hdf5-8f65e4252d4f8eea059fcdbe5efc14546175c864.zip hdf5-8f65e4252d4f8eea059fcdbe5efc14546175c864.tar.gz hdf5-8f65e4252d4f8eea059fcdbe5efc14546175c864.tar.bz2 |
[svn-r7969] Purpose:
h5repack new features
Description:
addded the copy routines for hard links
changed the traversal structure to store information about the hard links
added tests
Solution:
Platforms tested:
linux
solaris
IRIX
Misc. update:
Diffstat (limited to 'tools/lib/h5trav.h')
-rw-r--r-- | tools/lib/h5trav.h | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/tools/lib/h5trav.h b/tools/lib/h5trav.h index 1f826bb..cedbc54 100644 --- a/tools/lib/h5trav.h +++ b/tools/lib/h5trav.h @@ -40,16 +40,28 @@ typedef struct trav_info_t { /*------------------------------------------------------------------------- + * keep record of hard link information + *------------------------------------------------------------------------- + */ +typedef struct trav_link_t { + char *new_name; +} trav_link_t; + + +/*------------------------------------------------------------------------- * struct to store basic info needed for the h5trav table traversal algorythm *------------------------------------------------------------------------- */ typedef struct trav_obj_t { - haddr_t objno; - unsigned flags[2]; - char *objname; - int displayed; - H5G_obj_t type; + haddr_t objno; /* object number from H5Gget_objinfo */ + unsigned flags[2]; /* h5diff.object is present or not in both files*/ + char *name; /* name */ + int displayed; /* hard link already traversed once */ + H5G_obj_t type; /* type of object */ + trav_link_t *links; /* array of possible link names */ + int sizelinks; /* size of links array */ + int nlinks; /* number of links */ } trav_obj_t; @@ -78,7 +90,7 @@ int h5trav_getinfo( hid_t file_id, trav_info_t *info ); int h5trav_getindex( const char *obj, int nobjs, trav_info_t *info ); void h5trav_freeinfo( trav_info_t *info, int nobjs ); void h5trav_printinfo(int nobjs, trav_info_t *info); - +int h5trav_gettable(hid_t fid, trav_table_t *travt); #ifdef __cplusplus @@ -107,6 +119,11 @@ void trav_table_addflags(unsigned *flags, H5G_obj_t type, trav_table_t *table); +void h5trav_printtable(trav_table_t *table); + +void trav_table_addlink(trav_table_t *table, + int j /* the object index */, + char *path ); #endif /* H5TRAV_H__ */ |