Asterisk - The Open Source Telephony Project
18.5.0
|
#include <sys/param.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../include/db.h"
#include "hash.h"
#include "page.h"
#include "extern.h"
Go to the source code of this file.
Functions | |
int | __big_delete (HTAB *hashp, BUFHEAD *bufp) |
int | __big_insert (HTAB *hashp, BUFHEAD *bufp, const DBT *key, const DBT *val) |
int | __big_keydata (HTAB *hashp, BUFHEAD *bufp, DBT *key, DBT *val, int set) |
int | __big_return (HTAB *hashp, BUFHEAD *bufp, int ndx, DBT *val, int set_current) |
int | __big_split (HTAB *hashp, BUFHEAD *op, BUFHEAD *np, BUFHEAD *big_keyp, int addr, u_int32_t obucket, SPLIT_RETURN *ret) |
int | __find_bigpair (HTAB *hashp, BUFHEAD *bufp, int ndx, char *key, int size) |
u_int16_t | __find_last_page (HTAB *hashp, BUFHEAD **bpp) |
static int collect_key | __P ((HTAB *, BUFHEAD *, int, DBT *, int)) |
static int collect_data | __P ((HTAB *, BUFHEAD *, int, int)) |
static int | collect_data (HTAB *hashp, BUFHEAD *bufp, int len, int set) |
static int | collect_key (HTAB *hashp, BUFHEAD *bufp, int len, DBT *val, int set) |
Definition at line 188 of file hash_bigkey.c.
References __free_ovflpage(), __get_buf(), BUF_MOD, _bufhead::flags, FREESPACE, FULL_KEY, FULL_KEY_DATA, if(), NULL, OFFSET, _bufhead::ovfl, OVFLPAGE, _bufhead::page, PAGE_META, and while().
Referenced by __delpair().
Definition at line 88 of file hash_bigkey.c.
References __add_ovflpage(), BIGOVERHEAD, BUF_MOD, DBT::data, _bufhead::flags, FREESPACE, FULL_KEY, FULL_KEY_DATA, MIN, OFFSET, _bufhead::page, PAGE_META, PARTIAL_KEY, and DBT::size.
Referenced by __addel().
Definition at line 507 of file hash_bigkey.c.
References collect_key(), DBT::data, DBT::size, and htab::tmp_key.
Referenced by __big_split(), and hash_seq().
Definition at line 360 of file hash_bigkey.c.
References __get_buf(), _bufhead::addr, htab::cbucket, htab::cndx, collect_data(), htab::cpage, DBT::data, errno, FREESPACE, FULL_KEY, len(), NULL, _bufhead::page, PARTIAL_KEY, DBT::size, htab::tmp_buf, and while().
Referenced by collect_key(), and hash_access().
int __big_split | ( | HTAB * | hashp, |
BUFHEAD * | op, | ||
BUFHEAD * | np, | ||
BUFHEAD * | big_keyp, | ||
int | addr, | ||
u_int32_t | obucket, | ||
SPLIT_RETURN * | ret | ||
) |
Definition at line 570 of file hash_bigkey.c.
References __add_ovflpage(), __big_keydata(), __call_hash(), __find_last_page(), __get_buf(), _bufhead::addr, BUF_MOD, DBT::data, DEBUG, _bufhead::flags, FREESPACE, if(), SPLIT_RETURN::newp, SPLIT_RETURN::next_addr, SPLIT_RETURN::nextp, NULL, OFFSET, SPLIT_RETURN::oldp, _bufhead::ovfl, OVFLPAGE, OVFLSIZE, _bufhead::page, and DBT::size.
Referenced by ugly_split().
Definition at line 267 of file hash_bigkey.c.
References __get_buf(), _bufhead::page, and PARTIAL_KEY.
Referenced by hash_access().
Definition at line 319 of file hash_bigkey.c.
References __get_buf(), FREESPACE, FULL_KEY_DATA, OVFLPAGE, and _bufhead::page.
Referenced by __big_split(), and hash_access().
|
static |
|
static |
Definition at line 451 of file hash_bigkey.c.
References __get_buf(), _bufhead::addr, htab::cbucket, htab::cndx, htab::cpage, errno, free(), FULL_KEY_DATA, malloc(), NULL, _bufhead::page, and htab::tmp_buf.
Referenced by __big_return().
Definition at line 525 of file hash_bigkey.c.
References __big_return(), __get_buf(), _bufhead::addr, errno, free(), FULL_KEY, FULL_KEY_DATA, malloc(), NULL, _bufhead::page, and htab::tmp_key.
Referenced by __big_keydata().