/*
 * |-----------------------------------------------------------|
 * | Copyright (c) 1991, 1990 MIPS Computer Systems, Inc.      |
 * | All Rights Reserved                                       |
 * |-----------------------------------------------------------|
 * |          Restricted Rights Legend                         |
 * | Use, duplication, or disclosure by the Government is      |
 * | subject to restrictions as set forth in                   |
 * | subparagraph (c)(1)(ii) of the Rights in Technical        |
 * | Data and Computer Software Clause of DFARS 252.227-7013.  |
 * |         MIPS Computer Systems, Inc.                       |
 * |         950 DeGuigne Avenue                               |
 * |         Sunnyvale, California 94088-3650, USA             |
 * |-----------------------------------------------------------|
 */
/* $Header: avl.h,v 1.2.2.1 92/06/24 13:41:36 marker Exp $ */
#ifndef		_AVL_H_
#define		_AVL_H_

/*
 *	$Header: avl.h,v 1.2.2.1 92/06/24 13:41:36 marker Exp $
 *	Author: J. Davin
 *	Copyright 1988, 1989, Massachusetts Institute of Technology
 *	See permission and disclaimer notice in file "notice.h"
 */

#include	<notice.h>

#include	<ctypes.h>
#include	<error.h>

typedef		ErrStatusType		AvlStatusType;

typedef		CUnswType		AvlIdType;

typedef		enum			AvlBalanceTag {

		avlDirBalanced,
		avlDirLeft,
		avlDirRight

		}			AvlBalanceType;

typedef		AvlBalanceType		(*AvlCmpFnType) ();

typedef		AvlStatusType		(*AvlPrintFnType) ();

typedef		CUnswType		AvlInfoType;

typedef		CByteType		AvlNameType;

typedef		AvlNameType		*AvlNamePtrType;

typedef		CUnsfType		AvlLengthType;

AvlIdType	avlNew ();
AvlIdType	avlFree ();
AvlStatusType	avlInsert ();
AvlStatusType	avlRemove ();
AvlInfoType	avlFind ();
AvlInfoType	avlCessor ();
CVoidType	avlInit ();

#endif		/*	_AVL_H_	*/
