reactos/lib/rtl/austin/avl.h
Art Yerkes c501d8112c Create a branch for network fixes.
svn path=/branches/aicom-network-fixes/; revision=34994
2008-08-01 11:32:26 +00:00

31 lines
985 B
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS System Libraries
* FILE: lib/rtl/austin/avl.h
* PURPOSE: Run-Time Libary Header (interface to austin AVL tree)
* PROGRAMMER: arty
*/
#ifndef _REACTOS_RTL_LIB_AUSTIN_AVL_H
#define _REACTOS_RTL_LIB_AUSTIN_AVL_H
#define avl_data(x) ((void*)(&(x)[1]))
void avl_init(PRTL_AVL_TABLE table);
void avl_deinit(PRTL_AVL_TABLE table);
void avl_insert_node(PRTL_AVL_TABLE table, PRTL_BALANCED_LINKS node);
void avl_delete_node(PRTL_AVL_TABLE table, PRTL_BALANCED_LINKS node);
int avl_is_nil(PRTL_AVL_TABLE table, PRTL_BALANCED_LINKS node);
PRTL_BALANCED_LINKS avl_first(PRTL_AVL_TABLE table);
PRTL_BALANCED_LINKS avl_last(PRTL_AVL_TABLE table);
PRTL_BALANCED_LINKS avl_next(PRTL_AVL_TABLE table, PRTL_BALANCED_LINKS node);
int avl_search
(PRTL_AVL_TABLE table,
PVOID _key,
PRTL_BALANCED_LINKS node,
PRTL_BALANCED_LINKS *where);
#endif/*_REACTOS_RTL_LIB_AUSTIN_AVL_H*/