4 #define LOADFACTOR 0.75
7 typedef struct hashlistnode {
10 void *val;// points to the object header structure
11 struct hashlistnode *next;
14 typedef struct hashtable {
15 lhashlistnode_t *table; // points to beginning of hash table
17 unsigned int numelements;
21 /* Prototypes for hash*/
22 lhashtable_t *lhashCreate(unsigned int size, float loadfactor);
23 unsigned int lhashFunction(lhashtable_t *table, unsigned int oid);
24 void lhashInsert(lhashtable_t *table, unsigned int oid, void *val, unsigned int mid);
25 void *lhashSearch(lhashtable_t *table, unsigned int oid); //returns val, NULL if not found
26 int lhashRemove(lhashtable_t *table, unsigned int oid); //returns -1 if not found
27 void lhashResize(lhashtable_t *table, unsigned int newsize);