bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
avltree.h
1/*
2 * FILENAME: avltree.h
3 *
4 * CAVEAT:
5 * No claims are made as to the suitability of the accompanying
6 * source code for any purpose. Although this source code has been
7 * used by the NOAA, no warranty, expressed or implied, is made by
8 * NOAA or the United States Government as to the accuracy and
9 * functioning of this source code, nor shall the fact of distribution
10 * constitute any such endorsement, and no responsibility is assumed
11 * by NOAA in connection therewith. The source code contained
12 * within was developed by an agency of the U.S. Government.
13 * NOAA's National Geophysical Data Center has no objection to the
14 * use of this source code for any purpose since it is not subject to
15 * copyright protection in the U.S. If this source code is incorporated
16 * into other software, a statement identifying this source code may be
17 * required under 17 U.S.C. 403 to appear with any copyright notice.
18 */
19
20#ifndef AVLTREE_H__
21#define AVLTREE_H__
22
23typedef int *TREE; /* Dummy typedef for a tree. */
24
25typedef struct _leaf
26{
27 struct _leaf *left ;
28 struct _leaf *right ;
29 unsigned size : 14 ;
30 unsigned bal : 2 ;
31}
32HEADER;
33 /* Possible values of bal field. Can be */
34 /* any three consecutive numbers but */
35 /* L < B < R must hold. */
36#define L 0 /* Left subtree is larger */
37#define B 1 /* Balanced subtree */
38#define R 2 /* Right subtree is larger */
39
40HEADER *insert ( HEADER**, HEADER*, int(*)(void *, void *) );
41
42void tprint ( TREE* , void(*)(), FILE* );
43
44HEADER *talloc ( int );
45void freeall ( HEADER** );
46
47#endif /* AVLTREE_H__ */