/* hash.h
 * Prototypes for hash-table
 *
 * Written by Matt Levy.
 * Modified by Artur Mikitiuk.
 * Modified 20 Aug 1999 by Neil Moore <neil@cs.uky.edu>
 * Modified  5 Sep 1999 by Neil Moore <neil@cs.uky.edu>
 *
 * Part of lderes.  See COPYRIGHT for copyright information.
 *
 */

#ifndef _HASH_H
#define _HASH_H	1

#define HASH_TABLE_SIZE 32749
#define MAX_INT 1073741823
#define INT_SIZE 31
#ifndef NULL
#define NULL 0
#endif

typedef struct symb {
  char *name;
  int id;
  struct symb *next;
} symbol_table_entry;


inline void initializeHashtable();
inline int insert(char *name, int index);
inline int lookupLocation(char *name);
inline char *lookupName(int id);
inline int hashTableSize();

#endif /* _HASH_H */
