/********************************  regenphf.h  *****************************

   Purpose:	External declarations for regenerating and using
  		an already-computed minimal perfect hashing function.

   Provenance:	Written and tested by Q. Chen and E. Fox, March 1991.
   		Edited and tested by S. Wartik, April 1991.

   Notes:	None.
**/

typedef struct {
    int		no_arcs;	/* Number of keys (arcs) in the key set.    */
    int		no_vertices;	/* Number of vertices used to compute MPHF. */
    int		seed;		/* The seed used for the random number tables. */
    randomTablesType	tables;	/* The random number tables.		    */
    int		*gArray;	/* The array to hold g values.		    */
} mphfType;

#ifdef __STDC__

extern int	regen_mphf ( mphfType *mphf, char *spec_file );
extern void	release_mphf ( mphfType *mphf );

extern int	retrieve ( mphfType *mphf, char *key );

#else

extern int	regen_mphf ();
extern void	release_mphf ();

extern int	retrieve ();

#endif
