pgno_t
p += sizeof(pgno_t);
p += sizeof(pgno_t);
__bt_pgout(void *t, pgno_t pg, void *pp)
p += sizeof(pgno_t);
p += sizeof(pgno_t);
p += sizeof(pgno_t);
p += sizeof(pgno_t);
__bt_pgin(void *t, pgno_t pg, void *pp)
p += sizeof(pgno_t);
p += sizeof(pgno_t);
__bt_dnpage(DB *dbp, pgno_t pgno)
*(pgno_t *)bl->bytes,
*(u_int32_t *)(bl->bytes + sizeof(pgno_t)));
*(pgno_t *)(bl->bytes + bl->ksize),
sizeof(pgno_t)));
*(pgno_t *)rl->bytes,
*(u_int32_t *)(rl->bytes + sizeof(pgno_t)));
pgno_t i, pcont, pinternal, pleaf;
pgno_t i;
pgno_t pgno;
pgno_t npg;
pgno_t ncache;
__ovfl_put(BTREE *t, const DBT *dbt, pgno_t *pg)
pgno_t npg;
pgno_t pg;
memmove(&pg, p, sizeof(pgno_t));
memmove(&sz, (char *)p + sizeof(pgno_t), sizeof(u_int32_t));
pgno_t pg;
memmove(&pg, p, sizeof(pgno_t));
memmove(&sz, (char *)p + sizeof(pgno_t), sizeof(u_int32_t));
__bt_new(BTREE *t, pgno_t *npg)
memmove(kb, &pg, sizeof(pgno_t));
memmove(kb + sizeof(pgno_t),
memmove(db, &pg, sizeof(pgno_t));
memmove(db + sizeof(pgno_t),
pgno_t pg;
pgno_t pg;
pgno_t pg;
pgno_t pg;
pgno_t pg;
__bt_setcur(BTREE *t, pgno_t pgno, u_int idx)
bt_preserve(t, *(pgno_t *)bl->bytes) == RET_ERROR)
pgno_t npg;
pgno_t lnpg, rnpg;
static int bt_preserve(BTREE *, pgno_t);
bt_preserve(t, *(pgno_t *)bl->bytes) == RET_ERROR)
bt_preserve(BTREE *t, pgno_t pg)
#define LALIGN(n) (((n) + sizeof(pgno_t) - 1) & ~(sizeof(pgno_t) - 1))
#define NOVFLSIZE (sizeof(pgno_t) + sizeof(u_int32_t))
pgno_t pgno; /* page number stored on */
LALIGN(sizeof(u_int32_t) + sizeof(pgno_t) + sizeof(u_char) + (len))
*(pgno_t *)p = pgno; \
p += sizeof(pgno_t); \
pgno_t pgno; /* page number stored below */
LALIGN(sizeof(recno_t) + sizeof(pgno_t))
*(pgno_t *)p = pgno; \
pgno_t pgno; /* the page number */
pgno_t bt_free; /* next free page */
pgno_t pgno; /* this page's page number */
pgno_t prevpg; /* left sibling */
pgno_t nextpg; /* right sibling */
(sizeof(pgno_t) + sizeof(pgno_t) + sizeof(pgno_t) + \
PAGE *__bt_new(BTREE *, pgno_t *);
void __bt_pgin(void *, pgno_t, void *);
void __bt_pgout(void *, pgno_t, void *);
void __bt_setcur(BTREE *, pgno_t, u_int);
int __ovfl_put(BTREE *, const DBT *, pgno_t *);
void __bt_dnpage(DB *, pgno_t);
mpool_new(MPOOL *mp, pgno_t *pgnoaddr, u_int flags)
mpool_get(MPOOL *mp, pgno_t pgno,
mpool_look(MPOOL *mp, pgno_t pgno)
static BKT *mpool_look(MPOOL *, pgno_t);
mpool_open(void *key, int fd, pgno_t pagesize, pgno_t maxcache)
mpool_filter(MPOOL *mp, void (*pgin) (void *, pgno_t, void *),
void (*pgout) (void *, pgno_t, void *), void *pgcookie)
pgno_t pg;
*(pgno_t *)db = pg;
*(u_int32_t *)(db + sizeof(pgno_t)) = data->size;
pgno_t pg;
void *mpool_new(MPOOL *, pgno_t *, unsigned int);
void *mpool_get(MPOOL *, pgno_t, unsigned int);
pgno_t pgno; /* page number */
pgno_t curcache; /* current number of cached pages */
pgno_t maxcache; /* max number of cached pages */
pgno_t npages; /* number of pages in the file */
void (*pgin)(void *, pgno_t, void *);
void (*pgout)(void *, pgno_t, void *);
MPOOL *mpool_open(void *, int, pgno_t, pgno_t);
void mpool_filter(MPOOL *, void (*)(void *, pgno_t, void *),
void (*)(void *, pgno_t, void *), void *);
btree_read_meta(struct btree *bt, pgno_t *p_next)
pgno_t meta_pgno, next_pgno;
pgno_t root; /* page number of root page */
pgno_t prev_meta; /* previous meta page number */
btree_get_mpage(struct btree *bt, pgno_t pgno)
pgno_t pgno; /* copy of page->pgno */
static struct mpage *mpage_lookup(struct btree *bt, pgno_t pgno);
pgno_t root;
pgno_t pgno;
pgno_t np_pgno; /* child page number */
sz -= data->size - sizeof(pgno_t);
pgno_t *linkp; /* linked page stored here */
pgno_t root; /* current / new root page */
pgno_t next_pgno; /* next unallocated page */
struct btval *key, struct btval *data, pgno_t pgno, uint8_t flags)
node_size -= data->size - sizeof(pgno_t);
node_size -= data->size - sizeof(pgno_t);
sizeof(pgno_t));
sizeof(pgno_t));
sz += sizeof(pgno_t);
static int btree_read_page(struct btree *bt, pgno_t pgno,
static struct mpage *btree_get_mpage(struct btree *bt, pgno_t pgno);
static int btree_read_meta(struct btree *bt, pgno_t *p_next);
static int btree_write_meta(struct btree *bt, pgno_t root,
pgno_t pgno, uint8_t flags);
struct btval *newkey, struct btval *newdata, pgno_t newpgno)
pgno_t pgno = 0;
struct btval *newdata, pgno_t newpgno);
static pgno_t
btree_compact_tree(struct btree *bt, pgno_t pgno, struct btree *btc)
pgno_t *pnext, next;
pgno_t root;
static pgno_t btree_compact_tree(struct btree *bt, pgno_t pgno,
mpage_lookup(struct btree *bt, pgno_t pgno)
btree_read_page(struct btree *bt, pgno_t pgno, struct page *page)
pgno_t pgno; /* page number */
pgno_t pb_next_pgno; /* overflow page linked list */
btree_write_meta(struct btree *bt, pgno_t root, unsigned int flags)