1 /* $RCSfile: hash.h,v $$Revision: 4.1 $$Date: 92/08/07 18:29:21 $
3 * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1999, 2000,
4 * by Larry Wall and others
6 * You may distribute under the terms of either the GNU General Public
7 * License or the Artistic License, as specified in the README file.
12 #define FILLPCT 60 /* don't make greater than 99 */
16 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
17 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
18 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
19 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
20 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
21 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
22 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1,
23 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1};
28 typedef struct hentry HENT;
41 int tbl_riter; /* current root of iterator */
42 HENT *tbl_eiter; /* current entry of iterator */
45 bool hdelete (HASH *tb, char *key);
46 STR * hfetch ( HASH *tb, char *key );
47 int hiterinit ( HASH *tb );
48 char * hiterkey ( HENT *entry );
49 HENT * hiternext ( HASH *tb );
50 STR * hiterval ( HENT *entry );
52 void hsplit ( HASH *tb );
53 bool hstore ( HASH *tb, char *key, STR *val );