summaryrefslogtreecommitdiffstats
path: root/src/H5B2private.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2005-02-17 00:37:04 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2005-02-17 00:37:04 (GMT)
commit27dbdb8c7197b30c2683f4be2b9ef7b703d81d5f (patch)
tree36a72b479a22979060a6ccd4b663ccc0cb0cafc9 /src/H5B2private.h
parenta68c4c7981ba4224e72f64556483f3707be94ffc (diff)
downloadhdf5-27dbdb8c7197b30c2683f4be2b9ef7b703d81d5f.zip
hdf5-27dbdb8c7197b30c2683f4be2b9ef7b703d81d5f.tar.gz
hdf5-27dbdb8c7197b30c2683f4be2b9ef7b703d81d5f.tar.bz2
[svn-r10020] Purpose:
New feature Description: Add code to iterate over all the records in a v2 B-tree. Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
Diffstat (limited to 'src/H5B2private.h')
-rw-r--r--src/H5B2private.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/H5B2private.h b/src/H5B2private.h
index 51b5c2d..457d12a 100644
--- a/src/H5B2private.h
+++ b/src/H5B2private.h
@@ -36,13 +36,17 @@
/* Library Private Macros */
/**************************/
-/*
- * Feature: Define this constant if you want to check B-tree consistency
- * after each B-tree operation. Note that this slows down the
- * library considerably! Debugging the B-tree depends on assert()
- * being enabled.
+/* Define return values from operator callback function for H5B2_iterate */
+/* (Actually, any positive value will cause the iterator to stop and pass back
+ * that positive value to the function that called the iterator)
*/
-/* #define H5B2_DEBUG */
+#define H5B2_ITER_ERROR (-1)
+#define H5B2_ITER_CONT (0)
+#define H5B2_ITER_STOP (1)
+
+/* Define the operator callback function pointer for H5B2_iterate() */
+typedef int (*H5B2_operator_t)(const void *record, void *op_data);
+
/****************************/
/* Library Private Typedefs */
@@ -88,6 +92,8 @@ H5_DLL herr_t H5B2_create(H5F_t *f, hid_t dxpl_id, const H5B2_class_t *type,
haddr_t *addr_p);
H5_DLL herr_t H5B2_insert(H5F_t *f, hid_t dxpl_id, const H5B2_class_t *type,
haddr_t addr, void *udata);
+H5_DLL herr_t H5B2_iterate(H5F_t *f, hid_t dxpl_id, const H5B2_class_t *type,
+ haddr_t addr, H5B2_operator_t op, void *op_data);
#endif /* _H5B2private_H */