Index: kernel/generic/include/adt/avl.h
===================================================================
--- kernel/generic/include/adt/avl.h	(revision 358ec1390336e7c5e3015493822825c0d34dca53)
+++ kernel/generic/include/adt/avl.h	(revision 5dcee525bccbdcd56e08f5269158e2d305ff94d3)
@@ -33,5 +33,4 @@
  */
 
-
 #ifndef KERN_AVLTREE_H_
 #define KERN_AVLTREE_H_ 
@@ -47,11 +46,13 @@
  * @param member Name of avltree attribute in the outer structure.
  */
-#define avltree_get_instance(link, type, member) \
-    ((type *)(((uint8_t *)(link)) - ((uint8_t *) &(((type *) NULL)->member))))
-
+#define avltree_get_instance(node, type, member) \
+    ((type *)(((uint8_t *)(node)) - ((uint8_t *) &(((type *) NULL)->member))))
 
 typedef struct avltree_node avltree_node_t;
 typedef struct avltree avltree_t;
 
+typedef uint64_t avltree_key_t;
+
+typedef void (* avltree_walker_t)(avltree_node_t *);
 
 /** AVL tree node structure. */
@@ -78,5 +79,5 @@
 	
 	/** Node's key. */
-	uint64_t key; 
+	avltree_key_t key; 
 	
 	/**
@@ -101,5 +102,5 @@
 	 * with avltree_delete_min().
 	 */
-	uint64_t base; 
+	avltree_key_t base; 
 };
 
@@ -109,5 +110,5 @@
  * @param t AVL tree.
  */
-static inline void avltree_create (avltree_t *t)
+static inline void avltree_create(avltree_t *t)
 {
 	t->root = NULL;
@@ -129,8 +130,9 @@
 
 extern avltree_node_t *avltree_find_min(avltree_t *t);
-extern avltree_node_t *avltree_search(avltree_t *t, uint64_t key);
+extern avltree_node_t *avltree_search(avltree_t *t, avltree_key_t key);
 extern void avltree_insert(avltree_t *t, avltree_node_t *newnode);
 extern void avltree_delete(avltree_t *t, avltree_node_t *node);
 extern bool avltree_delete_min(avltree_t *t);
+extern void avltree_walk(avltree_t *t, avltree_walker_t walker);
 
 #endif
