HTAB
BUFHEAD *__add_ovflpage(HTAB *, BUFHEAD *);
int __addel(HTAB *, BUFHEAD *, const DBT *, const DBT *);
int __big_delete(HTAB *, BUFHEAD *);
int __big_insert(HTAB *, BUFHEAD *, const DBT *, const DBT *);
int __big_keydata(HTAB *, BUFHEAD *, DBT *, DBT *, int);
int __big_return(HTAB *, BUFHEAD *, int, DBT *, int);
int __big_split(HTAB *, BUFHEAD *, BUFHEAD *, BUFHEAD *,
int __buf_free(HTAB *, int, int);
void __buf_init(HTAB *, int);
u_int32_t __call_hash(HTAB *, char *, int);
int __delpair(HTAB *, BUFHEAD *, int);
int __expand_table(HTAB *);
int __find_bigpair(HTAB *, BUFHEAD *, int, char *, int);
u_int16_t __find_last_page(HTAB *, BUFHEAD **);
void __free_ovflpage(HTAB *, BUFHEAD *);
BUFHEAD *__get_buf(HTAB *, u_int32_t, BUFHEAD *, int);
int __get_page(HTAB *, char *, u_int32_t, int, int, int);
int __ibitmap(HTAB *, int, int, int);
int __put_page(HTAB *, char *, u_int32_t, int, int);
void __reclaim_buf(HTAB *, BUFHEAD *);
int __split_page(HTAB *, u_int32_t, u_int32_t);
if (!(hashp = (HTAB *)calloc(1, sizeof(HTAB))))
HTAB *hashp;
hashp = (HTAB *)dbp->internal;
HTAB *hashp;
hashp = (HTAB *)dbp->internal;
static HTAB *
init_hash(HTAB *hashp, const char *file, const HASHINFO *info)
init_htab(HTAB *hashp, int nelem)
hdestroy(HTAB *hashp)
HTAB *hashp;
hashp = (HTAB *)dbp->internal;
flush_meta(HTAB *hashp)
HTAB *hashp;
hashp = (HTAB *)dbp->internal;
HTAB *hashp;
hashp = (HTAB *)dbp->internal;
static int alloc_segs(HTAB *, int);
HTAB *hashp;
hashp = (HTAB *)dbp->internal;
static int flush_meta(HTAB *);
static int hash_access(HTAB *, ACTION, DBT *, DBT *);
hash_access(HTAB *hashp, ACTION action, DBT *key, DBT *val)
static int hdestroy(HTAB *);
static HTAB *init_hash(HTAB *, const char *, const HASHINFO *);
static int init_htab(HTAB *, int);
static void swap_header(HTAB *);
HTAB *hashp;
hashp = (HTAB *)dbp->internal;
__expand_table(HTAB *hashp)
__call_hash(HTAB *hashp, char *k, int len)
alloc_segs(HTAB *hashp, int nsegs)
swap_header(HTAB *hashp)
HTAB *hashp;
__big_delete(HTAB *hashp, BUFHEAD *bufp)
__find_bigpair(HTAB *hashp, BUFHEAD *bufp, int ndx, char *key, int size)
__find_last_page(HTAB *hashp, BUFHEAD **bpp)
__big_return(HTAB *hashp, BUFHEAD *bufp, int ndx, DBT *val, int set_current)
collect_data(HTAB *hashp, BUFHEAD *bufp, int len, int set)
__big_keydata(HTAB *hashp, BUFHEAD *bufp, DBT *key, DBT *val, int set)
collect_key(HTAB *hashp, BUFHEAD *bufp, int len, DBT *val, int set)
__big_split(HTAB *hashp,
static int collect_key(HTAB *, BUFHEAD *, int, DBT *, int);
static int collect_data(HTAB *, BUFHEAD *, int, int);
__big_insert(HTAB *hashp, BUFHEAD *bufp, const DBT *key, const DBT *val)
__get_buf(HTAB *hashp, u_int32_t addr,
newbuf(HTAB *hashp, u_int32_t addr, BUFHEAD *prev_bp)
__buf_init(HTAB *hashp, int nbytes)
__buf_free(HTAB *hashp, int do_free, int to_disk)
__reclaim_buf(HTAB *hashp, BUFHEAD *bp)
static BUFHEAD *newbuf(HTAB *, u_int32_t, BUFHEAD *);
__delpair(HTAB *hashp, BUFHEAD *bufp, int ndx)
__split_page(HTAB *hashp, u_int32_t obucket, u_int32_t nbucket)
ugly_split(HTAB *hashp,
__addel(HTAB *hashp, BUFHEAD *bufp, const DBT *key, const DBT *val)
__add_ovflpage(HTAB *hashp, BUFHEAD *bufp)
__get_page(HTAB *hashp, char *p, u_int32_t bucket, int is_bucket, int is_disk,
__put_page(HTAB *hashp, char *p, u_int32_t bucket, int is_bucket, int is_bitmap)
__ibitmap(HTAB *hashp, int pnum, int nbits, int ndx)
overflow_page(HTAB *hashp)
static u_int32_t *fetch_bitmap(HTAB *, int);
static int open_temp(HTAB *);
static u_int16_t overflow_page(HTAB *);
static int ugly_split(HTAB *, u_int32_t, BUFHEAD *, BUFHEAD *, int, int);
__free_ovflpage(HTAB *hashp, BUFHEAD *obufp)
open_temp(HTAB *hashp)
fetch_bitmap(HTAB *hashp, int ndx)
HTAB *hp;
hp = (HTAB *)db->internal;
HTAB *hp;
hp = (HTAB *)db->internal;
return(((HTAB *)db->internal)->fp);
HTAB *hashp = (HTAB *)dbp->internal;