-/* looks like this function pointer is not used consistently */
-/* typedef int (*IFP)LDAP_P((caddr_t, caddr_t)); */
-typedef int (*IFP)();
+#endif /* AVL_INTERNALS */
+
+typedef int (*AVL_APPLY) LDAP_P((void *, void*));
+typedef int (*AVL_CMP) LDAP_P((const void*, const void*));
+typedef int (*AVL_DUP) LDAP_P((void*, void*));
+typedef void (*AVL_FREE) LDAP_P((void*));
+
+LDAP_AVL_F( int )
+avl_free LDAP_P(( Avlnode *root, AVL_FREE dfree ));