summaryrefslogtreecommitdiffstats
path: root/src/H5Bprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Bprivate.h')
-rw-r--r--src/H5Bprivate.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/H5Bprivate.h b/src/H5Bprivate.h
index 92c2985..618e344 100644
--- a/src/H5Bprivate.h
+++ b/src/H5Bprivate.h
@@ -29,21 +29,26 @@
4 + /*type, level, num entries */ \
2*H5F_SIZEOF_OFFSET(F)) /*left and right sibling addresses */
+#define H5B_K(F,TYPE) /*K value given file and Btree subclass */ \
+ ((F)->file_create_parms.btree_k[(TYPE)->id])
+
#define H5B_ANCHOR_LT 0 /* left node is anchored, right is new */
#define H5B_ANCHOR_RT 1 /* right node is anchored, left is new */
typedef enum H5B_subid_t {
- H5B_SUBTYPE_SNODE =0 /*B-tree is for symbol table nodes */
+ H5B_SNODE_ID =0 /*B-tree is for symbol table nodes */
} H5B_subid_t;
/*
* Each class of object that can be pointed to by a B-link tree has a
- * variable of this type that contains class variables and methods.
+ * variable of this type that contains class variables and methods. Each
+ * tree has a K (1/2 rank) value on a per-file basis. The file_create_parms
+ * has an array of K values indexed by the `id' class field below. The
+ * array is initialized with the HDF5_BTREE_K_DEFAULT macro.
*/
typedef struct H5B_class_t {
H5B_subid_t id; /*id as found in file */
- intn k; /* max children is 2k */
size_t sizeof_nkey; /*size of native (memory) key */
size_t (*get_sizeof_rkey)(hdf5_file_t*);
haddr_t (*new)(hdf5_file_t*,void*,void*,void*);