summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5trav.h
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2003-12-18 16:18:09 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2003-12-18 16:18:09 (GMT)
commit8f65e4252d4f8eea059fcdbe5efc14546175c864 (patch)
treeade9d7df10060156d25aa6a5d0e5c6581eaf8cbc /tools/lib/h5trav.h
parent1f0ca5b200c1e20050265d40d26f9bc29333fb74 (diff)
downloadhdf5-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.h29
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__ */