\File{chash.h},{12:21},{Feb  6 1997}
\L{\LB{\K{\#ifndef} CHASH\_H}}
\L{\LB{\K{\#define} CHASH\_H}}
\L{\LB{}}
\L{\LB{\C{}\/* the degree of the tree *\/\CE{}}}
\L{\LB{\K{\#define} DEGREE\_OF\_TREE 2;}}
\L{\LB{}}
\L{\LB{\C{}\/* structure for a point, machine pair on unit interval *\/\CE{}}}
\L{\LB{\K{struct} machplace \{}}
\L{\LB{  \K{double} position;}}
\L{\LB{  \K{char} *name;}}
\L{\LB{  \K{struct} machplace *nextmach;}}
\L{\LB{\};}}
\L{\LB{}}
\L{\LB{\K{int} dhGetMachinePoints \_PARAMS((\K{char} *hostname, \K{int} points));}}
\L{\LB{\K{int} dhAddMachineToInterval \_PARAMS((\K{char} *hostname, \K{double} d ));}}
\L{\LB{\K{char} * dhFindNearestMachine \_PARAMS((\K{double} point));}}
\L{\LB{\K{int} dhBuildUI \_PARAMS(());}}
\L{\LB{\K{int} dhBuildTree \_PARAMS((\K{char} *url, \K{int} n));}}
\L{\LB{edge * dhMakeEdge \_PARAMS((\K{char} *host)); }}
\L{\LB{edge * dhGetParent \_PARAMS((\K{char} *url));}}
\L{\LB{\K{int} dhNeighborsCount \_PARAMS((edge *dhparent));}}
\L{\LB{}}
\L{\LB{\K{\#endif} \C{}\/* CHASH\_H *\/\CE{}}}
