about summary refs log tree commit diff
path: root/db2/include
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-01-02 06:01:06 +0000
committerUlrich Drepper <drepper@redhat.com>2000-01-02 06:01:06 +0000
commit8d6f1731fcd082e4f744ba9cb4bde4be7c08f1b3 (patch)
tree099a250d7366aef2ab028fdb24f0d692cd784b4a /db2/include
parent9a6450d578556c11e7c173d2f28362345b8f1258 (diff)
downloadglibc-8d6f1731fcd082e4f744ba9cb4bde4be7c08f1b3.tar.gz
glibc-8d6f1731fcd082e4f744ba9cb4bde4be7c08f1b3.tar.xz
glibc-8d6f1731fcd082e4f744ba9cb4bde4be7c08f1b3.zip
Update.
	* Makeconfig (all-subdirs): Remove db and db2.
	* db/*: Removed.
	* db2/*: Removed.
Diffstat (limited to 'db2/include')
-rw-r--r--db2/include/btree.h263
-rw-r--r--db2/include/btree_auto.h127
-rw-r--r--db2/include/btree_ext.h132
-rw-r--r--db2/include/clib_ext.h59
-rw-r--r--db2/include/common_ext.h34
-rw-r--r--db2/include/cxx_int.h118
-rw-r--r--db2/include/db_185.h.src178
-rw-r--r--db2/include/db_am.h86
-rw-r--r--db2/include/db_auto.h111
-rw-r--r--db2/include/db_cxx.h861
-rw-r--r--db2/include/db_dispatch.h77
-rw-r--r--db2/include/db_ext.h132
-rw-r--r--db2/include/db_join.h23
-rw-r--r--db2/include/db_page.h512
-rw-r--r--db2/include/db_shash.h106
-rw-r--r--db2/include/db_swap.h105
-rw-r--r--db2/include/hash.h199
-rw-r--r--db2/include/hash_auto.h132
-rw-r--r--db2/include/hash_ext.h130
-rw-r--r--db2/include/lock.h197
-rw-r--r--db2/include/lock_ext.h20
-rw-r--r--db2/include/log.h204
-rw-r--r--db2/include/log_auto.h18
-rw-r--r--db2/include/log_ext.h26
-rw-r--r--db2/include/mp.h299
-rw-r--r--db2/include/mp_ext.h21
-rw-r--r--db2/include/mutex_ext.h7
-rw-r--r--db2/include/os.h24
-rw-r--r--db2/include/os_ext.h40
-rw-r--r--db2/include/os_jump.h40
-rw-r--r--db2/include/queue.h275
-rw-r--r--db2/include/shqueue.h334
-rw-r--r--db2/include/txn.h148
-rw-r--r--db2/include/txn_auto.h51
-rw-r--r--db2/include/txn_ext.h41
-rw-r--r--db2/include/xa.h179
-rw-r--r--db2/include/xa_ext.h13
37 files changed, 0 insertions, 5322 deletions
diff --git a/db2/include/btree.h b/db2/include/btree.h
deleted file mode 100644
index b0c04b1508..0000000000
--- a/db2/include/btree.h
+++ /dev/null
@@ -1,263 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- */
-/*
- * Copyright (c) 1990, 1993, 1994, 1995, 1996
- *	Keith Bostic.  All rights reserved.
- */
-/*
- * Copyright (c) 1990, 1993, 1994, 1995
- *	The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Mike Olson.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)btree.h	10.26 (Sleepycat) 12/16/98
- */
-
-/* Forward structure declarations. */
-struct __btree;		typedef struct __btree BTREE;
-struct __cursor;	typedef struct __cursor CURSOR;
-struct __epg;		typedef struct __epg EPG;
-struct __recno;		typedef struct __recno RECNO;
-
-#define	DEFMINKEYPAGE	 (2)
-
-#define	ISINTERNAL(p)	(TYPE(p) == P_IBTREE || TYPE(p) == P_IRECNO)
-#define	ISLEAF(p)	(TYPE(p) == P_LBTREE || TYPE(p) == P_LRECNO)
-
-/*
- * If doing transactions we have to hold the locks associated with a data item
- * from a page for the entire transaction.  However, we don't have to hold the
- * locks associated with walking the tree.  Distinguish between the two so that
- * we don't tie up the internal pages of the tree longer than necessary.
- */
-#define	__BT_LPUT(dbc, lock)						\
-	(F_ISSET((dbc)->dbp, DB_AM_LOCKING) ?				\
-	    lock_put((dbc)->dbp->dbenv->lk_info, lock) : 0)
-#define	__BT_TLPUT(dbc, lock)						\
-	(F_ISSET((dbc)->dbp, DB_AM_LOCKING) && (dbc)->txn == NULL ?	\
-	    lock_put((dbc)->dbp->dbenv->lk_info, lock) : 0)
-
-/*
- * Flags to __bam_search() and __bam_rsearch().
- *
- * Note, internal page searches must find the largest record less than key in
- * the tree so that descents work.  Leaf page searches must find the smallest
- * record greater than key so that the returned index is the record's correct
- * position for insertion.
- *
- * The flags parameter to the search routines describes three aspects of the
- * search: the type of locking required (including if we're locking a pair of
- * pages), the item to return in the presence of duplicates and whether or not
- * to return deleted entries.  To simplify both the mnemonic representation
- * and the code that checks for various cases, we construct a set of bitmasks.
- */
-#define	S_READ		0x00001		/* Read locks. */
-#define	S_WRITE		0x00002		/* Write locks. */
-
-#define	S_APPEND	0x00040		/* Append to the tree. */
-#define	S_DELNO		0x00080		/* Don't return deleted items. */
-#define	S_DUPFIRST	0x00100		/* Return first duplicate. */
-#define	S_DUPLAST	0x00200		/* Return last duplicate. */
-#define	S_EXACT		0x00400		/* Exact items only. */
-#define	S_PARENT	0x00800		/* Lock page pair. */
-#define	S_STACK		0x01000		/* Need a complete stack. */
-#define	S_PAST_EOF	0x02000		/* If doing insert search (or keyfirst
-					 * or keylast operations), or a split
-					 * on behalf of an insert, it's okay to
-					 * return an entry one past end-of-page.
-					 */
-
-#define	S_DELETE	(S_WRITE | S_DUPFIRST | S_DELNO | S_EXACT | S_STACK)
-#define	S_FIND		(S_READ | S_DUPFIRST | S_DELNO)
-#define	S_FIND_WR	(S_WRITE | S_DUPFIRST | S_DELNO)
-#define	S_INSERT	(S_WRITE | S_DUPLAST | S_PAST_EOF | S_STACK)
-#define	S_KEYFIRST	(S_WRITE | S_DUPFIRST | S_PAST_EOF | S_STACK)
-#define	S_KEYLAST	(S_WRITE | S_DUPLAST | S_PAST_EOF | S_STACK)
-#define	S_WRPAIR	(S_WRITE | S_DUPLAST | S_PAST_EOF | S_PARENT)
-
-/*
- * Flags to __bam_iitem().
- */
-#define	BI_DELETED	0x01		/* Key/data pair only placeholder. */
-#define	BI_DOINCR	0x02		/* Increment the record count. */
-#define	BI_NEWKEY	0x04		/* New key. */
-
-/*
- * Various routines pass around page references.  A page reference can be a
- * pointer to the page or a page number; for either, an indx can designate
- * an item on the page.
- */
-struct __epg {
-	PAGE	 *page;			/* The page. */
-	db_indx_t indx;			/* The index on the page. */
-	DB_LOCK	  lock;			/* The page's lock. */
-};
-
-/*
- * We maintain a stack of the pages that we're locking in the tree.  Btree's
- * (currently) only save two levels of the tree at a time, so the default
- * stack is always large enough.  Recno trees have to lock the entire tree to
- * do inserts/deletes, however.  Grow the stack as necessary.
- */
-#define	BT_STK_CLR(c)							\
-	((c)->csp = (c)->sp)
-
-#define	BT_STK_ENTER(c, pagep, page_indx, lock, ret) do {		\
-	if ((ret =							\
-	    (c)->csp == (c)->esp ? __bam_stkgrow(c) : 0) == 0) {	\
-		(c)->csp->page = pagep;					\
-		(c)->csp->indx = page_indx;				\
-		(c)->csp->lock = lock;					\
-	}								\
-} while (0)
-
-#define	BT_STK_PUSH(c, pagep, page_indx, lock, ret) do {		\
-	BT_STK_ENTER(c, pagep, page_indx, lock, ret);			\
-	++(c)->csp;							\
-} while (0)
-
-#define	BT_STK_POP(c)							\
-	((c)->csp == (c)->stack ? NULL : --(c)->csp)
-
-/*
- * Arguments passed to __bam_ca_replace().
- */
-typedef enum {
-	REPLACE_SETUP,
-	REPLACE_SUCCESS,
-	REPLACE_FAILED
-} ca_replace_arg;
-
-/* Arguments passed to __ram_ca(). */
-typedef enum {
-	CA_DELETE,
-	CA_IAFTER,
-	CA_IBEFORE
-} ca_recno_arg;
-
-#define	RECNO_OOB	0		/* Illegal record number. */
-
-/* Btree/Recno cursor. */
-struct __cursor {
-	DBC		*dbc;		/* Enclosing DBC. */
-
-	/* Per-thread information: shared by btree/recno. */
-	EPG		*sp;		/* Stack pointer. */
-	EPG	 	*csp;		/* Current stack entry. */
-	EPG		*esp;		/* End stack pointer. */
-	EPG		 stack[5];
-
-	/* Per-thread information: btree private. */
-	PAGE		*page;		/* Cursor page. */
-
-	db_pgno_t	 pgno;		/* Page. */
-	db_indx_t	 indx;		/* Page item ref'd by the cursor. */
-
-	db_pgno_t	 dpgno;		/* Duplicate page. */
-	db_indx_t	 dindx;		/* Page item ref'd by the cursor. */
-
-	DB_LOCK		 lock;		/* Cursor read lock. */
-	db_lockmode_t	 mode;		/* Lock mode. */
-
-	/* Per-thread information: recno private. */
-	db_recno_t	 recno;		/* Current record number. */
-
-	/*
-	 * Btree:
-	 * We set a flag in the cursor structure if the underlying object has
-	 * been deleted.  It's not strictly necessary, we could get the same
-	 * information by looking at the page itself.
-	 *
-	 * Recno:
-	 * When renumbering recno databases during deletes, cursors referencing
-	 * "deleted" records end up positioned between two records, and so must
-	 * be specially adjusted on the next operation.
-	 */
-#define	C_DELETED	0x0001		/* Record was deleted. */
-	u_int32_t	 flags;
-};
-
-/*
- * The in-memory recno data structure.
- *
- * !!!
- * These fields are ignored as far as multi-threading is concerned.  There
- * are no transaction semantics associated with backing files, nor is there
- * any thread protection.
- */
-struct __recno {
-	int		 re_delim;	/* Variable-length delimiting byte. */
-	int		 re_pad;	/* Fixed-length padding byte. */
-	u_int32_t	 re_len;	/* Length for fixed-length records. */
-
-	char		*re_source;	/* Source file name. */
-	int		 re_fd;		/* Source file descriptor */
-	db_recno_t	 re_last;	/* Last record number read. */
-	void		*re_cmap;	/* Current point in mapped space. */
-	void		*re_smap;	/* Start of mapped space. */
-	void		*re_emap;	/* End of mapped space. */
-	size_t		 re_msize;	/* Size of mapped region. */
-					/* Recno input function. */
-	int (*re_irec) __P((DBC *, db_recno_t));
-
-#define	RECNO_EOF	0x0001		/* EOF on backing source file. */
-#define	RECNO_MODIFIED	0x0002		/* Tree was modified. */
-	u_int32_t	 flags;
-};
-
-/*
- * The in-memory, per-tree btree data structure.
- */
-struct __btree {
-	db_pgno_t	 bt_lpgno;	/* Last insert location. */
-
-	db_indx_t 	 bt_maxkey;	/* Maximum keys per page. */
-	db_indx_t 	 bt_minkey;	/* Minimum keys per page. */
-
-	int (*bt_compare)		/* Comparison function. */
-	    __P((const DBT *, const DBT *));
-	size_t(*bt_prefix)		/* Prefix function. */
-	    __P((const DBT *, const DBT *));
-
-	db_indx_t	 bt_ovflsize;	/* Maximum key/data on-page size. */
-
-	RECNO		*recno;		/* Private recno structure. */
-};
-
-#include "btree_auto.h"
-#include "btree_ext.h"
-#include "db_am.h"
-#include "common_ext.h"
diff --git a/db2/include/btree_auto.h b/db2/include/btree_auto.h
deleted file mode 100644
index 041b80f196..0000000000
--- a/db2/include/btree_auto.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Do not edit: automatically built by dist/db_gen.sh. */
-#ifndef bam_AUTO_H
-#define bam_AUTO_H
-
-#define	DB_bam_pg_alloc	(DB_bam_BEGIN + 1)
-
-typedef struct _bam_pg_alloc_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	DB_LSN 	meta_lsn;
-	DB_LSN 	page_lsn;
-	db_pgno_t	pgno;
-	u_int32_t	ptype;
-	db_pgno_t	next;
-} __bam_pg_alloc_args;
-
-
-#define	DB_bam_pg_free	(DB_bam_BEGIN + 2)
-
-typedef struct _bam_pg_free_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DB_LSN 	meta_lsn;
-	DBT	header;
-	db_pgno_t	next;
-} __bam_pg_free_args;
-
-
-#define	DB_bam_split	(DB_bam_BEGIN + 3)
-
-typedef struct _bam_split_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	left;
-	DB_LSN 	llsn;
-	db_pgno_t	right;
-	DB_LSN 	rlsn;
-	u_int32_t	indx;
-	db_pgno_t	npgno;
-	DB_LSN 	nlsn;
-	DBT	pg;
-} __bam_split_args;
-
-
-#define	DB_bam_rsplit	(DB_bam_BEGIN + 4)
-
-typedef struct _bam_rsplit_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DBT	pgdbt;
-	db_pgno_t	nrec;
-	DBT	rootent;
-	DB_LSN 	rootlsn;
-} __bam_rsplit_args;
-
-
-#define	DB_bam_adj	(DB_bam_BEGIN + 5)
-
-typedef struct _bam_adj_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DB_LSN 	lsn;
-	u_int32_t	indx;
-	u_int32_t	indx_copy;
-	u_int32_t	is_insert;
-} __bam_adj_args;
-
-
-#define	DB_bam_cadjust	(DB_bam_BEGIN + 6)
-
-typedef struct _bam_cadjust_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DB_LSN 	lsn;
-	u_int32_t	indx;
-	int32_t	adjust;
-	int32_t	total;
-} __bam_cadjust_args;
-
-
-#define	DB_bam_cdel	(DB_bam_BEGIN + 7)
-
-typedef struct _bam_cdel_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DB_LSN 	lsn;
-	u_int32_t	indx;
-} __bam_cdel_args;
-
-
-#define	DB_bam_repl	(DB_bam_BEGIN + 8)
-
-typedef struct _bam_repl_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DB_LSN 	lsn;
-	u_int32_t	indx;
-	u_int32_t	isdeleted;
-	DBT	orig;
-	DBT	repl;
-	u_int32_t	prefix;
-	u_int32_t	suffix;
-} __bam_repl_args;
-
-#endif
diff --git a/db2/include/btree_ext.h b/db2/include/btree_ext.h
deleted file mode 100644
index fbc2ed958f..0000000000
--- a/db2/include/btree_ext.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _btree_ext_h_
-#define _btree_ext_h_
-int __bam_cmp __P((DB *, const DBT *,
-   PAGE *, u_int32_t, int (*)(const DBT *, const DBT *)));
-int __bam_defcmp __P((const DBT *, const DBT *));
-size_t __bam_defpfx __P((const DBT *, const DBT *));
-int __bam_pgin __P((db_pgno_t, void *, DBT *));
-int __bam_pgout __P((db_pgno_t, void *, DBT *));
-int __bam_mswap __P((PAGE *));
-int __bam_cprint __P((DB *));
-int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, int));
-void __bam_ca_di __P((DB *, db_pgno_t, u_int32_t, int));
-void __bam_ca_dup __P((DB *,
-   db_pgno_t, u_int32_t, u_int32_t, db_pgno_t, u_int32_t));
-void __bam_ca_rsplit __P((DB *, db_pgno_t, db_pgno_t));
-void __bam_ca_split __P((DB *,
-   db_pgno_t, db_pgno_t, db_pgno_t, u_int32_t, int));
-int __bam_c_init __P((DBC *));
-int __bam_dup __P((DBC *, CURSOR *, u_int32_t, int));
-int __bam_delete __P((DB *, DB_TXN *, DBT *, u_int32_t));
-int __bam_ditem __P((DBC *, PAGE *, u_int32_t));
-int __bam_adjindx __P((DBC *, PAGE *, u_int32_t, u_int32_t, int));
-int __bam_dpage __P((DBC *, const DBT *));
-int __bam_dpages __P((DBC *));
-int __bam_open __P((DB *, DB_INFO *));
-int __bam_close __P((DB *));
-void __bam_setovflsize __P((DB *));
-int __bam_read_root __P((DB *));
-int __bam_new __P((DBC *, u_int32_t, PAGE **));
-int __bam_lput __P((DBC *, DB_LOCK));
-int __bam_free __P((DBC *, PAGE *));
-int __bam_lt __P((DBC *));
-int __bam_lget
-   __P((DBC *, int, db_pgno_t, db_lockmode_t, DB_LOCK *));
-int __bam_iitem __P((DBC *,
-   PAGE **, db_indx_t *, DBT *, DBT *, u_int32_t, u_int32_t));
-int __bam_ritem __P((DBC *, PAGE *, u_int32_t, DBT *));
-int __bam_pg_alloc_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_pg_free_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_split_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_rsplit_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_adj_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_cadjust_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_cdel_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_repl_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ram_open __P((DB *, DB_INFO *));
-int __ram_close __P((DB *));
-int __ram_c_del __P((DBC *, u_int32_t));
-int __ram_c_get __P((DBC *, DBT *, DBT *, u_int32_t));
-int __ram_c_put __P((DBC *, DBT *, DBT *, u_int32_t));
-void __ram_ca __P((DB *, db_recno_t, ca_recno_arg));
-int __ram_getno __P((DBC *, const DBT *, db_recno_t *, int));
-int __bam_rsearch __P((DBC *, db_recno_t *, u_int32_t, int, int *));
-int __bam_adjust __P((DBC *, int32_t));
-int __bam_nrecs __P((DBC *, db_recno_t *));
-db_recno_t __bam_total __P((PAGE *));
-int __bam_search __P((DBC *,
-    const DBT *, u_int32_t, int, db_recno_t *, int *));
-int __bam_stkrel __P((DBC *, int));
-int __bam_stkgrow __P((CURSOR *));
-int __bam_split __P((DBC *, void *));
-int __bam_copy __P((DB *, PAGE *, PAGE *, u_int32_t, u_int32_t));
-int __bam_stat __P((DB *, void *, void *(*)(size_t), u_int32_t));
-int __bam_pg_alloc_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, DB_LSN *, DB_LSN *, db_pgno_t,
-    u_int32_t, db_pgno_t));
-int __bam_pg_alloc_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_pg_alloc_read __P((void *, __bam_pg_alloc_args **));
-int __bam_pg_free_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, DB_LSN *, const DBT *,
-    db_pgno_t));
-int __bam_pg_free_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_pg_free_read __P((void *, __bam_pg_free_args **));
-int __bam_split_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, DB_LSN *, db_pgno_t,
-    DB_LSN *, u_int32_t, db_pgno_t, DB_LSN *,
-    const DBT *));
-int __bam_split_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_split_read __P((void *, __bam_split_args **));
-int __bam_rsplit_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, const DBT *, db_pgno_t,
-    const DBT *, DB_LSN *));
-int __bam_rsplit_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_rsplit_read __P((void *, __bam_rsplit_args **));
-int __bam_adj_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t));
-int __bam_adj_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_adj_read __P((void *, __bam_adj_args **));
-int __bam_cadjust_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, DB_LSN *, u_int32_t,
-    int32_t, int32_t));
-int __bam_cadjust_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_cadjust_read __P((void *, __bam_cadjust_args **));
-int __bam_cdel_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, DB_LSN *, u_int32_t));
-int __bam_cdel_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_cdel_read __P((void *, __bam_cdel_args **));
-int __bam_repl_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, DB_LSN *, u_int32_t,
-    u_int32_t, const DBT *, const DBT *, u_int32_t,
-    u_int32_t));
-int __bam_repl_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __bam_repl_read __P((void *, __bam_repl_args **));
-int __bam_init_print __P((DB_ENV *));
-int __bam_init_recover __P((DB_ENV *));
-#endif /* _btree_ext_h_ */
diff --git a/db2/include/clib_ext.h b/db2/include/clib_ext.h
deleted file mode 100644
index 2566b849ce..0000000000
--- a/db2/include/clib_ext.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _clib_ext_h_
-#define _clib_ext_h_
-#ifdef __STDC__
-void err __P((int eval, const char *, ...));
-#else
-void err();
-#endif
-#ifdef __STDC__
-void errx __P((int eval, const char *, ...));
-#else
-void errx();
-#endif
-#ifdef __STDC__
-void warn __P((const char *, ...));
-#else
-void warn();
-#endif
-#ifdef __STDC__
-void warnx __P((const char *, ...));
-#else
-void warnx();
-#endif
-#ifndef HAVE_GETCWD
-char *getcwd __P((char *, size_t));
-#endif
-void get_long __P((char *, long, long, long *));
-#ifndef HAVE_GETOPT
-int getopt __P((int, char * const *, const char *));
-#endif
-#ifndef HAVE_MEMCMP
-int memcmp __P((const void *, const void *, size_t));
-#endif
-#ifndef HAVE_MEMCPY
-void *memcpy __P((void *, const void *, size_t));
-#endif
-#ifndef HAVE_MEMMOVE
-void *memmove __P((void *, const void *, size_t));
-#endif
-#ifndef HAVE_RAISE
-int raise __P((int));
-#endif
-#ifndef HAVE_SNPRINTF
-#ifdef __STDC__
-int snprintf __P((char *, size_t, const char *, ...));
-#else
-int snprintf();
-#endif
-#endif
-#ifndef HAVE_STRERROR
-char *strerror __P((int));
-#endif
-#ifndef HAVE_STRSEP
-char *strsep __P((char **, const char *));
-#endif
-#ifndef HAVE_VSNPRINTF
-int vsnprintf();
-#endif
-#endif /* _clib_ext_h_ */
diff --git a/db2/include/common_ext.h b/db2/include/common_ext.h
deleted file mode 100644
index 33fb0cb218..0000000000
--- a/db2/include/common_ext.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _common_ext_h_
-#define _common_ext_h_
-int __db_appname __P((DB_ENV *,
-   APPNAME, const char *, const char *, u_int32_t, int *, char **));
-int __db_apprec __P((DB_ENV *, u_int32_t));
-int __db_byteorder __P((DB_ENV *, int));
-int __db_fchk __P((DB_ENV *, const char *, u_int32_t, u_int32_t));
-int __db_fcchk
-   __P((DB_ENV *, const char *, u_int32_t, u_int32_t, u_int32_t));
-int __db_ferr __P((const DB_ENV *, const char *, int));
-#ifdef __STDC__
-void __db_err __P((const DB_ENV *dbenv, const char *fmt, ...));
-#else
-void __db_err();
-#endif
-int __db_pgerr __P((DB *, db_pgno_t));
-int __db_pgfmt __P((DB *, db_pgno_t));
-int __db_panic __P((DB_ENV *, int));
-u_int32_t __db_log2 __P((u_int32_t));
-int __db_rattach __P((REGINFO *));
-int __db_rdetach __P((REGINFO *));
-int __db_runlink __P((REGINFO *, int));
-int __db_rgrow __P((REGINFO *, size_t));
-int __db_rreattach __P((REGINFO *, size_t));
-void __db_shalloc_init __P((void *, size_t));
-int __db_shalloc __P((void *, size_t, size_t, void *));
-void __db_shalloc_free __P((void *, void *));
-size_t __db_shalloc_count __P((void *));
-size_t __db_shsizeof __P((void *));
-void __db_shalloc_dump __P((void *, FILE *));
-int __db_tablesize __P((u_int32_t));
-void __db_hashinit __P((void *, u_int32_t));
-#endif /* _common_ext_h_ */
diff --git a/db2/include/cxx_int.h b/db2/include/cxx_int.h
deleted file mode 100644
index 0a59de4391..0000000000
--- a/db2/include/cxx_int.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)cxx_int.h	10.5 (Sleepycat) 4/10/98
- */
-
-#ifndef _CXX_INT_H_
-#define _CXX_INT_H_
-
-// private data structures known to the implementation only
-
-#include <assert.h>             // used by defines below
-
-//
-// Using FooImp classes will allow the implementation to change in the
-// future without any modification to user code or even to header files
-// that the user includes. FooImp * is just like void * except that it
-// provides a little extra protection, since you cannot randomly assign
-// any old pointer to a FooImp* as you can with void *.  Currently, a
-// pointer to such an opaque class is always just a pointer to the
-// appropriate underlying implementation struct.  These are converted
-// back and forth using the various overloaded wrap()/unwrap() methods.
-// This is essentially a use of the "Bridge" Design Pattern.
-//
-// WRAPPED_CLASS implements the appropriate wrap() and unwrap() methods
-// for a wrapper class that has an underlying pointer representation.
-//
-#define WRAPPED_CLASS(_WRAPPER_CLASS, _IMP_CLASS, _WRAPPED_TYPE)           \
-                                                                           \
-        class _IMP_CLASS {};                                               \
-                                                                           \
-        inline _WRAPPED_TYPE unwrap(_WRAPPER_CLASS *val)                   \
-        {                                                                  \
-            if (!val) return 0;                                            \
-            return (_WRAPPED_TYPE)(val->imp());                            \
-        }                                                                  \
-                                                                           \
-        inline const _WRAPPED_TYPE unwrapConst(const _WRAPPER_CLASS *val)  \
-        {                                                                  \
-            if (!val) return 0;                                            \
-            return (const _WRAPPED_TYPE)(val->imp());                      \
-        }                                                                  \
-                                                                           \
-        inline _IMP_CLASS *wrap(_WRAPPED_TYPE val)                         \
-        {                                                                  \
-            return (_IMP_CLASS*)val;                                       \
-        }
-
-WRAPPED_CLASS(DbLockTab, DbLockTabImp, DB_LOCKTAB*)
-WRAPPED_CLASS(DbLog, DbLogImp, DB_LOG*)
-WRAPPED_CLASS(DbMpool, DbMpoolImp, DB_MPOOL*)
-WRAPPED_CLASS(DbMpoolFile, DbMpoolFileImp, DB_MPOOLFILE*)
-WRAPPED_CLASS(Db, DbImp, DB*)
-WRAPPED_CLASS(DbTxn, DbTxnImp, DB_TXN*)
-WRAPPED_CLASS(DbTxnMgr, DbTxnMgrImp, DB_TXNMGR*)
-
-// Macros that handle detected errors, in case we want to
-// change the default behavior.  runtime_error() throws an
-// exception by default.
-//
-// Since it's unusual to throw an exception in a destructor,
-// we have a separate macro.  For now, we silently ignore such
-// detected errors.
-//
-#define DB_ERROR(caller, ecode) \
-    DbEnv::runtime_error(caller, ecode)
-
-#define DB_DESTRUCTOR_ERROR(caller, ecode) \
-    DbEnv::runtime_error(caller, ecode, 1)
-
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// These defines are for tedious flag or field set/get access methods.
-//
-
-// Define setName() and getName() methods that twiddle
-// the _flags field.
-//
-#define DB_FLAG_METHODS(_class, _flags, _cxx_name, _flag_name) \
-                                                               \
-void _class::set##_cxx_name(int onOrOff)                       \
-{                                                              \
-    if (onOrOff)                                               \
-        _flags |= _flag_name;                                  \
-    else                                                       \
-        _flags &= ~(_flag_name);                               \
-}                                                              \
-                                                               \
-int _class::get##_cxx_name() const                             \
-{                                                              \
-    return (_flags & _flag_name) ? 1 : 0;                      \
-}
-
-
-#define DB_RO_ACCESS(_class, _type, _cxx_name, _field)         \
-                                                               \
-_type _class::get_##_cxx_name() const                          \
-{                                                              \
-    return _field;                                             \
-}
-
-#define DB_WO_ACCESS(_class, _type, _cxx_name, _field)         \
-                                                               \
-void _class::set_##_cxx_name(_type value)                      \
-{                                                              \
-    _field = value;                                            \
-}                                                              \
-
-#define DB_RW_ACCESS(_class, _type, _cxx_name, _field)         \
-        DB_RO_ACCESS(_class, _type, _cxx_name, _field)         \
-        DB_WO_ACCESS(_class, _type, _cxx_name, _field)
-
-#endif /* !_CXX_INT_H_ */
diff --git a/db2/include/db_185.h.src b/db2/include/db_185.h.src
deleted file mode 100644
index a928ca8fd5..0000000000
--- a/db2/include/db_185.h.src
+++ /dev/null
@@ -1,178 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- */
-/*
- * Copyright (c) 1990, 1993, 1994
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)db_185.h.src	8.7 (Sleepycat) 4/10/98
- */
-
-#ifndef _DB_185_H_
-#define	_DB_185_H_
-
-#include <sys/types.h>
-
-#include <limits.h>
-
-/*
- * XXX
- * Handle function prototypes and the keyword "const".  This steps on name
- * space that DB doesn't control, but all of the other solutions are worse.
- */
-#undef	__P
-#if defined(__STDC__) || defined(__cplusplus)
-#define	__P(protos)	protos		/* ANSI C prototypes */
-#else
-#define	const
-#define	__P(protos)	()		/* K&R C preprocessor */
-#endif
-
-#define	RET_ERROR	-1		/* Return values. */
-#define	RET_SUCCESS	 0
-#define	RET_SPECIAL	 1
-
-#ifndef	__BIT_TYPES_DEFINED__
-#define	__BIT_TYPES_DEFINED__
-@u_int8_decl@
-@int16_decl@
-@u_int16_decl@
-@int32_decl@
-@u_int32_decl@
-#endif
-
-/*
- * XXX
- * SGI/IRIX already has a pgno_t.
- */
-#ifdef	sgi
-#define	pgno_t	db_pgno_t
-#endif
-
-#define	MAX_PAGE_NUMBER	0xffffffff	/* >= # of pages in a file */
-typedef u_int32_t	pgno_t;
-#define	MAX_PAGE_OFFSET	65535		/* >= # of bytes in a page */
-typedef u_int16_t	indx_t;
-#define	MAX_REC_NUMBER	0xffffffff	/* >= # of records in a tree */
-typedef u_int32_t	recno_t;
-
-/* Key/data structure -- a Data-Base Thang. */
-typedef struct {
-	void	*data;			/* data */
-	size_t	 size;			/* data length */
-} DBT;
-
-/* Routine flags. */
-#define	R_CURSOR	1		/* del, put, seq */
-#define	__R_UNUSED	2		/* UNUSED */
-#define	R_FIRST		3		/* seq */
-#define	R_IAFTER	4		/* put (RECNO) */
-#define	R_IBEFORE	5		/* put (RECNO) */
-#define	R_LAST		6		/* seq (BTREE, RECNO) */
-#define	R_NEXT		7		/* seq */
-#define	R_NOOVERWRITE	8		/* put */
-#define	R_PREV		9		/* seq (BTREE, RECNO) */
-#define	R_SETCURSOR	10		/* put (RECNO) */
-#define	R_RECNOSYNC	11		/* sync (RECNO) */
-
-typedef enum { DB_BTREE, DB_HASH, DB_RECNO } DBTYPE;
-
-/* Access method description structure. */
-typedef struct __db {
-	DBTYPE type;			/* Underlying db type. */
-	int (*close)	__P((struct __db *));
-	int (*del)	__P((const struct __db *, const DBT *, u_int));
-	int (*get)	__P((const struct __db *, const DBT *, DBT *, u_int));
-	int (*put)	__P((const struct __db *, DBT *, const DBT *, u_int));
-	int (*seq)	__P((const struct __db *, DBT *, DBT *, u_int));
-	int (*sync)	__P((const struct __db *, u_int));
-	void *internal;			/* Access method private. */
-	int (*fd)	__P((const struct __db *));
-} DB;
-
-#define	BTREEMAGIC	0x053162
-#define	BTREEVERSION	3
-
-/* Structure used to pass parameters to the btree routines. */
-typedef struct {
-#define	R_DUP		0x01	/* duplicate keys */
-	u_int32_t flags;
-	u_int32_t cachesize;	/* bytes to cache */
-	u_int32_t maxkeypage;	/* maximum keys per page */
-	u_int32_t minkeypage;	/* minimum keys per page */
-	u_int32_t psize;	/* page size */
-	int	(*compare)	/* comparison function */
-	    __P((const DBT *, const DBT *));
-	size_t	(*prefix)	/* prefix function */
-	    __P((const DBT *, const DBT *));
-	int	lorder;		/* byte order */
-} BTREEINFO;
-
-#define	HASHMAGIC	0x061561
-#define	HASHVERSION	2
-
-/* Structure used to pass parameters to the hashing routines. */
-typedef struct {
-	u_int32_t bsize;	/* bucket size */
-	u_int32_t ffactor;	/* fill factor */
-	u_int32_t nelem;	/* number of elements */
-	u_int32_t cachesize;	/* bytes to cache */
-	u_int32_t		/* hash function */
-		(*hash) __P((const void *, size_t));
-	int	lorder;		/* byte order */
-} HASHINFO;
-
-/* Structure used to pass parameters to the record routines. */
-typedef struct {
-#define	R_FIXEDLEN	0x01	/* fixed-length records */
-#define	R_NOKEY		0x02	/* key not required */
-#define	R_SNAPSHOT	0x04	/* snapshot the input */
-	u_int32_t flags;
-	u_int32_t cachesize;	/* bytes to cache */
-	u_int32_t psize;	/* page size */
-	int	lorder;		/* byte order */
-	size_t	reclen;		/* record length (fixed-length records) */
-	u_char	bval;		/* delimiting byte (variable-length records */
-	char	*bfname;	/* btree file name */
-} RECNOINFO;
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-DB *dbopen __P((const char *, int, int, DBTYPE, const void *));
-
-#if defined(__cplusplus)
-}
-#endif
-#endif /* !_DB_185_H_ */
diff --git a/db2/include/db_am.h b/db2/include/db_am.h
deleted file mode 100644
index fe2176d772..0000000000
--- a/db2/include/db_am.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)db_am.h	10.15 (Sleepycat) 11/22/98
- */
-#ifndef _DB_AM_H
-#define _DB_AM_H
-
-#define DB_ISBIG	0x01
-#define	DB_ADD_DUP	0x10
-#define	DB_REM_DUP	0x20
-#define	DB_ADD_BIG	0x30
-#define	DB_REM_BIG	0x40
-#define	DB_SPLITOLD	0x50
-#define	DB_SPLITNEW	0x60
-#define	DB_ADD_PAGE	0x70
-#define	DB_REM_PAGE	0x80
-
-/*
- * Standard initialization and shutdown macros for all recovery functions.
- *
- * Requires the following local variables:
- *
- *	DB *file_dbp, *mdbp;
- *	DB_MPOOLFILE *mpf;
- *	int ret;
- */
-#define	REC_INTRO(func) {						\
-	file_dbp = NULL;						\
-	dbc = NULL;							\
-	if ((ret = func(dbtp->data, &argp)) != 0)			\
-		goto out;						\
-	if ((ret =							\
-	    __db_fileid_to_db(logp, &file_dbp, argp->fileid)) != 0) {	\
-		if (ret	== DB_DELETED) {				\
-			ret = 0;					\
-			goto done;					\
-		}							\
-		goto out;						\
-	}								\
-	if (file_dbp == NULL)						\
-		goto out;						\
-	if ((ret = file_dbp->cursor(file_dbp, NULL, &dbc, 0)) != 0)	\
-		goto out;						\
-	F_SET(dbc, DBC_RECOVER);					\
-	mpf = file_dbp->mpf;						\
-}
-
-#define	REC_CLOSE {							\
-	if (argp != NULL)						\
-		__os_free(argp, sizeof(*argp));				\
-	if (dbc != NULL)						\
-		dbc->c_close(dbc);					\
-	return (ret);							\
-}
-
-/*
- * No-op versions of the same macros.
- */
-#define	REC_NOOP_INTRO(func) {						\
-	if ((ret = func(dbtp->data, &argp)) != 0)			\
-		return (ret);						\
-}
-#define	REC_NOOP_CLOSE {						\
-	if (argp != NULL)						\
-		__os_free(argp, sizeof(*argp));				\
-	return (ret);							\
-}
-
-/*
- * Standard debugging macro for all recovery functions.
- */
-#ifdef DEBUG_RECOVER
-#define	REC_PRINT(func)							\
-	(void)func(logp, dbtp, lsnp, redo, info);
-#else
-#define	REC_PRINT(func)							\
-	COMPQUIET(info, NULL);
-#endif
-
-#include "db_auto.h"
-#include "db_ext.h"
-#endif
diff --git a/db2/include/db_auto.h b/db2/include/db_auto.h
deleted file mode 100644
index 0d1e43a26a..0000000000
--- a/db2/include/db_auto.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Do not edit: automatically built by dist/db_gen.sh. */
-#ifndef db_AUTO_H
-#define db_AUTO_H
-
-#define	DB_db_addrem	(DB_db_BEGIN + 1)
-
-typedef struct _db_addrem_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	u_int32_t	indx;
-	size_t	nbytes;
-	DBT	hdr;
-	DBT	dbt;
-	DB_LSN 	pagelsn;
-} __db_addrem_args;
-
-
-#define	DB_db_split	(DB_db_BEGIN + 2)
-
-typedef struct _db_split_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DBT	pageimage;
-	DB_LSN 	pagelsn;
-} __db_split_args;
-
-
-#define	DB_db_big	(DB_db_BEGIN + 3)
-
-typedef struct _db_big_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	db_pgno_t	prev_pgno;
-	db_pgno_t	next_pgno;
-	DBT	dbt;
-	DB_LSN 	pagelsn;
-	DB_LSN 	prevlsn;
-	DB_LSN 	nextlsn;
-} __db_big_args;
-
-
-#define	DB_db_ovref	(DB_db_BEGIN + 4)
-
-typedef struct _db_ovref_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	int32_t	adjust;
-	DB_LSN 	lsn;
-} __db_ovref_args;
-
-
-#define	DB_db_relink	(DB_db_BEGIN + 5)
-
-typedef struct _db_relink_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DB_LSN 	lsn;
-	db_pgno_t	prev;
-	DB_LSN 	lsn_prev;
-	db_pgno_t	next;
-	DB_LSN 	lsn_next;
-} __db_relink_args;
-
-
-#define	DB_db_addpage	(DB_db_BEGIN + 6)
-
-typedef struct _db_addpage_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DB_LSN 	lsn;
-	db_pgno_t	nextpgno;
-	DB_LSN 	nextlsn;
-} __db_addpage_args;
-
-
-#define	DB_db_debug	(DB_db_BEGIN + 7)
-
-typedef struct _db_debug_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	DBT	op;
-	u_int32_t	fileid;
-	DBT	key;
-	DBT	data;
-	u_int32_t	arg_flags;
-} __db_debug_args;
-
-#endif
diff --git a/db2/include/db_cxx.h b/db2/include/db_cxx.h
deleted file mode 100644
index f415d594b5..0000000000
--- a/db2/include/db_cxx.h
+++ /dev/null
@@ -1,861 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)db_cxx.h	10.30 (Sleepycat) 11/22/98
- */
-
-#ifndef _DB_CXX_H_
-#define _DB_CXX_H_
-//
-// C++ assumptions:
-//
-// To ensure portability to many platforms, both new and old, we make
-// few assumptions about the C++ compiler and library.  For example,
-// we do not expect STL, templates or namespaces to be available.  The
-// "newest" C++ feature used is exceptions, which are used liberally
-// to transmit error information.  Even the use of exceptions can be
-// disabled at runtime, see setErrorModel().
-//
-// C++ naming conventions:
-//
-//  - All top level class names start with Db.
-//  - All class members start with lower case letter.
-//  - All private data members are suffixed with underscore.
-//  - Use underscores to divide names into multiple words.
-//  - Simple data accessors are named with get_ or set_ prefix.
-//  - All method names are taken from names of functions in the C
-//    layer of db (usually by dropping a prefix like "db_").
-//    These methods have the same argument types and order,
-//    other than dropping the explicit arg that acts as "this".
-//
-// As a rule, each DbFoo object has exactly one underlying DB_FOO struct
-// (defined in db.h) associated with it.  In many cases, we inherit directly
-// from the DB_FOO structure to make this relationship explicit.  Often,
-// the underlying C layer allocates and deallocates these structures, so
-// there is no easy way to add any data to the DbFoo class.  When you see
-// a comment about whether data is permitted to be added, this is what
-// is going on.  Of course, if we need to add data to such C++ classes
-// in the future, we will arrange to have an indirect pointer to the
-// DB_FOO struct (as some of the classes already have).
-//
-
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Forward declarations
-//
-
-#include <iostream.h>
-#include <db.h>
-
-class Db;                                        // forward
-class Dbc;                                       // forward
-class DbEnv;                                     // forward
-class DbException;                               // forward
-class DbInfo;                                    // forward
-class DbLock;                                    // forward
-class DbLockTab;                                 // forward
-class DbLog;                                     // forward
-class DbLsn;                                     // forward
-class DbMpool;                                   // forward
-class DbMpoolFile;                               // forward
-class Dbt;                                       // forward
-class DbTxn;                                     // forward
-class DbTxnMgr;                                  // forward
-
-// These classes are not defined here and should be invisible
-// to the user, but some compilers require forward references.
-// There is one for each use of the DEFINE_DB_CLASS macro.
-
-class DbLockTabImp;
-class DbLogImp;
-class DbMpoolImp;
-class DbMpoolFileImp;
-class DbImp;
-class DbTxnImp;
-class DbTxnMgrImp;
-
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Mechanisms for declaring classes
-//
-
-//
-// Every class defined in this file has an _exported next to the class name.
-// This is needed for WinTel machines so that the class methods can
-// be exported or imported in a DLL as appropriate.  Users of the DLL
-// use the define DB_USE_DLL.  When the DLL is built, DB_CREATE_DLL
-// must be defined.
-//
-#if defined(_MSC_VER)
-
-#  if defined(DB_CREATE_DLL)
-#    define _exported __declspec(dllexport)      // creator of dll
-#  elif defined(DB_USE_DLL)
-#    define _exported __declspec(dllimport)      // user of dll
-#  else
-#    define _exported                            // static lib creator or user
-#  endif
-
-#else
-
-#  define _exported
-
-#endif
-
-// DEFINE_DB_CLASS defines an imp_ data member and imp() accessor.
-// The underlying type is a pointer to an opaque *Imp class, that
-// gets converted to the correct implementation class by the implementation.
-//
-// Since these defines use "private/public" labels, and leave the access
-// being "private", we always use these by convention before any data
-// members in the private section of a class.  Keeping them in the
-// private section also emphasizes that they are off limits to user code.
-//
-#define DEFINE_DB_CLASS(name) \
-    public: class name##Imp* imp() { return imp_; } \
-    public: const class name##Imp* imp() const { return imp_; } \
-    private: class name##Imp* imp_
-
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Turn off inappropriate compiler warnings
-//
-
-#ifdef _MSC_VER
-
-// These are level 4 warnings that are explicitly disabled.
-// With Visual C++, by default you do not see above level 3 unless
-// you use /W4.  But we like to compile with the highest level
-// warnings to catch other errors.
-//
-// 4201: nameless struct/union
-//       triggered by standard include file <winnt.h>
-//
-// 4514: unreferenced inline function has been removed
-//       certain include files in MSVC define methods that are not called
-//
-#pragma warning(disable: 4201 4514)
-
-#endif
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Exception classes
-//
-
-// Almost any error in the DB library throws a DbException.
-// Every exception should be considered an abnormality
-// (e.g. bug, misuse of DB, file system error).
-//
-// NOTE: We would like to inherit from class exception and
-//       let it handle what(), but there are
-//       MSVC++ problems when <exception> is included.
-//
-class _exported DbException
-{
-public:
-    virtual ~DbException();
-    DbException(int err);
-    DbException(const char *description);
-    DbException(const char *prefix, int err);
-    DbException(const char *prefix1, const char *prefix2, int err);
-    const int get_errno();
-    virtual const char *what() const;
-
-    DbException(const DbException &);
-    DbException &operator = (const DbException &);
-
-private:
-    char *what_;
-    int err_;                   // errno
-};
-
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Lock classes
-//
-
-class _exported DbLock
-{
-    friend class DbLockTab;
-
-public:
-    DbLock();
-
-    int put(DbLockTab *locktab);
-
-    DbLock(const DbLock &);
-    DbLock &operator = (const DbLock &);
-
-protected:
-    // We can add data to this class if needed
-    // since its contained class is not allocated by db.
-    // (see comment at top)
-
-    DbLock(DB_LOCK);
-    DB_LOCK lock_;
-};
-
-class _exported DbLockTab
-{
-    friend class DbEnv;
-
-public:
-    int close();
-    int detect(u_int32_t flags, int atype);
-    int get(u_int32_t locker, u_int32_t flags, const Dbt *obj,
-            db_lockmode_t lock_mode, DbLock *lock);
-    int id(u_int32_t *idp);
-    int stat(DB_LOCK_STAT **statp, void *(*db_malloc)(size_t));
-    int vec(u_int32_t locker, u_int32_t flags, DB_LOCKREQ list[],
-	    int nlist, DB_LOCKREQ **elistp);
-
-    // Create or remove new locktab files
-    //
-    static int open(const char *dir, u_int32_t flags, int mode,
-                    DbEnv* dbenv, DbLockTab **regionp);
-    static int unlink(const char *dir, int force, DbEnv* dbenv);
-
-private:
-    // We can add data to this class if needed
-    // since it is implemented via a pointer.
-    // (see comment at top)
-
-    // copying not allowed
-    //
-    DbLockTab(const DbLockTab &);
-    DbLockTab &operator = (const DbLockTab &);
-
-    // Note: use DbLockTab::open() or DbEnv::get_lk_info()
-    // to get pointers to a DbLockTab,
-    // and call DbLockTab::close() rather than delete to release them.
-    //
-    DbLockTab();
-    ~DbLockTab();
-
-    DEFINE_DB_CLASS(DbLockTab);
-};
-
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Log classes
-//
-
-class _exported DbLsn : protected DB_LSN
-{
-    friend class DbLog;          // friendship needed to cast to base class
-    friend class DbMpool;
-};
-
-class _exported DbLog
-{
-    friend class DbEnv;
-
-public:
-    int archive(char **list[], u_int32_t flags, void *(*db_malloc)(size_t));
-    int close();
-    static int compare(const DbLsn *lsn0, const DbLsn *lsn1);
-    int file(DbLsn *lsn, char *namep, int len);
-    int flush(const DbLsn *lsn);
-    int get(DbLsn *lsn, Dbt *data, u_int32_t flags);
-    int put(DbLsn *lsn, const Dbt *data, u_int32_t flags);
-
-    // Normally these would be called register and unregister to
-    // parallel the C interface, but "register" is a reserved word.
-    //
-    int db_register(Db *dbp, const char *name, DBTYPE type, u_int32_t *fidp);
-    int db_unregister(u_int32_t fid);
-
-    // Create or remove new log files
-    //
-    static int open(const char *dir, u_int32_t flags, int mode,
-                    DbEnv* dbenv, DbLog **regionp);
-    static int unlink(const char *dir, int force, DbEnv* dbenv);
-
-private:
-    // We can add data to this class if needed
-    // since it is implemented via a pointer.
-    // (see comment at top)
-
-    // Note: use DbLog::open() or DbEnv::get_lg_info()
-    // to get pointers to a DbLog,
-    // and call DbLog::close() rather than delete to release them.
-    //
-    DbLog();
-    ~DbLog();
-
-    // no copying
-    DbLog(const DbLog &);
-    operator = (const DbLog &);
-
-    DEFINE_DB_CLASS(DbLog);
-};
-
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Memory pool classes
-//
-
-class _exported DbMpoolFile
-{
-    friend class DbEnv;
-
-public:
-    int close();
-    int get(db_pgno_t *pgnoaddr, u_int32_t flags, void *pagep);
-    int put(void *pgaddr, u_int32_t flags);
-    int set(void *pgaddr, u_int32_t flags);
-    int sync();
-
-    static int open(DbMpool *mp, const char *file,
-                    u_int32_t flags, int mode, size_t pagesize,
-                    DB_MPOOL_FINFO *finfop, DbMpoolFile **mpf);
-
-private:
-    // We can add data to this class if needed
-    // since it is implemented via a pointer.
-    // (see comment at top)
-
-    // Note: use DbMpoolFile::open()
-    // to get pointers to a DbMpoolFile,
-    // and call DbMpoolFile::close() rather than delete to release them.
-    //
-    DbMpoolFile();
-
-    // Shut g++ up.
-protected:
-    ~DbMpoolFile();
-
-private:
-    // no copying
-    DbMpoolFile(const DbMpoolFile &);
-    operator = (const DbMpoolFile &);
-
-    DEFINE_DB_CLASS(DbMpoolFile);
-};
-
-class _exported DbMpool
-{
-    friend class DbEnv;
-
-public:
-    int close();
-
-    // access to low level interface
-    // Normally this would be called register to parallel
-    // the C interface, but "register" is a reserved word.
-    //
-    int db_register(int ftype,
-                    int (*pgin)(db_pgno_t pgno, void *pgaddr, DBT *pgcookie),
-                    int (*pgout)(db_pgno_t pgno, void *pgaddr, DBT *pgcookie));
-
-    int stat(DB_MPOOL_STAT **gsp, DB_MPOOL_FSTAT ***fsp,
-             void *(*db_malloc)(size_t));
-    int sync(DbLsn *lsn);
-    int trickle(int pct, int *nwrotep);
-
-    // Create or remove new mpool files
-    //
-    static int open(const char *dir, u_int32_t flags, int mode,
-                    DbEnv* dbenv, DbMpool **regionp);
-    static int unlink(const char *dir, int force, DbEnv* dbenv);
-
-private:
-    // We can add data to this class if needed
-    // since it is implemented via a pointer.
-    // (see comment at top)
-
-    // Note: use DbMpool::open() or DbEnv::get_mp_info()
-    // to get pointers to a DbMpool,
-    // and call DbMpool::close() rather than delete to release them.
-    //
-    DbMpool();
-    ~DbMpool();
-
-    // no copying
-    DbMpool(const DbMpool &);
-    DbMpool &operator = (const DbMpool &);
-
-    DEFINE_DB_CLASS(DbMpool);
-};
-
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Transaction classes
-//
-
-class _exported DbTxnMgr
-{
-    friend class DbEnv;
-
-public:
-    int begin(DbTxn *pid, DbTxn **tid);
-    int checkpoint(u_int32_t kbyte, u_int32_t min) const;
-    int close();
-    int stat(DB_TXN_STAT **statp, void *(*db_malloc)(size_t));
-
-    // Create or remove new txnmgr files
-    //
-    static int open(const char *dir, u_int32_t flags, int mode,
-                    DbEnv* dbenv, DbTxnMgr **regionp);
-    static int unlink(const char *dir, int force, DbEnv* dbenv);
-
-private:
-    // We can add data to this class if needed
-    // since it is implemented via a pointer.
-    // (see comment at top)
-
-    // Note: use DbTxnMgr::open() or DbEnv::get_tx_info()
-    // to get pointers to a DbTxnMgr,
-    // and call DbTxnMgr::close() rather than delete to release them.
-    //
-    DbTxnMgr();
-    ~DbTxnMgr();
-
-    // no copying
-    DbTxnMgr(const DbTxnMgr &);
-    operator = (const DbTxnMgr &);
-
-    DEFINE_DB_CLASS(DbTxnMgr);
-};
-
-class _exported DbTxn
-{
-    friend class DbTxnMgr;
-
-public:
-    int abort();
-    int commit();
-    u_int32_t id();
-    int prepare();
-
-private:
-    // We can add data to this class if needed
-    // since it is implemented via a pointer.
-    // (see comment at top)
-
-    // Note: use DbTxnMgr::begin() to get pointers to a DbTxn,
-    // and call DbTxn::abort() or DbTxn::commit rather than
-    // delete to release them.
-    //
-    DbTxn();
-    ~DbTxn();
-
-    // no copying
-    DbTxn(const DbTxn &);
-    operator = (const DbTxn &);
-
-    DEFINE_DB_CLASS(DbTxn);
-};
-
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Application classes
-//
-
-//
-// A set of application options - define how this application uses
-// the db library.
-//
-class _exported DbInfo : protected DB_INFO
-{
-    friend class DbEnv;
-    friend class Db;
-
-public:
-    DbInfo();
-    ~DbInfo();
-
-    // Byte order.
-    void set_lorder(int);
-
-    // Underlying cache size.
-    void set_cachesize(size_t);
-
-    // Underlying page size.
-    void set_pagesize(size_t);
-
-    // Local heap allocation.
-    typedef void *(*db_malloc_fcn)(size_t);
-    void set_malloc(db_malloc_fcn);
-
-    // Duplicate compare function.
-    typedef int (*dup_compare_fcn)(const DBT *, const DBT *);
-    void set_dup_compare(dup_compare_fcn);
-
-    ////////////////////////////////////////////////////////////////
-    // Btree access method.
-
-    // Maximum keys per page.
-    void set_bt_maxkey(int);
-
-    // Minimum keys per page.
-    void set_bt_minkey(int);
-
-    // Comparison function.
-    typedef int (*bt_compare_fcn)(const DBT *, const DBT *);
-    void set_bt_compare(bt_compare_fcn);
-
-    // Prefix function.
-    typedef size_t (*bt_prefix_fcn)(const DBT *, const DBT *);
-    void set_bt_prefix(bt_prefix_fcn);
-
-    ////////////////////////////////////////////////////////////////
-    // Hash access method.
-
-    // Fill factor.
-    void set_h_ffactor(u_int32_t);
-
-    // Number of elements.
-    void set_h_nelem(u_int32_t);
-
-    // Hash function.
-    typedef u_int32_t (*h_hash_fcn)(const void *, u_int32_t);
-    void set_h_hash(h_hash_fcn);
-
-    ////////////////////////////////////////////////////////////////
-    // Recno access method.
-
-    // Fixed-length padding byte.
-    void set_re_pad(int);
-
-    // Variable-length delimiting byte.
-    void set_re_delim(int);
-
-    // Length for fixed-length records.
-    void set_re_len(u_int32_t);
-
-    // Source file name.
-    void set_re_source(char *);
-
-    // Note: some flags are set as side effects of calling
-    // above "set" methods.
-    //
-    void set_flags(u_int32_t);
-
-
-    // (deep) copying of this object is allowed.
-    //
-    DbInfo(const DbInfo &);
-    DbInfo &operator = (const DbInfo &);
-
-private:
-    // We can add data to this class if needed
-    // since parent class is not allocated by db.
-    // (see comment at top)
-};
-
-//
-// Base application class.  Provides functions for opening a database.
-// User of this library can use this class as a starting point for
-// developing a DB application - derive their application class from
-// this one, add application control logic.
-//
-// Note that if you use the default constructor, you must explicitly
-// call appinit() before any other db activity (e.g. opening files)
-//
-class _exported DbEnv : protected DB_ENV
-{
-    friend class DbTxnMgr;
-    friend class DbLog;
-    friend class DbLockTab;
-    friend class DbMpool;
-    friend class Db;
-
-public:
-
-    ~DbEnv();
-
-    // This constructor can be used to immediately initialize the
-    // application with these arguments.  Do not use it if you
-    // need to set other parameters via the access methods.
-    //
-    DbEnv(const char *homeDir, char *const *db_config, u_int32_t flags);
-
-    // Use this constructor if you wish to *delay* the initialization
-    // of the db library.  This is useful if you need to set
-    // any particular parameters via the access methods below.
-    // Then call appinit() to complete the initialization.
-    //
-    DbEnv();
-
-    // Used in conjunction with the default constructor to
-    // complete the initialization of the db library.
-    //
-    int appinit(const char *homeDir, char *const *db_config, u_int32_t flags);
-
-    // Called automatically when DbEnv is destroyed, or can be
-    // called at any time to shut down Db.
-    //
-    int appexit();
-
-    // Version information.  A static method so it can be obtained anytime.
-    //
-    static char *version(int *major, int *minor, int *patch);
-
-    ////////////////////////////////////////////////////////////////
-    // simple get/set access methods
-    //
-    // If you are calling set_ methods, you need to
-    // use the default constructor along with appinit().
-
-    // Byte order.
-    void set_lorder(int);
-
-    // Panic callback.
-    typedef void (*db_paniccall_fcn)(DbEnv *, int);
-    void set_paniccall(db_paniccall_fcn);
-
-    // Error message callback.
-    typedef void (*db_errcall_fcn)(const char *, char *);
-    void set_errcall(db_errcall_fcn);
-
-    // Error message file stream.
-    void set_errfile(FILE *);
-
-    // Error message prefix.
-    void set_errpfx(const char *);
-
-    // Generate debugging messages.
-    void set_verbose(int);
-
-    ////////////////////////////////////////////////////////////////
-    // Locking.
-
-    // Return from lock_open().
-    DbLockTab *get_lk_info() const;
-
-    // Two dimensional conflict matrix.
-    void set_lk_conflicts(u_int8_t *);
-
-    // Number of lock modes in table.
-    void set_lk_modes(int);
-
-    // Maximum number of locks.
-    void set_lk_max(u_int32_t);
-
-    // Deadlock detect on every conflict.
-    void set_lk_detect(u_int32_t);
-
-
-    ////////////////////////////////////////////////////////////////
-    // Logging.
-
-    // Return from log_open().
-    DbLog *get_lg_info() const;
-
-    // Maximum file size.
-    void set_lg_max(u_int32_t);
-
-
-    ////////////////////////////////////////////////////////////////
-    // Memory pool.
-
-    // Return from memp_open().
-    DbMpool *get_mp_info() const;
-
-    // Maximum file size for mmap.
-    void set_mp_mmapsize(size_t);
-
-    // Bytes in the mpool cache.
-    void set_mp_size(size_t);
-
-
-    ////////////////////////////////////////////////////////////////
-    // Transactions.
-
-    // Return from txn_open().
-    DbTxnMgr *get_tx_info() const;
-
-    // Maximum number of transactions.
-    void set_tx_max(u_int32_t);
-
-    // Dispatch function for recovery.
-    typedef int (*tx_recover_fcn)(DB_LOG *, DBT *, DB_LSN *, int, void *);
-    void set_tx_recover(tx_recover_fcn);
-
-    // Flags.
-    void set_flags(u_int32_t);
-
-    ////////////////////////////////////////////////////////////////
-    // The default error model is to throw an exception whenever
-    // an error occurs.  This generally allows for cleaner logic
-    // for transaction processing, as a try block can surround a
-    // single transaction.  Alternatively, since almost every method
-    // returns an error code (errno), the error model can be set to
-    // not throw exceptions, and instead return the appropriate code.
-    //
-    enum ErrorModel { Exception, ErrorReturn };
-    void set_error_model(ErrorModel);
-
-    // If an error is detected and the error call function
-    // or stream is set, a message is dispatched or printed.
-    // If a prefix is set, each message is prefixed.
-    //
-    // You can use set_errcall() or set_errfile() above to control
-    // error functionality using a C model.  Alternatively, you can
-    // call set_error_stream() to force all errors to a C++ stream.
-    // It is unwise to mix these approaches.
-    //
-    void set_error_stream(class ostream*);
-
-    // used internally
-    static int runtime_error(const char *caller, int err,
-                             int in_destructor = 0, int force_throw = 0);
-
-private:
-    // We can add data to this class if needed
-    // since parent class is not allocated by db.
-    // (see comment at top)
-
-    // no copying
-    DbEnv(const DbEnv &);
-    operator = (const DbEnv &);
-
-    ErrorModel error_model_;
-    static void stream_error_function(const char *, char *);
-    static ostream *error_stream_;
-};
-
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-//
-// Table access classes
-//
-
-//
-// Represents a database table = a set of keys with associated values.
-//
-class _exported Db
-{
-    friend class DbEnv;
-
-public:
-    int close(u_int32_t flags);
-    int cursor(DbTxn *txnid, Dbc **cursorp, u_int32_t flags);
-    int del(DbTxn *txnid, Dbt *key, u_int32_t flags);
-    int fd(int *fdp);
-    int get(DbTxn *txnid, Dbt *key, Dbt *data, u_int32_t flags);
-    int join(Dbc **curslist, u_int32_t flags, Dbc **dbcp);
-    int put(DbTxn *txnid, Dbt *key, Dbt *data, u_int32_t flags);
-    int stat(void *sp, void *(*db_malloc)(size_t), u_int32_t flags);
-    int sync(u_int32_t flags);
-
-    int get_byteswapped() const;
-    DBTYPE get_type() const;
-
-    static int open(const char *fname, DBTYPE type, u_int32_t flags,
-                    int mode, DbEnv *dbenv, DbInfo *info, Db **dbpp);
-
-    static int xa_open(const char *fname, DBTYPE type, u_int32_t flags,
-                    int mode, DbInfo *info, Db **dbpp);
-private:
-    // We can add data to this class if needed
-    // since it is implemented via a pointer.
-    // (see comment at top)
-
-    // Note: use Db::open() to get initialize pointers to a Db,
-    // and call Db::close() rather than delete to release them.
-    Db();
-    ~Db();
-
-    // no copying
-    Db(const Db &);
-    Db &operator = (const Db &);
-
-    DEFINE_DB_CLASS(Db);
-};
-
-//
-// A chunk of data, maybe a key or value.
-//
-class _exported Dbt : private DBT
-{
-    friend class Dbc;
-    friend class Db;
-    friend class DbLog;
-    friend class DbMpoolFile;
-    friend class DbLockTab;
-
-public:
-
-    // key/data
-    void *get_data() const;
-    void set_data(void *);
-
-    // key/data length
-    u_int32_t get_size() const;
-    void set_size(u_int32_t);
-
-    // RO: length of user buffer.
-    u_int32_t get_ulen() const;
-    void set_ulen(u_int32_t);
-
-    // RO: get/put record length.
-    u_int32_t get_dlen() const;
-    void set_dlen(u_int32_t);
-
-    // RO: get/put record offset.
-    u_int32_t get_doff() const;
-    void set_doff(u_int32_t);
-
-    // flags
-    u_int32_t get_flags() const;
-    void set_flags(u_int32_t);
-
-    Dbt(void *data, size_t size);
-    Dbt();
-    ~Dbt();
-    Dbt(const Dbt &);
-    Dbt &operator = (const Dbt &);
-
-private:
-    // We can add data to this class if needed
-    // since parent class is not allocated by db.
-    // (see comment at top)
-};
-
-class _exported Dbc : protected DBC
-{
-    friend class Db;
-
-public:
-    int close();
-    int del(u_int32_t flags);
-    int get(Dbt* key, Dbt *data, u_int32_t flags);
-    int put(Dbt* key, Dbt *data, u_int32_t flags);
-
-private:
-    // No data is permitted in this class (see comment at top)
-
-    // Note: use Db::cursor() to get pointers to a Dbc,
-    // and call Dbc::close() rather than delete to release them.
-    //
-    Dbc();
-    ~Dbc();
-
-    // no copying
-    Dbc(const Dbc &);
-    Dbc &operator = (const Dbc &);
-};
-#endif /* !_DB_CXX_H_ */
diff --git a/db2/include/db_dispatch.h b/db2/include/db_dispatch.h
deleted file mode 100644
index 8f5e217402..0000000000
--- a/db2/include/db_dispatch.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- */
-/*
- * Copyright (c) 1995, 1996
- *	The President and Fellows of Harvard University.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)db_dispatch.h	10.4 (Sleepycat) 5/3/98
- */
-
-#ifndef _DB_DISPATCH_H
-#define _DB_DISPATCH_H
-
-struct __db_txnhead;	typedef struct __db_txnhead DB_TXNHEAD;
-struct __db_txnlist;	typedef struct __db_txnlist DB_TXNLIST;
-
-/*
- * Declarations and typedefs for the list of transaction IDs used during
- * recovery.
- */
-struct __db_txnhead {
-	LIST_HEAD(__db_headlink, __db_txnlist) head;
-	u_int32_t maxid;
-	int32_t generation;
-};
-
-struct __db_txnlist {
-	LIST_ENTRY(__db_txnlist) links;
-	u_int32_t txnid;
-	int32_t	generation;
-};
-
-#define	DB_log_BEGIN		  0
-#define	DB_txn_BEGIN		  5
-#define	DB_ham_BEGIN		 20
-#define	DB_db_BEGIN		 40
-#define	DB_bam_BEGIN		 50
-#define	DB_ram_BEGIN		100
-#define	DB_user_BEGIN		150
-
-#define	TXN_UNDO		 0
-#define	TXN_REDO		 1
-#define	TXN_BACKWARD_ROLL	-1
-#define	TXN_FORWARD_ROLL	-2
-#define TXN_OPENFILES		-3
-#endif
diff --git a/db2/include/db_ext.h b/db2/include/db_ext.h
deleted file mode 100644
index 1ad1643bfa..0000000000
--- a/db2/include/db_ext.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _db_ext_h_
-#define _db_ext_h_
-int __db_close __P((DB *, u_int32_t));
-int __db_init_wrapper __P((DB *));
-int __db_cprint __P((DB *));
-int __db_c_destroy __P((DBC *));
-int __db_sync __P((DB *, u_int32_t));
-int __db_addrem_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t, db_pgno_t, u_int32_t,
-    size_t, const DBT *, const DBT *, DB_LSN *));
-int __db_addrem_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_addrem_read __P((void *, __db_addrem_args **));
-int __db_split_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t, db_pgno_t, const DBT *,
-    DB_LSN *));
-int __db_split_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_split_read __P((void *, __db_split_args **));
-int __db_big_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t, db_pgno_t, db_pgno_t,
-    db_pgno_t, const DBT *, DB_LSN *, DB_LSN *,
-    DB_LSN *));
-int __db_big_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_big_read __P((void *, __db_big_args **));
-int __db_ovref_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, int32_t, DB_LSN *));
-int __db_ovref_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_ovref_read __P((void *, __db_ovref_args **));
-int __db_relink_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t, db_pgno_t, DB_LSN *,
-    db_pgno_t, DB_LSN *, db_pgno_t, DB_LSN *));
-int __db_relink_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_relink_read __P((void *, __db_relink_args **));
-int __db_addpage_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, DB_LSN *, db_pgno_t,
-    DB_LSN *));
-int __db_addpage_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_addpage_read __P((void *, __db_addpage_args **));
-int __db_debug_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    const DBT *, u_int32_t, const DBT *, const DBT *,
-    u_int32_t));
-int __db_debug_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_debug_read __P((void *, __db_debug_args **));
-int __db_init_print __P((DB_ENV *));
-int __db_init_recover __P((DB_ENV *));
-int __db_pgin __P((db_pgno_t, size_t, void *));
-int __db_pgout __P((db_pgno_t, size_t, void *));
-int __db_dispatch __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_add_recovery __P((DB_ENV *,
-   int (*)(DB_LOG *, DBT *, DB_LSN *, int, void *), u_int32_t));
-int __db_txnlist_init __P((void *));
-int __db_txnlist_add __P((void *, u_int32_t));
-int __db_txnlist_find __P((void *, u_int32_t));
-void __db_txnlist_end __P((void *));
-void __db_txnlist_gen __P((void *, int));
-void __db_txnlist_print __P((void *));
-int __db_dput __P((DBC *, DBT *,
-   PAGE **, db_indx_t *, int (*)(DBC *, u_int32_t, PAGE **)));
-int __db_drem __P((DBC *,
-   PAGE **, u_int32_t, int (*)(DBC *, PAGE *)));
-int __db_dend __P((DBC *, db_pgno_t, PAGE **));
- int __db_ditem __P((DBC *, PAGE *, u_int32_t, u_int32_t));
-int __db_pitem
-    __P((DBC *, PAGE *, u_int32_t, u_int32_t, DBT *, DBT *));
-int __db_relink __P((DBC *, u_int32_t, PAGE *, PAGE **, int));
-int __db_ddup __P((DBC *, db_pgno_t, int (*)(DBC *, PAGE *)));
-int __db_dsearch __P((DBC *,
-    int, DBT *, db_pgno_t, db_indx_t *, PAGE **, int *));
-int __db_cdelchk __P((const DB *, u_int32_t, int, int));
-int __db_cgetchk __P((const DB *, DBT *, DBT *, u_int32_t, int));
-int __db_cputchk __P((const DB *,
-   const DBT *, DBT *, u_int32_t, int, int));
-int __db_closechk __P((const DB *, u_int32_t));
-int __db_delchk __P((const DB *, DBT *, u_int32_t, int));
-int __db_getchk __P((const DB *, const DBT *, DBT *, u_int32_t));
-int __db_joinchk __P((const DB *, u_int32_t));
-int __db_putchk
-   __P((const DB *, DBT *, const DBT *, u_int32_t, int, int));
-int __db_statchk __P((const DB *, u_int32_t));
-int __db_syncchk __P((const DB *, u_int32_t));
-int __db_eopnotsup __P((const DB_ENV *));
-int __db_join __P((DB *, DBC **, u_int32_t, DBC **));
-int __db_goff __P((DB *, DBT *,
-    u_int32_t, db_pgno_t, void **, u_int32_t *));
-int __db_poff __P((DBC *, const DBT *, db_pgno_t *,
-    int (*)(DBC *, u_int32_t, PAGE **)));
-int __db_ovref __P((DBC *, db_pgno_t, int32_t));
-int __db_doff __P((DBC *, db_pgno_t, int (*)(DBC *, PAGE *)));
-int __db_moff __P((DB *, const DBT *, db_pgno_t, u_int32_t,
-    int (*)(const DBT *, const DBT *), int *));
-void __db_loadme __P((void));
-FILE *__db_prinit __P((FILE *));
-int __db_dump __P((DB *, char *, int));
-int __db_prdb __P((DB *));
-int __db_prbtree __P((DB *));
-int __db_prhash __P((DB *));
-int __db_prtree __P((DB_MPOOLFILE *, int));
-int __db_prnpage __P((DB_MPOOLFILE *, db_pgno_t));
-int __db_prpage __P((PAGE *, int));
-int __db_isbad __P((PAGE *, int));
-void __db_pr __P((u_int8_t *, u_int32_t));
-int __db_prdbt __P((DBT *, int, FILE *));
-void __db_prflags __P((u_int32_t, const FN *, FILE *));
-int __db_addrem_recover
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_split_recover __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_big_recover __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_ovref_recover __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_relink_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_addpage_recover
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_debug_recover __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __db_ret __P((DB *,
-   PAGE *, u_int32_t, DBT *, void **, u_int32_t *));
-int __db_retcopy __P((DBT *,
-   void *, u_int32_t, void **, u_int32_t *, void *(*)(size_t)));
-#endif /* _db_ext_h_ */
diff --git a/db2/include/db_join.h b/db2/include/db_join.h
deleted file mode 100644
index cb27e21f68..0000000000
--- a/db2/include/db_join.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)db_join.h	10.2 (Sleepycat) 10/4/98
- */
-
-#ifndef _DB_JOIN_H
-#define _DB_JOIN_H
-/*
- * Joins use a join cursor that is similar to a regular DB cursor except
- * that it only supports c_get and c_close functionality.  Also, it does
- * not support the full range of flags for get.
- */
-typedef struct __join_cursor {
-	u_int32_t j_init;		/* Set when cursor is initialized. */
-	DBC 	**j_curslist;		/* Array of cursors in the join. */
-	DB	 *j_primary;		/* Primary dbp. */
-	DBT	  j_key;		/* Used to do lookups. */
-} JOIN_CURSOR;
-#endif
diff --git a/db2/include/db_page.h b/db2/include/db_page.h
deleted file mode 100644
index 5c9ca674f1..0000000000
--- a/db2/include/db_page.h
+++ /dev/null
@@ -1,512 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)db_page.h	10.18 (Sleepycat) 12/2/98
- */
-
-#ifndef _DB_PAGE_H_
-#define	_DB_PAGE_H_
-
-/*
- * DB page formats.
- *
- * This implementation requires that values within the following structures
- * NOT be padded -- note, ANSI C permits random padding within structures.
- * If your compiler pads randomly you can just forget ever making DB run on
- * your system.  In addition, no data type can require larger alignment than
- * its own size, e.g., a 4-byte data element may not require 8-byte alignment.
- *
- * Note that key/data lengths are often stored in db_indx_t's -- this is
- * not accidental, nor does it limit the key/data size.  If the key/data
- * item fits on a page, it's guaranteed to be small enough to fit into a
- * db_indx_t, and storing it in one saves space.
- */
-
-#define	PGNO_METADATA	0	/* Metadata page number. */
-#define	PGNO_INVALID	0	/* Metadata page number, therefore illegal. */
-#define	PGNO_ROOT	1	/* Root is page #1. */
-
-/*
- * When we create pages in mpool, we ask mpool to clear some number of bytes
- * in the header.  This number must be at least as big as the regular page
- * headers and cover enough of the btree and hash meta-data pages to obliterate
- * the magic and version numbers.
- */
-#define	DB_PAGE_CLEAR_LEN	32
-
-/************************************************************************
- BTREE METADATA PAGE LAYOUT
- ************************************************************************/
-
-/*
- * Btree metadata page layout:
- */
-typedef struct _btmeta {
-	DB_LSN	  lsn;		/* 00-07: LSN. */
-	db_pgno_t pgno;		/* 08-11: Current page number. */
-	u_int32_t magic;	/* 12-15: Magic number. */
-	u_int32_t version;	/* 16-19: Version. */
-	u_int32_t pagesize;	/* 20-23: Pagesize. */
-	u_int32_t maxkey;	/* 24-27: Btree: Maxkey. */
-	u_int32_t minkey;	/* 28-31: Btree: Minkey. */
-	u_int32_t free;		/* 32-35: Free list page number. */
-#define	BTM_DUP		0x001	/* 	  Duplicates. */
-#define	BTM_RECNO	0x002	/*	  Recno tree. */
-#define	BTM_RECNUM	0x004	/*	  Btree: maintain record count. */
-#define	BTM_FIXEDLEN	0x008	/*	  Recno: fixed length records. */
-#define	BTM_RENUMBER	0x010	/*	  Recno: renumber on insert/delete. */
-#define	BTM_MASK	0x01f
-	u_int32_t flags;	/* 36-39: Flags. */
-	u_int32_t re_len;	/* 40-43: Recno: fixed-length record length. */
-	u_int32_t re_pad;	/* 44-47: Recno: fixed-length record pad. */
-				/* 48-67: Unique file ID. */
-	u_int8_t  uid[DB_FILE_ID_LEN];
-} BTMETA;
-
-/************************************************************************
- HASH METADATA PAGE LAYOUT
- ************************************************************************/
-
-/*
- * Hash metadata page layout:
- */
-/* Hash Table Information */
-typedef struct hashhdr {	/* Disk resident portion */
-	DB_LSN	lsn;		/* 00-07: LSN of the header page */
-	db_pgno_t pgno;		/* 08-11: Page number (btree compatibility). */
-	u_int32_t magic;	/* 12-15: Magic NO for hash tables */
-	u_int32_t version;	/* 16-19: Version ID */
-	u_int32_t pagesize;	/* 20-23: Bucket/Page Size */
-	u_int32_t ovfl_point;	/* 24-27: Overflow page allocation location */
-	u_int32_t last_freed;	/* 28-31: Last freed overflow page pgno */
-	u_int32_t max_bucket;	/* 32-35: ID of Maximum bucket in use */
-	u_int32_t high_mask;	/* 36-39: Modulo mask into table */
-	u_int32_t low_mask;	/* 40-43: Modulo mask into table lower half */
-	u_int32_t ffactor;	/* 44-47: Fill factor */
-	u_int32_t nelem;	/* 48-51: Number of keys in hash table */
-	u_int32_t h_charkey;	/* 52-55: Value of hash(CHARKEY) */
-#define	DB_HASH_DUP	0x01
-	u_int32_t flags;	/* 56-59: Allow duplicates. */
-#define NCACHED	32		/* number of spare points */
-				/* 60-187: Spare pages for overflow */
-	u_int32_t spares[NCACHED];
-				/* 188-207: Unique file ID. */
-	u_int8_t  uid[DB_FILE_ID_LEN];
-
-	/*
-	 * Minimum page size is 256.
-	 */
-} HASHHDR;
-
-/************************************************************************
- MAIN PAGE LAYOUT
- ************************************************************************/
-
-/*
- *	+-----------------------------------+
- *	|    lsn    |   pgno    | prev pgno |
- *	+-----------------------------------+
- *	| next pgno |  entries  | hf offset |
- *	+-----------------------------------+
- *	|   level   |   type    |   index   |
- *	+-----------------------------------+
- *	|   index   | free -->              |
- *	+-----------+-----------------------+
- *	|   	 F R E E A R E A            |
- *	+-----------------------------------+
- *	|              <-- free |   item    |
- *	+-----------------------------------+
- *	|   item    |   item    |   item    |
- *	+-----------------------------------+
- *
- * sizeof(PAGE) == 26 bytes, and the following indices are guaranteed to be
- * two-byte aligned.
- *
- * For hash and btree leaf pages, index items are paired, e.g., inp[0] is the
- * key for inp[1]'s data.  All other types of pages only contain single items.
- */
-typedef struct _db_page {
-	DB_LSN	  lsn;		/* 00-07: Log sequence number. */
-	db_pgno_t pgno;		/* 08-11: Current page number. */
-	db_pgno_t prev_pgno;	/* 12-15: Previous page number. */
-	db_pgno_t next_pgno;	/* 16-19: Next page number. */
-	db_indx_t entries;	/* 20-21: Number of item pairs on the page. */
-	db_indx_t hf_offset;	/* 22-23: High free byte page offset. */
-
-	/*
-	 * The btree levels are numbered from the leaf to the root, starting
-	 * with 1, so the leaf is level 1, its parent is level 2, and so on.
-	 * We maintain this level on all btree pages, but the only place that
-	 * we actually need it is on the root page.  It would not be difficult
-	 * to hide the byte on the root page once it becomes an internal page,
-	 * so we could get this byte back if we needed it for something else.
-	 */
-#define	LEAFLEVEL	  1
-#define	MAXBTREELEVEL	255
-	u_int8_t  level;	/*    24: Btree tree level. */
-
-#define	P_INVALID	0	/*	  Invalid page type. */
-#define	P_DUPLICATE	1	/*        Duplicate. */
-#define	P_HASH		2	/*        Hash. */
-#define	P_IBTREE	3	/*        Btree internal. */
-#define	P_IRECNO	4	/*        Recno internal. */
-#define	P_LBTREE	5	/*        Btree leaf. */
-#define	P_LRECNO	6	/*        Recno leaf. */
-#define	P_OVERFLOW	7	/*        Overflow. */
-	u_int8_t  type;		/*    25: Page type. */
-	db_indx_t inp[1];	/* Variable length index of items. */
-} PAGE;
-
-/* Element macros. */
-#define	LSN(p)		(((PAGE *)p)->lsn)
-#define	PGNO(p)		(((PAGE *)p)->pgno)
-#define	PREV_PGNO(p)	(((PAGE *)p)->prev_pgno)
-#define	NEXT_PGNO(p)	(((PAGE *)p)->next_pgno)
-#define	NUM_ENT(p)	(((PAGE *)p)->entries)
-#define	HOFFSET(p)	(((PAGE *)p)->hf_offset)
-#define	LEVEL(p)	(((PAGE *)p)->level)
-#define	TYPE(p)		(((PAGE *)p)->type)
-
-/*
- * !!!
- * The next_pgno and prev_pgno fields are not maintained for btree and recno
- * internal pages.  It's a minor performance improvement, and more, it's
- * hard to do when deleting internal pages, and it decreases the chance of
- * deadlock during deletes and splits.
- *
- * !!!
- * The btree/recno access method needs db_recno_t bytes of space on the root
- * page to specify how many records are stored in the tree.  (The alternative
- * is to store the number of records in the meta-data page, which will create
- * a second hot spot in trees being actively modified, or recalculate it from
- * the BINTERNAL fields on each access.)  Overload the prev_pgno field.
- */
-#define	RE_NREC(p)							\
-	(TYPE(p) == P_LBTREE ? NUM_ENT(p) / 2 :				\
-	    TYPE(p) == P_LRECNO ? NUM_ENT(p) : PREV_PGNO(p))
-#define	RE_NREC_ADJ(p, adj)						\
-	PREV_PGNO(p) += adj;
-#define	RE_NREC_SET(p, num)						\
-	PREV_PGNO(p) = num;
-
-/*
- * Initialize a page.
- *
- * !!!
- * Don't modify the page's LSN, code depends on it being unchanged after a
- * P_INIT call.
- */
-#define	P_INIT(pg, pg_size, n, pg_prev, pg_next, btl, pg_type) do {	\
-	PGNO(pg) = n;							\
-	PREV_PGNO(pg) = pg_prev;					\
-	NEXT_PGNO(pg) = pg_next;					\
-	NUM_ENT(pg) = 0;						\
-	HOFFSET(pg) = pg_size;						\
-	LEVEL(pg) = btl;						\
-	TYPE(pg) = pg_type;						\
-} while (0)
-
-/* Page header length (offset to first index). */
-#define P_OVERHEAD		(SSZA(PAGE, inp))
-
-/* First free byte. */
-#define	LOFFSET(pg)		(P_OVERHEAD + NUM_ENT(pg) * sizeof(db_indx_t))
-
-/* Free space on the page. */
-#define	P_FREESPACE(pg)		(HOFFSET(pg) - LOFFSET(pg))
-
-/* Get a pointer to the bytes at a specific index. */
-#define	P_ENTRY(pg, indx)	((u_int8_t *)pg + ((PAGE *)pg)->inp[indx])
-
-/************************************************************************
- OVERFLOW PAGE LAYOUT
- ************************************************************************/
-
-/*
- * Overflow items are referenced by HOFFPAGE and BOVERFLOW structures, which
- * store a page number (the first page of the overflow item) and a length
- * (the total length of the overflow item).  The overflow item consists of
- * some number of overflow pages, linked by the next_pgno field of the page.
- * A next_pgno field of PGNO_INVALID flags the end of the overflow item.
- *
- * Overflow page overloads:
- *	The amount of overflow data stored on each page is stored in the
- *	hf_offset field.
- *
- *	The implementation reference counts overflow items as it's possible
- *	for them to be promoted onto btree internal pages.  The reference
- *	count is stored in the entries field.
- */
-#define	OV_LEN(p)	(((PAGE *)p)->hf_offset)
-#define	OV_REF(p)	(((PAGE *)p)->entries)
-
-/* Maximum number of bytes that you can put on an overflow page. */
-#define	P_MAXSPACE(psize)	((psize) - P_OVERHEAD)
-
-/************************************************************************
- HASH PAGE LAYOUT
- ************************************************************************/
-
-/* Each index references a group of bytes on the page. */
-#define	H_KEYDATA	1	/* Key/data item. */
-#define	H_DUPLICATE	2	/* Duplicate key/data item. */
-#define	H_OFFPAGE	3	/* Overflow key/data item. */
-#define	H_OFFDUP	4	/* Overflow page of duplicates. */
-
-/*
- * !!!
- * Items on hash pages are (potentially) unaligned, so we can never cast the
- * (page + offset) pointer to an HKEYDATA, HOFFPAGE or HOFFDUP structure, as
- * we do with B+tree on-page structures.  Because we frequently want the type
- * field, it requires no alignment, and it's in the same location in all three
- * structures, there's a pair of macros.
- */
-#define	HPAGE_PTYPE(p)		(*(u_int8_t *)p)
-#define	HPAGE_TYPE(pg, indx)	(*P_ENTRY(pg, indx))
-
-/*
- * The first and second types are H_KEYDATA and H_DUPLICATE, represented
- * by the HKEYDATA structure:
- *
- *	+-----------------------------------+
- *	|    type   | key/data ...          |
- *	+-----------------------------------+
- *
- * For duplicates, the data field encodes duplicate elements in the data
- * field:
- *
- *	+---------------------------------------------------------------+
- *	|    type   | len1 | element1 | len1 | len2 | element2 | len2   |
- *	+---------------------------------------------------------------+
- *
- * Thus, by keeping track of the offset in the element, we can do both
- * backward and forward traversal.
- */
-typedef struct _hkeydata {
-	u_int8_t  type;		/*    00: Page type. */
-	u_int8_t  data[1];	/* Variable length key/data item. */
-} HKEYDATA;
-#define	HKEYDATA_DATA(p)	(((u_int8_t *)p) + SSZA(HKEYDATA, data))
-
-/*
- * The length of any HKEYDATA item. Note that indx is an element index,
- * not a PAIR index.
- */
-#define	LEN_HITEM(pg, pgsize, indx)					\
-	(((indx) == 0 ? pgsize : pg->inp[indx - 1]) - pg->inp[indx])
-
-#define	LEN_HKEYDATA(pg, psize, indx)					\
-	(((indx) == 0 ? psize : pg->inp[indx - 1]) -			\
-	pg->inp[indx] - HKEYDATA_SIZE(0))
-
-/*
- * Page space required to add a new HKEYDATA item to the page, with and
- * without the index value.
- */
-#define	HKEYDATA_SIZE(len)						\
-	((len) + SSZA(HKEYDATA, data))
-#define	HKEYDATA_PSIZE(len)						\
-	(HKEYDATA_SIZE(len) + sizeof(db_indx_t))
-
-/* Put a HKEYDATA item at the location referenced by a page entry. */
-#define	PUT_HKEYDATA(pe, kd, len, type) {				\
-	((HKEYDATA *)pe)->type = type;					\
-	memcpy((u_int8_t *)pe + sizeof(u_int8_t), kd, len);		\
-}
-
-/*
- * Macros the describe the page layout in terms of key-data pairs.
- * The use of "pindex" indicates that the argument is the index
- * expressed in pairs instead of individual elements.
- */
-#define H_NUMPAIRS(pg)			(NUM_ENT(pg) / 2)
-#define	H_KEYINDEX(pindx)		(2 * (pindx))
-#define	H_DATAINDEX(pindx)		((2 * (pindx)) + 1)
-#define	H_PAIRKEY(pg, pindx)		P_ENTRY(pg, H_KEYINDEX(pindx))
-#define	H_PAIRDATA(pg, pindx)		P_ENTRY(pg, H_DATAINDEX(pindx))
-#define H_PAIRSIZE(pg, psize, pindx)					\
-	(LEN_HITEM(pg, psize, H_KEYINDEX(pindx)) +			\
-	LEN_HITEM(pg, psize, H_DATAINDEX(pindx)))
-#define LEN_HDATA(p, psize, pindx) LEN_HKEYDATA(p, psize, H_DATAINDEX(pindx))
-#define LEN_HKEY(p, psize, pindx) LEN_HKEYDATA(p, psize, H_KEYINDEX(pindx))
-
-/*
- * The third type is the H_OFFPAGE, represented by the HOFFPAGE structure:
- */
-typedef struct _hoffpage {
-	u_int8_t  type;		/*    00: Page type and delete flag. */
-	u_int8_t  unused[3];	/* 01-03: Padding, unused. */
-	db_pgno_t pgno;		/* 04-07: Offpage page number. */
-	u_int32_t tlen;		/* 08-11: Total length of item. */
-} HOFFPAGE;
-
-#define	HOFFPAGE_PGNO(p)	(((u_int8_t *)p) + SSZ(HOFFPAGE, pgno))
-#define	HOFFPAGE_TLEN(p)	(((u_int8_t *)p) + SSZ(HOFFPAGE, tlen))
-
-/*
- * Page space required to add a new HOFFPAGE item to the page, with and
- * without the index value.
- */
-#define	HOFFPAGE_SIZE		(sizeof(HOFFPAGE))
-#define	HOFFPAGE_PSIZE		(HOFFPAGE_SIZE + sizeof(db_indx_t))
-
-/*
- * The fourth type is H_OFFDUP represented by the HOFFDUP structure:
- */
-typedef struct _hoffdup {
-	u_int8_t  type;		/*    00: Page type and delete flag. */
-	u_int8_t  unused[3];	/* 01-03: Padding, unused. */
-	db_pgno_t pgno;		/* 04-07: Offpage page number. */
-} HOFFDUP;
-#define	HOFFDUP_PGNO(p)		(((u_int8_t *)p) + SSZ(HOFFDUP, pgno))
-
-/*
- * Page space required to add a new HOFFDUP item to the page, with and
- * without the index value.
- */
-#define	HOFFDUP_SIZE		(sizeof(HOFFDUP))
-#define	HOFFDUP_PSIZE		(HOFFDUP_SIZE + sizeof(db_indx_t))
-
-/************************************************************************
- BTREE PAGE LAYOUT
- ************************************************************************/
-
-/* Each index references a group of bytes on the page. */
-#define	B_KEYDATA	1	/* Key/data item. */
-#define	B_DUPLICATE	2	/* Duplicate key/data item. */
-#define	B_OVERFLOW	3	/* Overflow key/data item. */
-
-/*
- * We have to store a deleted entry flag in the page.   The reason is complex,
- * but the simple version is that we can't delete on-page items referenced by
- * a cursor -- the return order of subsequent insertions might be wrong.  The
- * delete flag is an overload of the top bit of the type byte.
- */
-#define	B_DELETE	(0x80)
-#define	B_DCLR(t)	(t) &= ~B_DELETE
-#define	B_DSET(t)	(t) |= B_DELETE
-#define	B_DISSET(t)	((t) & B_DELETE)
-
-#define	B_TYPE(t)	((t) & ~B_DELETE)
-#define	B_TSET(t, type, deleted) {					\
-	(t) = (type);							\
-	if (deleted)							\
-		B_DSET(t);						\
-}
-
-/*
- * The first type is B_KEYDATA, represented by the BKEYDATA structure:
- */
-typedef struct _bkeydata {
-	db_indx_t len;		/* 00-01: Key/data item length. */
-	u_int8_t  type;		/*    02: Page type AND DELETE FLAG. */
-	u_int8_t  data[1];	/* Variable length key/data item. */
-} BKEYDATA;
-
-/* Get a BKEYDATA item for a specific index. */
-#define	GET_BKEYDATA(pg, indx)						\
-	((BKEYDATA *)P_ENTRY(pg, indx))
-
-/*
- * Page space required to add a new BKEYDATA item to the page, with and
- * without the index value.
- */
-#define	BKEYDATA_SIZE(len)						\
-	ALIGN((len) + SSZA(BKEYDATA, data), 4)
-#define	BKEYDATA_PSIZE(len)						\
-	(BKEYDATA_SIZE(len) + sizeof(db_indx_t))
-
-/*
- * The second and third types are B_DUPLICATE and B_OVERFLOW, represented
- * by the BOVERFLOW structure.
- */
-typedef struct _boverflow {
-	db_indx_t unused1;	/* 00-01: Padding, unused. */
-	u_int8_t  type;		/*    02: Page type AND DELETE FLAG. */
-	u_int8_t  unused2;	/*    03: Padding, unused. */
-	db_pgno_t pgno;		/* 04-07: Next page number. */
-	u_int32_t tlen;		/* 08-11: Total length of item. */
-} BOVERFLOW;
-
-/* Get a BOVERFLOW item for a specific index. */
-#define	GET_BOVERFLOW(pg, indx)						\
-	((BOVERFLOW *)P_ENTRY(pg, indx))
-
-/*
- * Page space required to add a new BOVERFLOW item to the page, with and
- * without the index value.
- */
-#define	BOVERFLOW_SIZE							\
-	ALIGN(sizeof(BOVERFLOW), 4)
-#define	BOVERFLOW_PSIZE							\
-	(BOVERFLOW_SIZE + sizeof(db_indx_t))
-
-/*
- * Btree leaf and hash page layouts group indices in sets of two, one
- * for the key and one for the data.  Everything else does it in sets
- * of one to save space.  I use the following macros so that it's real
- * obvious what's going on...
- */
-#define	O_INDX	1
-#define	P_INDX	2
-
-/************************************************************************
- BTREE INTERNAL PAGE LAYOUT
- ************************************************************************/
-
-/*
- * Btree internal entry.
- */
-typedef struct _binternal {
-	db_indx_t  len;		/* 00-01: Key/data item length. */
-	u_int8_t   type;	/*    02: Page type AND DELETE FLAG. */
-	u_int8_t   unused;	/*    03: Padding, unused. */
-	db_pgno_t  pgno;	/* 04-07: Page number of referenced page. */
-	db_recno_t nrecs;	/* 08-11: Subtree record count. */
-	u_int8_t   data[1];	/* Variable length key item. */
-} BINTERNAL;
-
-/* Get a BINTERNAL item for a specific index. */
-#define	GET_BINTERNAL(pg, indx)						\
-	((BINTERNAL *)P_ENTRY(pg, indx))
-
-/*
- * Page space required to add a new BINTERNAL item to the page, with and
- * without the index value.
- */
-#define	BINTERNAL_SIZE(len)						\
-	ALIGN((len) + SSZA(BINTERNAL, data), 4)
-#define	BINTERNAL_PSIZE(len)						\
-	(BINTERNAL_SIZE(len) + sizeof(db_indx_t))
-
-/************************************************************************
- RECNO INTERNAL PAGE LAYOUT
- ************************************************************************/
-
-/*
- * The recno internal entry.
- *
- * XXX
- * Why not fold this into the db_indx_t structure, it's fixed length?
- */
-typedef struct _rinternal {
-	db_pgno_t  pgno;	/* 00-03: Page number of referenced page. */
-	db_recno_t nrecs;	/* 04-07: Subtree record count. */
-} RINTERNAL;
-
-/* Get a RINTERNAL item for a specific index. */
-#define	GET_RINTERNAL(pg, indx)						\
-	((RINTERNAL *)P_ENTRY(pg, indx))
-
-/*
- * Page space required to add a new RINTERNAL item to the page, with and
- * without the index value.
- */
-#define	RINTERNAL_SIZE							\
-	ALIGN(sizeof(RINTERNAL), 4)
-#define	RINTERNAL_PSIZE							\
-	(RINTERNAL_SIZE + sizeof(db_indx_t))
-#endif /* _DB_PAGE_H_ */
diff --git a/db2/include/db_shash.h b/db2/include/db_shash.h
deleted file mode 100644
index 35ade395fc..0000000000
--- a/db2/include/db_shash.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)db_shash.h	10.3 (Sleepycat) 4/10/98
- */
-
-/* Hash Headers */
-typedef	SH_TAILQ_HEAD(hash_head) DB_HASHTAB;
-
-/*
- * HASHLOOKUP --
- *
- * Look up something in a shared memory hash table.  The "elt" argument
- * should be a key, and cmp_func must know how to compare a key to whatever
- * structure it is that appears in the hash table.  The comparison function
- * cmp_func is called as: cmp_func(lookup_elt, table_elt);
- * begin: address of the beginning of the hash table.
- * type: the structure type of the elements that are linked in each bucket.
- * field: the name of the field by which the "type" structures are linked.
- * elt: the item for which we are searching in the hash table.
- * result: the variable into which we'll store the element if we find it.
- * nelems: the number of buckets in the hash table.
- * hash_func: the hash function that operates on elements of the type of elt
- * cmp_func: compare elements of the type of elt with those in the table (of
- *	type "type").
- *
- * If the element is not in the hash table, this macro exits with result
- * set to NULL.
- */
-#define	HASHLOOKUP(begin, type, field, elt, r, n, hash, cmp) do {	\
-	DB_HASHTAB *__bucket;						\
-	u_int32_t __ndx;						\
-									\
-	__ndx = hash(elt) % (n);					\
-	__bucket = &begin[__ndx];					\
-	for (r = SH_TAILQ_FIRST(__bucket, type);			\
-	    r != NULL; r = SH_TAILQ_NEXT(r, field, type))		\
-		if (cmp(elt, r))					\
-			break;						\
-} while(0)
-
-/*
- * HASHINSERT --
- *
- * Insert a new entry into the hash table.  This assumes that lookup has
- * failed; don't call it if you haven't already called HASHLOOKUP.
- * begin: the beginning address of the hash table.
- * type: the structure type of the elements that are linked in each bucket.
- * field: the name of the field by which the "type" structures are linked.
- * elt: the item to be inserted.
- * nelems: the number of buckets in the hash table.
- * hash_func: the hash function that operates on elements of the type of elt
- */
-#define	HASHINSERT(begin, type, field, elt, n, hash) do {		\
-	u_int32_t __ndx;						\
-	DB_HASHTAB *__bucket;						\
-									\
-	__ndx = hash(elt) % (n);					\
-	__bucket = &begin[__ndx];					\
-	SH_TAILQ_INSERT_HEAD(__bucket, elt, field, type);		\
-} while(0)
-
-/*
- * HASHREMOVE --
- *	Remove the entry with a key == elt.
- * begin: address of the beginning of the hash table.
- * type: the structure type of the elements that are linked in each bucket.
- * field: the name of the field by which the "type" structures are linked.
- * elt: the item to be deleted.
- * nelems: the number of buckets in the hash table.
- * hash_func: the hash function that operates on elements of the type of elt
- * cmp_func: compare elements of the type of elt with those in the table (of
- *	type "type").
- */
-#define	HASHREMOVE(begin, type, field, elt, n, hash, cmp) {		\
-	u_int32_t __ndx;						\
-	DB_HASHTAB *__bucket;						\
-	SH_TAILQ_ENTRY *__entp;						\
-									\
-	__ndx = hash(elt) % (n);					\
-	__bucket = &begin[__ndx];					\
-	HASHLOOKUP(begin, type, field, elt, __entp, n, hash, cmp);	\
-	SH_TAILQ_REMOVE(__bucket, __entp, field, type);			\
-}
-
-/*
- * HASHREMOVE_EL --
- *	Given the object "obj" in the table, remove it.
- * begin: address of the beginning of the hash table.
- * type: the structure type of the elements that are linked in each bucket.
- * field: the name of the field by which the "type" structures are linked.
- * obj: the object in the table that we with to delete.
- * nelems: the number of buckets in the hash table.
- * hash_func: the hash function that operates on elements of the type of elt
- */
-#define	HASHREMOVE_EL(begin, type, field, obj, n, hash) {		\
-	u_int32_t __ndx;						\
-	DB_HASHTAB *__bucket;						\
-									\
-	__ndx = hash(obj) % (n);					\
-	__bucket = &begin[__ndx];					\
-	SH_TAILQ_REMOVE(__bucket, obj, field, type);			\
-}
diff --git a/db2/include/db_swap.h b/db2/include/db_swap.h
deleted file mode 100644
index 9f94ed721b..0000000000
--- a/db2/include/db_swap.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- */
-/*
- * Copyright (c) 1990, 1993, 1994
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)db_swap.h	10.5 (Sleepycat) 4/10/98
- */
-
-#ifndef _DB_SWAP_H_
-#define	_DB_SWAP_H_
-
-/*
- * Little endian <==> big endian 32-bit swap macros.
- *	M_32_SWAP	swap a memory location
- *	P_32_COPY	copy potentially unaligned 4 byte quantities
- *	P_32_SWAP	swap a referenced memory location
- */
-#define	M_32_SWAP(a) {							\
-	u_int32_t _tmp;							\
-	_tmp = a;							\
-	((u_int8_t *)&a)[0] = ((u_int8_t *)&_tmp)[3];			\
-	((u_int8_t *)&a)[1] = ((u_int8_t *)&_tmp)[2];			\
-	((u_int8_t *)&a)[2] = ((u_int8_t *)&_tmp)[1];			\
-	((u_int8_t *)&a)[3] = ((u_int8_t *)&_tmp)[0];			\
-}
-#define	P_32_COPY(a, b) {						\
-	((u_int8_t *)b)[0] = ((u_int8_t *)a)[0];			\
-	((u_int8_t *)b)[1] = ((u_int8_t *)a)[1];			\
-	((u_int8_t *)b)[2] = ((u_int8_t *)a)[2];			\
-	((u_int8_t *)b)[3] = ((u_int8_t *)a)[3];			\
-}
-#define	P_32_SWAP(a) {							\
-	u_int32_t _tmp;							\
-	P_32_COPY(a, &_tmp);						\
-	((u_int8_t *)a)[0] = ((u_int8_t *)&_tmp)[3];			\
-	((u_int8_t *)a)[1] = ((u_int8_t *)&_tmp)[2];			\
-	((u_int8_t *)a)[2] = ((u_int8_t *)&_tmp)[1];			\
-	((u_int8_t *)a)[3] = ((u_int8_t *)&_tmp)[0];			\
-}
-
-/*
- * Little endian <==> big endian 16-bit swap macros.
- *	M_16_SWAP	swap a memory location
- *	P_16_COPY	copy potentially unaligned 2 byte quantities
- *	P_16_SWAP	swap a referenced memory location
- */
-#define	M_16_SWAP(a) {							\
-	u_int16_t _tmp;							\
-	_tmp = (u_int16_t)a;						\
-	((u_int8_t *)&a)[0] = ((u_int8_t *)&_tmp)[1];			\
-	((u_int8_t *)&a)[1] = ((u_int8_t *)&_tmp)[0];			\
-}
-#define	P_16_COPY(a, b) {						\
-	((u_int8_t *)b)[0] = ((u_int8_t *)a)[0];			\
-	((u_int8_t *)b)[1] = ((u_int8_t *)a)[1];			\
-}
-#define	P_16_SWAP(a) {							\
-	u_int16_t _tmp;							\
-	P_16_COPY(a, &_tmp);						\
-	((u_int8_t *)a)[0] = ((u_int8_t *)&_tmp)[1];			\
-	((u_int8_t *)a)[1] = ((u_int8_t *)&_tmp)[0];			\
-}
-
-#define	SWAP32(p) {							\
-	P_32_SWAP(p);							\
-	(p) += sizeof(u_int32_t);					\
-}
-#define	SWAP16(p) {							\
-	P_16_SWAP(p);							\
-	(p) += sizeof(u_int16_t);					\
-}
-#endif /* !_DB_SWAP_H_ */
diff --git a/db2/include/hash.h b/db2/include/hash.h
deleted file mode 100644
index 5d85a2a3a7..0000000000
--- a/db2/include/hash.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- */
-/*
- * Copyright (c) 1990, 1993, 1994
- *	Margo Seltzer.  All rights reserved.
- */
-/*
- * Copyright (c) 1990, 1993, 1994
- *	The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Margo Seltzer.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)hash.h	10.14 (Sleepycat) 10/4/98
- */
-
-/* Cursor structure definitions. */
-typedef struct cursor_t {
-	DBC		*dbc;
-
-	/* Per-thread information */
-	DB_LOCK hlock;			/* Metadata page lock. */
-	HASHHDR *hdr;			/* Pointer to meta-data page. */
-	PAGE *split_buf;		/* Temporary buffer for splits. */
-	struct __db_h_stat stats;	/* Hash statistics. */
-
-	/* Hash cursor information */
-	db_pgno_t	bucket;		/* Bucket we are traversing. */
-	db_pgno_t	lbucket;	/* Bucket for which we are locked. */
-	DB_LOCK		lock;		/* Lock held on the current bucket. */
-	PAGE		*pagep;		/* The current page. */
-	db_pgno_t	pgno;		/* Current page number. */
-	db_indx_t	bndx;		/* Index within the current page. */
-	PAGE		*dpagep;	/* Duplicate page pointer. */
-	db_pgno_t	dpgno;		/* Duplicate page number. */
-	db_indx_t	dndx;		/* Index within a duplicate set. */
-	db_indx_t	dup_off;	/* Offset within a duplicate set. */
-	db_indx_t	dup_len;	/* Length of current duplicate. */
-	db_indx_t	dup_tlen;	/* Total length of duplicate entry. */
-	u_int32_t	seek_size;	/* Number of bytes we need for add. */
-	db_pgno_t	seek_found_page;/* Page on which we can insert. */
-
-#define	H_DELETED	0x0001		/* Cursor item is deleted. */
-#define	H_DUPONLY	0x0002		/* Dups only; do not change key. */
-#define	H_EXPAND	0x0004		/* Table expanded. */
-#define	H_ISDUP		0x0008		/* Cursor is within duplicate set. */
-#define	H_NOMORE	0x0010		/* No more entries in bucket. */
-#define	H_OK		0x0020		/* Request succeeded. */
-#define H_DIRTY		0x0040		/* Meta-data page needs to be written */
-#define	H_ORIGINAL	0x0080		/* Bucket lock existed on entry. */
-	u_int32_t	flags;
-} HASH_CURSOR;
-
-#define	IS_VALID(C) ((C)->bucket != BUCKET_INVALID)
-
-#define	SAVE_CURSOR(ORIG, COPY) {					\
-	F_SET((ORIG), H_ORIGINAL);					\
-	*(COPY) = *(ORIG);						\
-}
-
-#define	RESTORE_CURSOR(D, ORIG, COPY, RET) {				\
-	if ((RET) == 0) {						\
-		if ((ORIG)->dbc->txn == NULL &&				\
-		    (COPY)->lock != 0 && (ORIG)->lock != (COPY)->lock)	\
-			(void)lock_put((D)->dbenv->lk_info, (COPY)->lock); \
-	} else {							\
-		if ((ORIG)->dbc->txn == NULL &&				\
-		    (ORIG)->lock != 0 && (ORIG)->lock != (COPY)->lock)	\
-			(void)lock_put((D)->dbenv->lk_info, (ORIG)->lock); \
-		*ORIG = *COPY;						\
-	}								\
-}
-
-/*
- * More interface macros used to get/release the meta data page.
- */
-#define	GET_META(D, I, R) {						\
-	if (F_ISSET(D, DB_AM_LOCKING) &&				\
-	    !F_ISSET((I)->dbc, DBC_RECOVER)) {				\
-		(I)->dbc->lock.pgno = BUCKET_INVALID;			\
-		(R) = lock_get((D)->dbenv->lk_info, (I)->dbc->locker, 	\
-		    0, &(I)->dbc->lock_dbt, DB_LOCK_READ, &(I)->hlock);	\
-		(R) = (R) < 0 ? EAGAIN : (R);				\
-	}								\
-	if ((R) == 0 && 						\
-	    ((R) = __ham_get_page(D, 0, (PAGE **)&((I)->hdr))) != 0 &&  \
-	    (I)->hlock != LOCK_INVALID) {				\
-		(void)lock_put((D)->dbenv->lk_info, (I)->hlock);	\
-		(I)->hlock = LOCK_INVALID;				\
-	}								\
-}
-
-#define	RELEASE_META(D, I) {						\
-	if ((I)->hdr)							\
-		(void)__ham_put_page(D, (PAGE *)(I)->hdr,		\
-		    F_ISSET(I, H_DIRTY) ? 1 : 0);			\
-	(I)->hdr = NULL;						\
-	if (!F_ISSET((I)->dbc, DBC_RECOVER) &&				\
-	    (I)->dbc->txn == NULL && (I)->hlock)			\
-		(void)lock_put((D)->dbenv->lk_info, (I)->hlock);	\
-	(I)->hlock = LOCK_INVALID;					\
-	F_CLR(I, H_DIRTY);						\
-}
-
-#define	DIRTY_META(D, I, R) {						\
-	if (F_ISSET(D, DB_AM_LOCKING) &&				\
-	    !F_ISSET((I)->dbc, DBC_RECOVER)) {				\
-		DB_LOCK _tmp;						\
-		(I)->dbc->lock.pgno = BUCKET_INVALID;			\
-	    	if (((R) = lock_get((D)->dbenv->lk_info,		\
-	    	    (I)->dbc->locker, 0, &(I)->dbc->lock_dbt,		\
-	    	    DB_LOCK_WRITE, &_tmp)) == 0)			\
-			(R) = lock_put((D)->dbenv->lk_info, (I)->hlock);\
-		else if ((R) < 0)					\
-			(R) = EAGAIN;					\
-		(I)->hlock = _tmp;					\
-	}								\
-	F_SET((I), H_DIRTY);						\
-}
-
-/* Test string. */
-#define	CHARKEY			"%$sniglet^&"
-
-/* Overflow management */
-/*
- * Overflow page numbers are allocated per split point.  At each doubling of
- * the table, we can allocate extra pages.  We keep track of how many pages
- * we've allocated at each point to calculate bucket to page number mapping.
- */
-#define	BUCKET_TO_PAGE(I, B) \
-	((B) + 1 + ((B) ? (I)->hdr->spares[__db_log2((B)+1)-1] : 0))
-
-#define	PGNO_OF(I, S, O) (BUCKET_TO_PAGE((I), (1 << (S)) - 1) + (O))
-
-/* Constraints about number of pages and how much data goes on a page. */
-
-#define	MAX_PAGES(H)	UINT32_T_MAX
-#define	MINFILL		4
-#define	ISBIG(I, N)	(((N) > ((I)->hdr->pagesize / MINFILL)) ? 1 : 0)
-
-/* Shorthands for accessing structure */
-#define	NDX_INVALID	0xFFFF
-#define	BUCKET_INVALID	0xFFFFFFFF
-
-/* On page duplicates are stored as a string of size-data-size triples. */
-#define	DUP_SIZE(len)	((len) + 2 * sizeof(db_indx_t))
-
-/* Log messages types (these are subtypes within a record type) */
-#define	PAIR_KEYMASK		0x1
-#define	PAIR_DATAMASK		0x2
-#define	PAIR_ISKEYBIG(N)	(N & PAIR_KEYMASK)
-#define	PAIR_ISDATABIG(N)	(N & PAIR_DATAMASK)
-#define	OPCODE_OF(N)    	(N & ~(PAIR_KEYMASK | PAIR_DATAMASK))
-
-#define	PUTPAIR		0x20
-#define	DELPAIR		0x30
-#define	PUTOVFL		0x40
-#define	DELOVFL		0x50
-#define	ALLOCPGNO	0x60
-#define	DELPGNO		0x70
-#define	SPLITOLD	0x80
-#define	SPLITNEW	0x90
-
-#include "hash_auto.h"
-#include "hash_ext.h"
-#include "db_am.h"
-#include "common_ext.h"
diff --git a/db2/include/hash_auto.h b/db2/include/hash_auto.h
deleted file mode 100644
index 2b8aea8d86..0000000000
--- a/db2/include/hash_auto.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* Do not edit: automatically built by dist/db_gen.sh. */
-#ifndef ham_AUTO_H
-#define ham_AUTO_H
-
-#define	DB_ham_insdel	(DB_ham_BEGIN + 1)
-
-typedef struct _ham_insdel_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	u_int32_t	ndx;
-	DB_LSN 	pagelsn;
-	DBT	key;
-	DBT	data;
-} __ham_insdel_args;
-
-
-#define	DB_ham_newpage	(DB_ham_BEGIN + 2)
-
-typedef struct _ham_newpage_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	u_int32_t	fileid;
-	db_pgno_t	prev_pgno;
-	DB_LSN 	prevlsn;
-	db_pgno_t	new_pgno;
-	DB_LSN 	pagelsn;
-	db_pgno_t	next_pgno;
-	DB_LSN 	nextlsn;
-} __ham_newpage_args;
-
-
-#define	DB_ham_splitmeta	(DB_ham_BEGIN + 3)
-
-typedef struct _ham_splitmeta_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	u_int32_t	bucket;
-	u_int32_t	ovflpoint;
-	u_int32_t	spares;
-	DB_LSN 	metalsn;
-} __ham_splitmeta_args;
-
-
-#define	DB_ham_splitdata	(DB_ham_BEGIN + 4)
-
-typedef struct _ham_splitdata_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	u_int32_t	opcode;
-	db_pgno_t	pgno;
-	DBT	pageimage;
-	DB_LSN 	pagelsn;
-} __ham_splitdata_args;
-
-
-#define	DB_ham_replace	(DB_ham_BEGIN + 5)
-
-typedef struct _ham_replace_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	u_int32_t	ndx;
-	DB_LSN 	pagelsn;
-	int32_t	off;
-	DBT	olditem;
-	DBT	newitem;
-	u_int32_t	makedup;
-} __ham_replace_args;
-
-
-#define	DB_ham_newpgno	(DB_ham_BEGIN + 6)
-
-typedef struct _ham_newpgno_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	db_pgno_t	free_pgno;
-	u_int32_t	old_type;
-	db_pgno_t	old_pgno;
-	u_int32_t	new_type;
-	DB_LSN 	pagelsn;
-	DB_LSN 	metalsn;
-} __ham_newpgno_args;
-
-
-#define	DB_ham_ovfl	(DB_ham_BEGIN + 7)
-
-typedef struct _ham_ovfl_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	start_pgno;
-	u_int32_t	npages;
-	db_pgno_t	free_pgno;
-	u_int32_t	ovflpoint;
-	DB_LSN 	metalsn;
-} __ham_ovfl_args;
-
-
-#define	DB_ham_copypage	(DB_ham_BEGIN + 8)
-
-typedef struct _ham_copypage_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	fileid;
-	db_pgno_t	pgno;
-	DB_LSN 	pagelsn;
-	db_pgno_t	next_pgno;
-	DB_LSN 	nextlsn;
-	db_pgno_t	nnext_pgno;
-	DB_LSN 	nnextlsn;
-	DBT	page;
-} __ham_copypage_args;
-
-#endif
diff --git a/db2/include/hash_ext.h b/db2/include/hash_ext.h
deleted file mode 100644
index fe17dc7b39..0000000000
--- a/db2/include/hash_ext.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _hash_ext_h_
-#define _hash_ext_h_
-int __ham_open __P((DB *, DB_INFO *));
-int __ham_close __P((DB *));
-int __ham_c_init __P((DBC *));
-u_int32_t __ham_call_hash __P((HASH_CURSOR *, u_int8_t *, int32_t));
-int __ham_init_dbt __P((DBT *, u_int32_t, void **, u_int32_t *));
-void __ham_c_update
-   __P((HASH_CURSOR *, db_pgno_t, u_int32_t, int, int));
-int __ham_insdel_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t, db_pgno_t, u_int32_t,
-    DB_LSN *, const DBT *, const DBT *));
-int __ham_insdel_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_insdel_read __P((void *, __ham_insdel_args **));
-int __ham_newpage_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t, db_pgno_t, DB_LSN *,
-    db_pgno_t, DB_LSN *, db_pgno_t, DB_LSN *));
-int __ham_newpage_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_newpage_read __P((void *, __ham_newpage_args **));
-int __ham_splitmeta_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t, u_int32_t, u_int32_t,
-    DB_LSN *));
-int __ham_splitmeta_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_splitmeta_read __P((void *, __ham_splitmeta_args **));
-int __ham_splitdata_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t, db_pgno_t, const DBT *,
-    DB_LSN *));
-int __ham_splitdata_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_splitdata_read __P((void *, __ham_splitdata_args **));
-int __ham_replace_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, u_int32_t, DB_LSN *,
-    int32_t, const DBT *, const DBT *, u_int32_t));
-int __ham_replace_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_replace_read __P((void *, __ham_replace_args **));
-int __ham_newpgno_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t, db_pgno_t, db_pgno_t,
-    u_int32_t, db_pgno_t, u_int32_t, DB_LSN *,
-    DB_LSN *));
-int __ham_newpgno_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_newpgno_read __P((void *, __ham_newpgno_args **));
-int __ham_ovfl_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, u_int32_t, db_pgno_t,
-    u_int32_t, DB_LSN *));
-int __ham_ovfl_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_ovfl_read __P((void *, __ham_ovfl_args **));
-int __ham_copypage_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, db_pgno_t, DB_LSN *, db_pgno_t,
-    DB_LSN *, db_pgno_t, DB_LSN *, const DBT *));
-int __ham_copypage_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_copypage_read __P((void *, __ham_copypage_args **));
-int __ham_init_print __P((DB_ENV *));
-int __ham_init_recover __P((DB_ENV *));
-int __ham_pgin __P((db_pgno_t, void *, DBT *));
-int __ham_pgout __P((db_pgno_t, void *, DBT *));
-int __ham_mswap __P((void *));
-int __ham_add_dup __P((DBC *, DBT *, u_int32_t));
-void __ham_move_offpage __P((DBC *, PAGE *, u_int32_t, db_pgno_t));
-void __ham_dsearch __P((DBC *, DBT *, u_int32_t *, int *));
-u_int32_t __ham_func2 __P((const void *, u_int32_t));
-u_int32_t __ham_func3 __P((const void *, u_int32_t));
-u_int32_t __ham_func4 __P((const void *, u_int32_t));
-u_int32_t __ham_func5 __P((const void *, u_int32_t));
-int __ham_item __P((DBC *, db_lockmode_t));
-int __ham_item_reset __P((DBC *));
-void __ham_item_init __P((HASH_CURSOR *));
-int __ham_item_done __P((DBC *, int));
-int __ham_item_last __P((DBC *, db_lockmode_t));
-int __ham_item_first __P((DBC *, db_lockmode_t));
-int __ham_item_prev __P((DBC *, db_lockmode_t));
-int __ham_item_next __P((DBC *, db_lockmode_t));
-void __ham_putitem __P((PAGE *p, const DBT *, int));
-void __ham_reputpair
-   __P((PAGE *p, u_int32_t, u_int32_t, const DBT *, const DBT *));
-int __ham_del_pair __P((DBC *, int));
-int __ham_replpair __P((DBC *, DBT *, u_int32_t));
-void __ham_onpage_replace __P((PAGE *, size_t, u_int32_t, int32_t,
-    int32_t,  DBT *));
-int __ham_split_page __P((DBC *, u_int32_t, u_int32_t));
-int __ham_add_el __P((DBC *, const DBT *, const DBT *, int));
-void __ham_copy_item __P((size_t, PAGE *, u_int32_t, PAGE *));
-int __ham_add_ovflpage __P((DBC *, PAGE *, int, PAGE **));
-int __ham_new_page __P((DB *, u_int32_t, u_int32_t, PAGE **));
-int __ham_del_page __P((DBC *, PAGE *));
-int __ham_put_page __P((DB *, PAGE *, int32_t));
-int __ham_dirty_page __P((DB *, PAGE *));
-int __ham_get_page __P((DB *, db_pgno_t, PAGE **));
-int __ham_overflow_page
-    __P((DBC *, u_int32_t, PAGE **));
-#ifdef DEBUG
-db_pgno_t __bucket_to_page __P((HASH_CURSOR *, db_pgno_t));
-#endif
-void __ham_init_ovflpages __P((DBC *));
-int __ham_get_cpage __P((DBC *, db_lockmode_t));
-int __ham_next_cpage __P((DBC *, db_pgno_t, int, u_int32_t));
-void __ham_dpair __P((DB *, PAGE *, u_int32_t));
-int __ham_insdel_recover
-    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_newpage_recover
-    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_replace_recover
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_newpgno_recover
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_splitmeta_recover
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_splitdata_recover
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_ovfl_recover
-    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_copypage_recover
-  __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __ham_stat __P((DB *, void *, void *(*)(size_t), u_int32_t));
-#endif /* _hash_ext_h_ */
diff --git a/db2/include/lock.h b/db2/include/lock.h
deleted file mode 100644
index 13364ca7a5..0000000000
--- a/db2/include/lock.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)lock.h	10.17 (Sleepycat) 1/3/99
- */
-
-typedef struct __db_lockobj	DB_LOCKOBJ;
-
-#define DB_DEFAULT_LOCK_FILE	"__db_lock.share"
-
-#ifndef DB_LOCK_DEFAULT_N
-#define DB_LOCK_DEFAULT_N	5000	/* Default # of locks in region. */
-#endif
-
-/*
- * The locker id space is divided between the transaction manager and the lock
- * manager.  Lockid's start at 0 and go to DB_LOCK_MAXID.  Txn Id's start at
- * DB_LOCK_MAXID + 1 and go up to TXN_INVALID.
- */
-#define DB_LOCK_MAXID		0x7fffffff
-
-/* Check for region catastrophic shutdown. */
-#define	LOCK_PANIC_CHECK(lt) {						\
-	if ((lt)->region->hdr.panic)					\
-		return (DB_RUNRECOVERY);				\
-}
-
-/*
- * The lock region consists of:
- *	The DB_LOCKREGION structure (sizeof(DB_LOCKREGION)).
- *	The conflict matrix of nmodes * nmodes bytes (nmodes * nmodes).
- *	The hash table for object lookup (hashsize * sizeof(DB_OBJ *)).
- *	The locks themselves (maxlocks * sizeof(struct __db_lock).
- *	The objects being locked (maxlocks * sizeof(DB_OBJ)).
- *	String space to represent the DBTs that are the objects being locked.
- */
-struct __db_lockregion {
-	RLAYOUT		hdr;		/* Shared region header. */
-	u_int32_t	magic;		/* lock magic number */
-	u_int32_t	version;	/* version number */
-	u_int32_t	id;		/* unique id generator */
-	u_int32_t	need_dd;	/* flag for deadlock detector */
-	u_int32_t	detect;		/* run dd on every conflict */
-	SH_TAILQ_HEAD(lock_header) free_locks;	/* free lock header */
-	SH_TAILQ_HEAD(obj_header) free_objs;	/* free obj header */
-	u_int32_t	maxlocks;	/* maximum number of locks in table */
-	u_int32_t	table_size;	/* size of hash table */
-	u_int32_t	nmodes;		/* number of lock modes */
-	u_int32_t	numobjs;	/* number of objects */
-	u_int32_t	nlockers;	/* number of lockers */
-	size_t		increment;	/* how much to grow region */
-	size_t		hash_off;	/* offset of hash table */
-	size_t		mem_off;	/* offset of memory region */
-	size_t		mem_bytes;	/* number of bytes in memory region */
-	u_int32_t	nconflicts;	/* number of lock conflicts */
-	u_int32_t	nrequests;	/* number of lock gets */
-	u_int32_t	nreleases;	/* number of lock puts */
-	u_int32_t	ndeadlocks;	/* number of deadlocks */
-};
-
-/* Macros to lock/unlock the region. */
-#define	LOCK_LOCKREGION(lt)						\
-	(void)__db_mutex_lock(&(lt)->region->hdr.lock, (lt)->reginfo.fd)
-#define	UNLOCK_LOCKREGION(lt)						\
-	(void)__db_mutex_unlock(&(lt)->region->hdr.lock, (lt)->reginfo.fd)
-
-/*
- * Since we will be keeping DBTs in shared memory, we need the equivalent
- * of a DBT that will work in shared memory.
- */
-typedef struct __sh_dbt {
-	u_int32_t size;
-	ssize_t off;
-} SH_DBT;
-
-#define SH_DBT_PTR(p)	((void *)(((u_int8_t *)(p)) + (p)->off))
-
-struct __db_lockobj {
-	SH_DBT	lockobj;		/* Identifies object locked. */
-	SH_TAILQ_ENTRY links;		/* Links for free list. */
-	union {
-		SH_TAILQ_HEAD(_wait) _waiters;	/* List of waiting locks. */
-		u_int32_t	_dd_id;		/* Deadlock detector id. */
-	} wlinks;
-	union {
-		SH_LIST_HEAD(_held) _heldby;	/* Locks held by this locker. */
-		SH_TAILQ_HEAD(_hold) _holders;	/* List of held locks. */
-	} dlinks;
-#define	DB_LOCK_OBJTYPE		1
-#define	DB_LOCK_LOCKER		2
-					/* Allocate room in the object to
-					 * hold typical DB lock structures
-					 * so that we do not have to
-					 * allocate them from shalloc. */
-	u_int8_t objdata[sizeof(struct __db_ilock)];
-	u_int8_t type;			/* Real object or locker id. */
-};
-
-#define dd_id	wlinks._dd_id
-#define	waiters	wlinks._waiters
-#define	holders	dlinks._holders
-#define	heldby	dlinks._heldby
-
-/*
- * The lock table is the per-process cookie returned from a lock_open call.
- */
-struct __db_locktab {
-	DB_ENV		*dbenv;		/* Environment. */
-	REGINFO		 reginfo;	/* Region information. */
-	DB_LOCKREGION	*region;	/* Address of shared memory region. */
-	DB_HASHTAB 	*hashtab; 	/* Beginning of hash table. */
-	void		*mem;		/* Beginning of string space. */
-	u_int8_t 	*conflicts;	/* Pointer to conflict matrix. */
-};
-
-/* Test for conflicts. */
-#define CONFLICTS(T, HELD, WANTED) \
-	T->conflicts[HELD * T->region->nmodes + WANTED]
-
-/*
- * Resources in the lock region.  Used to indicate which resource
- * is running low when we need to grow the region.
- */
-typedef enum {
-	DB_LOCK_MEM, DB_LOCK_OBJ, DB_LOCK_LOCK
-} db_resource_t;
-
-struct __db_lock {
-	/*
-	 * Wait on mutex to wait on lock.  You reference your own mutex with
-	 * ID 0 and others reference your mutex with ID 1.
-	 */
-	db_mutex_t	mutex;
-
-	u_int32_t	holder;		/* Who holds this lock. */
-	SH_TAILQ_ENTRY	links;		/* Free or holder/waiter list. */
-	SH_LIST_ENTRY	locker_links;	/* List of locks held by a locker. */
-	u_int32_t	refcount;	/* Reference count the lock. */
-	db_lockmode_t	mode;		/* What sort of lock. */
-	ssize_t		obj;		/* Relative offset of object struct. */
-	size_t		txnoff;		/* Offset of holding transaction. */
-	db_status_t	status;		/* Status of this lock. */
-};
-
-/*
- * This is a serious layering violation.  To support nested transactions, we
- * need to be able to tell that a lock is held by a transaction (as opposed to
- * some other locker) and to be able to traverse the parent/descendent chain.
- * In order to do this, each lock held by a transaction maintains a reference
- * to the shared memory transaction structure so it can be accessed during lock
- * promotion.  As the structure is in shared memory, we cannot store a pointer
- * to it, so we use the offset within the region.  As nothing lives at region
- * offset 0, we use that to indicate that there is no transaction associated
- * with the current lock.
- */
-#define TXN_IS_HOLDING(L)	((L)->txnoff != 0 /* INVALID_REG_OFFSET */)
-
-/*
- * We cannot return pointers to the user (else we cannot easily grow regions),
- * so we return offsets in the region.  These must be converted to and from
- * regular pointers.  Always use the macros below.
- */
-#define OFFSET_TO_LOCK(lt, off)	\
-	((struct __db_lock *)((u_int8_t *)((lt)->region) + (off)))
-#define LOCK_TO_OFFSET(lt, lock) \
-	((size_t)((u_int8_t *)(lock) - (u_int8_t *)lt->region))
-#define OFFSET_TO_OBJ(lt, off)	\
-	((DB_LOCKOBJ *)((u_int8_t *)((lt)->region) + (off)))
-#define OBJ_TO_OFFSET(lt, obj) \
-	((size_t)((u_int8_t *)(obj) - (u_int8_t *)lt->region))
-
-/*
- * The lock header contains the region structure and the conflict matrix.
- * Aligned to a large boundary because we don't know what the underlying
- * type of the hash table elements are.
- */
-#define LOCK_HASH_ALIGN	8
-#define LOCK_HEADER_SIZE(M)	\
-	((size_t)(sizeof(DB_LOCKREGION) + ALIGN((M * M), LOCK_HASH_ALIGN)))
-
-/*
- * For the full region, we need to add the locks, the objects, the hash table
- * and the string space (which is 16 bytes per lock).
- */
-#define STRING_SIZE(N) (16 * N)
-
-#define LOCK_REGION_SIZE(M, N, H)					\
-	(ALIGN(LOCK_HEADER_SIZE(M) +					\
-	(H) * sizeof(DB_HASHTAB), MUTEX_ALIGNMENT) +			\
-	(N) * ALIGN(sizeof(struct __db_lock), MUTEX_ALIGNMENT) +	\
-	ALIGN((N) * sizeof(DB_LOCKOBJ), sizeof(size_t)) +		\
-	ALIGN(STRING_SIZE(N), sizeof(size_t)))
-
-#include "lock_ext.h"
diff --git a/db2/include/lock_ext.h b/db2/include/lock_ext.h
deleted file mode 100644
index ce7994774a..0000000000
--- a/db2/include/lock_ext.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _lock_ext_h_
-#define _lock_ext_h_
-int __lock_is_locked
-   __P((DB_LOCKTAB *, u_int32_t, DBT *, db_lockmode_t));
-void __lock_printlock __P((DB_LOCKTAB *, struct __db_lock *, int));
-int __lock_getobj  __P((DB_LOCKTAB *,
-    u_int32_t, const DBT *, u_int32_t type, DB_LOCKOBJ **));
-int __lock_downgrade __P((DB_LOCKTAB *,
-    DB_LOCK, db_lockmode_t, u_int32_t));
-void __lock_panic __P((DB_ENV *));
-int __lock_validate_region __P((DB_LOCKTAB *));
-int __lock_grow_region __P((DB_LOCKTAB *, int, size_t));
-void __lock_dump_region __P((DB_LOCKTAB *, char *, FILE *));
-int __lock_cmp __P((const DBT *, DB_LOCKOBJ *));
-int __lock_locker_cmp __P((u_int32_t, DB_LOCKOBJ *));
-u_int32_t __lock_ohash __P((const DBT *));
-u_int32_t __lock_lhash __P((DB_LOCKOBJ *));
-u_int32_t __lock_locker_hash __P((u_int32_t));
-#endif /* _lock_ext_h_ */
diff --git a/db2/include/log.h b/db2/include/log.h
deleted file mode 100644
index 50309085aa..0000000000
--- a/db2/include/log.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)log.h	10.30 (Sleepycat) 10/11/98
- */
-
-#ifndef _LOG_H_
-#define	_LOG_H_
-
-struct __fname;		typedef struct __fname FNAME;
-struct __hdr;		typedef struct __hdr HDR;
-struct __log;		typedef struct __log LOG;
-struct __log_persist;	typedef struct __log_persist LOGP;
-
-#ifndef MAXLFNAME
-#define	LFPREFIX	"log."		/* Log file name prefix. */
-#define	LFNAME		"log.%010d"	/* Log file name template. */
-#define	LFNAME_V1	"log.%05d"	/* Log file name template, rev 1. */
-#define	MAXLFNAME	2000000000	/* Maximum log file name. */
-#endif
-					/* Default log name. */
-#define DB_DEFAULT_LOG_FILE	"__db_log.share"
-
-#define	DEFAULT_MAX	(10 * MEGABYTE)	/* 10 Mb. */
-
-/* Macros to lock/unlock the region and threads. */
-#define	LOCK_LOGTHREAD(dblp)						\
-	if (F_ISSET(dblp, DB_AM_THREAD))				\
-		(void)__db_mutex_lock((dblp)->mutexp, -1)
-#define	UNLOCK_LOGTHREAD(dblp)						\
-	if (F_ISSET(dblp, DB_AM_THREAD))				\
-		(void)__db_mutex_unlock((dblp)->mutexp, -1);
-#define	LOCK_LOGREGION(dblp)						\
-	(void)__db_mutex_lock(&((RLAYOUT *)(dblp)->lp)->lock,		\
-	    (dblp)->reginfo.fd)
-#define	UNLOCK_LOGREGION(dblp)						\
-	(void)__db_mutex_unlock(&((RLAYOUT *)(dblp)->lp)->lock,		\
-	    (dblp)->reginfo.fd)
-
-/* Check for region catastrophic shutdown. */
-#define	LOG_PANIC_CHECK(dblp) {						\
-	if ((dblp)->lp->rlayout.panic)					\
-		return (DB_RUNRECOVERY);				\
-}
-
-/*
- * The per-process table that maps log file-id's to DB structures.
- */
-typedef	struct __db_entry {
-	DB	 *dbp;			/* Associated DB structure. */
-	u_int32_t refcount;		/* Reference counted. */
-	int	  deleted;		/* File was not found during open. */
-} DB_ENTRY;
-
-/*
- * DB_LOG
- *	Per-process log structure.
- */
-struct __db_log {
-/* These fields need to be protected for multi-threaded support. */
-	db_mutex_t	*mutexp;	/* Mutex for thread protection. */
-
-	DB_ENTRY *dbentry;		/* Recovery file-id mapping. */
-#define	DB_GROW_SIZE	64
-	u_int32_t dbentry_cnt;		/* Entries.  Grows by DB_GROW_SIZE. */
-
-/*
- * These fields are always accessed while the region lock is held, so they do
- * not have to be protected by the thread lock as well OR, they are only used
- * when threads are not being used, i.e. most cursor operations are disallowed
- * on threaded logs.
- */
-	u_int32_t lfname;		/* Log file "name". */
-	int	  lfd;			/* Log file descriptor. */
-
-	DB_LSN	  c_lsn;		/* Cursor: current LSN. */
-	DBT	  c_dbt;		/* Cursor: return DBT structure. */
-	int	  c_fd;			/* Cursor: file descriptor. */
-	u_int32_t c_off;		/* Cursor: previous record offset. */
-	u_int32_t c_len;		/* Cursor: current record length. */
-
-/* These fields are not protected. */
-	LOG	 *lp;			/* Address of the shared LOG. */
-
-	DB_ENV	 *dbenv;		/* Reference to error information. */
-	REGINFO	  reginfo;		/* Region information. */
-
-	void     *addr;			/* Address of shalloc() region. */
-
-	char	 *dir;			/* Directory argument. */
-
-/*
- * These fields are used by XA; since XA forbids threaded execution, these
- * do not have to be protected.
- */
-	void 	*xa_info;		/* Committed transaction list that
-					 * has to be carried between calls
-					 * to xa_recover. */
-	DB_LSN	xa_lsn;			/* Position of an XA recovery scan. */
-	DB_LSN	xa_first;		/* LSN to which we need to roll back
-					   for this XA recovery scan. */
-
-	/*
-	 * !!!
-	 * Currently used to hold:
-	 *	DB_AM_THREAD	(a DB flag)
-	 *	DBC_RECOVER	(a DBC flag)
-	 * If they are ever the same bits, we're in serious trouble.
-	 */
-#if DB_AM_THREAD == DBC_RECOVER
-	DB_AM_THREAD, DBC_RECOVER, FLAG MISMATCH
-#endif
-	u_int32_t flags;
-};
-
-/*
- * HDR --
- *	Log record header.
- */
-struct __hdr {
-	u_int32_t prev;			/* Previous offset. */
-	u_int32_t cksum;		/* Current checksum. */
-	u_int32_t len;			/* Current length. */
-};
-
-struct __log_persist {
-	u_int32_t magic;		/* DB_LOGMAGIC */
-	u_int32_t version;		/* DB_LOGVERSION */
-
-	u_int32_t lg_max;		/* Maximum file size. */
-	int	  mode;			/* Log file mode. */
-};
-
-/*
- * LOG --
- *	Shared log region.  One of these is allocated in shared memory,
- *	and describes the log.
- */
-struct __log {
-	RLAYOUT	  rlayout;		/* General region information. */
-
-	LOGP	  persist;		/* Persistent information. */
-
-	SH_TAILQ_HEAD(__fq) fq;		/* List of file names. */
-
-	/*
-	 * The lsn LSN is the file offset that we're about to write and which
-	 * we will return to the user.
-	 */
-	DB_LSN	  lsn;			/* LSN at current file offset. */
-
-	/*
-	 * The s_lsn LSN is the last LSN that we know is on disk, not just
-	 * written, but synced.
-	 */
-	DB_LSN	  s_lsn;		/* LSN of the last sync. */
-
-	u_int32_t len;			/* Length of the last record. */
-
-	u_int32_t w_off;		/* Current write offset in the file. */
-
-	DB_LSN	  chkpt_lsn;		/* LSN of the last checkpoint. */
-	time_t	  chkpt;		/* Time of the last checkpoint. */
-
-	DB_LOG_STAT stat;		/* Log statistics. */
-
-	/*
-	 * The f_lsn LSN is the LSN (returned to the user) that "owns" the
-	 * first byte of the buffer.  If the record associated with the LSN
-	 * spans buffers, it may not reflect the physical file location of
-	 * the first byte of the buffer.
-	 */
-	DB_LSN	  f_lsn;		/* LSN of first byte in the buffer. */
-	size_t	  b_off;		/* Current offset in the buffer. */
-	u_int8_t buf[4 * 1024];		/* Log buffer. */
-};
-
-/*
- * FNAME --
- *	File name and id.
- */
-struct __fname {
-	SH_TAILQ_ENTRY q;		/* File name queue. */
-
-	u_int16_t ref;			/* Reference count. */
-
-	u_int32_t id;			/* Logging file id. */
-	DBTYPE	  s_type;		/* Saved DB type. */
-
-	size_t	  name_off;		/* Name offset. */
-	u_int8_t  ufid[DB_FILE_ID_LEN];	/* Unique file id. */
-};
-
-/* File open/close register log record opcodes. */
-#define	LOG_CHECKPOINT	1		/* Checkpoint: file name/id dump. */
-#define	LOG_CLOSE	2		/* File close. */
-#define	LOG_OPEN	3		/* File open. */
-
-#include "log_auto.h"
-#include "log_ext.h"
-#endif /* _LOG_H_ */
diff --git a/db2/include/log_auto.h b/db2/include/log_auto.h
deleted file mode 100644
index 5717e140d7..0000000000
--- a/db2/include/log_auto.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Do not edit: automatically built by dist/db_gen.sh. */
-#ifndef log_AUTO_H
-#define log_AUTO_H
-
-#define	DB_log_register	(DB_log_BEGIN + 1)
-
-typedef struct _log_register_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	DBT	name;
-	DBT	uid;
-	u_int32_t	id;
-	DBTYPE	ftype;
-} __log_register_args;
-
-#endif
diff --git a/db2/include/log_ext.h b/db2/include/log_ext.h
deleted file mode 100644
index 842a3f4265..0000000000
--- a/db2/include/log_ext.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _log_ext_h_
-#define _log_ext_h_
-void __log_panic __P((DB_ENV *));
-int __log_find __P((DB_LOG *, int, int *));
-int __log_valid __P((DB_LOG *, u_int32_t, int));
-int __log_register_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, const DBT *, const DBT *, u_int32_t,
-    DBTYPE));
-int __log_register_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __log_register_read __P((void *, __log_register_args **));
-int __log_init_print __P((DB_ENV *));
-int __log_init_recover __P((DB_ENV *));
-int __log_findckp __P((DB_LOG *, DB_LSN *));
-int __log_get __P((DB_LOG *, DB_LSN *, DBT *, u_int32_t, int));
-int __log_put __P((DB_LOG *, DB_LSN *, const DBT *, u_int32_t));
-int __log_name __P((DB_LOG *, u_int32_t, char **, int *, u_int32_t));
-int __log_register_recover
-    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __log_add_logid __P((DB_LOG *, DB *, u_int32_t));
-int __db_fileid_to_db __P((DB_LOG *, DB **, u_int32_t));
-void __log_close_files __P((DB_LOG *));
-void __log_rem_logid __P((DB_LOG *, u_int32_t));
-#endif /* _log_ext_h_ */
diff --git a/db2/include/mp.h b/db2/include/mp.h
deleted file mode 100644
index 904bccfe98..0000000000
--- a/db2/include/mp.h
+++ /dev/null
@@ -1,299 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)mp.h	10.37 (Sleepycat) 1/1/99
- */
-
-struct __bh;		typedef struct __bh BH;
-struct __db_mpreg;	typedef struct __db_mpreg DB_MPREG;
-struct __mpool;		typedef struct __mpool MPOOL;
-struct __mpoolfile;	typedef struct __mpoolfile MPOOLFILE;
-
-					/* Default mpool name. */
-#define	DB_DEFAULT_MPOOL_FILE	"__db_mpool.share"
-
-/*
- * We default to 256K (32 8K pages) if the user doesn't specify, and
- * require a minimum of 20K.
- */
-#ifndef	DB_CACHESIZE_DEF
-#define	DB_CACHESIZE_DEF	(256 * 1024)
-#endif
-#define	DB_CACHESIZE_MIN	( 20 * 1024)
-
-#define	INVALID		0		/* Invalid shared memory offset. */
-
-/*
- * There are three ways we do locking in the mpool code:
- *
- * Locking a handle mutex to provide concurrency for DB_THREAD operations.
- * Locking the region mutex to provide mutual exclusion while reading and
- *    writing structures in the shared region.
- * Locking buffer header mutexes during I/O.
- *
- * The first will not be further described here.  We use the shared mpool
- * region lock to provide mutual exclusion while reading/modifying all of
- * the data structures, including the buffer headers.  We use a per-buffer
- * header lock to wait on buffer I/O.  The order of locking is as follows:
- *
- * Searching for a buffer:
- *	Acquire the region lock.
- *	Find the buffer header.
- *	Increment the reference count (guarantee the buffer stays).
- *	While the BH_LOCKED flag is set (I/O is going on) {
- *	    Release the region lock.
- *		Explicitly yield the processor if it's not the first pass
- *		through this loop, otherwise, we can simply spin because
- *		we'll be simply switching between the two locks.
- *	    Request the buffer lock.
- *	    The I/O will complete...
- *	    Acquire the buffer lock.
- *	    Release the buffer lock.
- *	    Acquire the region lock.
- *	}
- *	Return the buffer.
- *
- * Reading/writing a buffer:
- *	Acquire the region lock.
- *	Find/create the buffer header.
- *	If reading, increment the reference count (guarantee the buffer stays).
- *	Set the BH_LOCKED flag.
- *	Acquire the buffer lock (guaranteed not to block).
- *	Release the region lock.
- *	Do the I/O and/or initialize the buffer contents.
- *	Release the buffer lock.
- *	    At this point, the buffer lock is available, but the logical
- *	    operation (flagged by BH_LOCKED) is not yet completed.  For
- *	    this reason, among others, threads checking the BH_LOCKED flag
- *	    must loop around their test.
- *	Acquire the region lock.
- *	Clear the BH_LOCKED flag.
- *	Release the region lock.
- *	Return/discard the buffer.
- *
- * Pointers to DB_MPOOL, MPOOL, DB_MPOOLFILE and MPOOLFILE structures are not
- * reacquired when a region lock is reacquired because they couldn't have been
- * closed/discarded and because they never move in memory.
- */
-#define	LOCKINIT(dbmp, mutexp)						\
-	if (F_ISSET(dbmp, MP_LOCKHANDLE | MP_LOCKREGION))		\
-		(void)__db_mutex_init(mutexp,				\
-		    MUTEX_LOCK_OFFSET((dbmp)->reginfo.addr, mutexp))
-
-#define	LOCKHANDLE(dbmp, mutexp)					\
-	if (F_ISSET(dbmp, MP_LOCKHANDLE))				\
-		(void)__db_mutex_lock(mutexp, (dbmp)->reginfo.fd)
-#define	UNLOCKHANDLE(dbmp, mutexp)					\
-	if (F_ISSET(dbmp, MP_LOCKHANDLE))				\
-		(void)__db_mutex_unlock(mutexp, (dbmp)->reginfo.fd)
-
-#define	LOCKREGION(dbmp)						\
-	if (F_ISSET(dbmp, MP_LOCKREGION))				\
-		(void)__db_mutex_lock(&((RLAYOUT *)(dbmp)->mp)->lock,	\
-		    (dbmp)->reginfo.fd)
-#define	UNLOCKREGION(dbmp)						\
-	if (F_ISSET(dbmp, MP_LOCKREGION))				\
-		(void)__db_mutex_unlock(&((RLAYOUT *)(dbmp)->mp)->lock,	\
-		(dbmp)->reginfo.fd)
-
-#define	LOCKBUFFER(dbmp, bhp)						\
-	if (F_ISSET(dbmp, MP_LOCKREGION))				\
-		(void)__db_mutex_lock(&(bhp)->mutex, (dbmp)->reginfo.fd)
-#define	UNLOCKBUFFER(dbmp, bhp)						\
-	if (F_ISSET(dbmp, MP_LOCKREGION))				\
-		(void)__db_mutex_unlock(&(bhp)->mutex, (dbmp)->reginfo.fd)
-
-/* Check for region catastrophic shutdown. */
-#define	MP_PANIC_CHECK(dbmp) {						\
-	if ((dbmp)->mp->rlayout.panic)					\
-		return (DB_RUNRECOVERY);				\
-}
-
-/*
- * DB_MPOOL --
- *	Per-process memory pool structure.
- */
-struct __db_mpool {
-/* These fields need to be protected for multi-threaded support. */
-	db_mutex_t	*mutexp;	/* Structure lock. */
-
-					/* List of pgin/pgout routines. */
-	LIST_HEAD(__db_mpregh, __db_mpreg) dbregq;
-
-					/* List of DB_MPOOLFILE's. */
-	TAILQ_HEAD(__db_mpoolfileh, __db_mpoolfile) dbmfq;
-
-/* These fields are not protected. */
-	DB_ENV     *dbenv;		/* Reference to error information. */
-	REGINFO	    reginfo;		/* Region information. */
-
-	MPOOL	   *mp;			/* Address of the shared MPOOL. */
-
-	void	   *addr;		/* Address of shalloc() region. */
-
-	DB_HASHTAB *htab;		/* Hash table of bucket headers. */
-
-#define	MP_LOCKHANDLE	0x01		/* Threaded, lock handles and region. */
-#define	MP_LOCKREGION	0x02		/* Concurrent access, lock region. */
-	u_int32_t  flags;
-};
-
-/*
- * DB_MPREG --
- *	DB_MPOOL registry of pgin/pgout functions.
- */
-struct __db_mpreg {
-	LIST_ENTRY(__db_mpreg) q;	/* Linked list. */
-
-	int ftype;			/* File type. */
-					/* Pgin, pgout routines. */
-	int (DB_CALLBACK *pgin) __P((db_pgno_t, void *, DBT *));
-	int (DB_CALLBACK *pgout) __P((db_pgno_t, void *, DBT *));
-};
-
-/*
- * DB_MPOOLFILE --
- *	Per-process DB_MPOOLFILE information.
- */
-struct __db_mpoolfile {
-/* These fields need to be protected for multi-threaded support. */
-	db_mutex_t	*mutexp;	/* Structure lock. */
-
-	int	   fd;			/* Underlying file descriptor. */
-
-	u_int32_t ref;			/* Reference count. */
-
-	/*
-	 * !!!
-	 * This field is a special case -- it's protected by the region lock
-	 * NOT the thread lock.  The reason for this is that we always have
-	 * the region lock immediately before or after we modify the field,
-	 * and we don't want to use the structure lock to protect it because
-	 * then I/O (which is done with the structure lock held because of
-	 * the race between the seek and write of the file descriptor) will
-	 * block any other put/get calls using this DB_MPOOLFILE structure.
-	 */
-	u_int32_t pinref;		/* Pinned block reference count. */
-
-/* These fields are not protected. */
-	TAILQ_ENTRY(__db_mpoolfile) q;	/* Linked list of DB_MPOOLFILE's. */
-
-	DB_MPOOL  *dbmp;		/* Overlying DB_MPOOL. */
-	MPOOLFILE *mfp;			/* Underlying MPOOLFILE. */
-
-	void	  *addr;		/* Address of mmap'd region. */
-	size_t	   len;			/* Length of mmap'd region. */
-
-/* These fields need to be protected for multi-threaded support. */
-#define	MP_READONLY	0x01		/* File is readonly. */
-#define	MP_UPGRADE	0x02		/* File descriptor is readwrite. */
-#define	MP_UPGRADE_FAIL	0x04		/* Upgrade wasn't possible. */
-	u_int32_t  flags;
-};
-
-/*
- * MPOOL --
- *	Shared memory pool region.  One of these is allocated in shared
- *	memory, and describes the pool.
- */
-struct __mpool {
-	RLAYOUT	    rlayout;		/* General region information. */
-
-	SH_TAILQ_HEAD(__bhq) bhq;	/* LRU list of buckets. */
-	SH_TAILQ_HEAD(__bhfq) bhfq;	/* Free buckets. */
-	SH_TAILQ_HEAD(__mpfq) mpfq;	/* List of MPOOLFILEs. */
-
-	/*
-	 * We make the assumption that the early pages of the file are far
-	 * more likely to be retrieved than the later pages, which means
-	 * that the top bits are more interesting for hashing since they're
-	 * less likely to collide.  On the other hand, since 512 4K pages
-	 * represents a 2MB file, only the bottom 9 bits of the page number
-	 * are likely to be set.  We XOR in the offset in the MPOOL of the
-	 * MPOOLFILE that backs this particular page, since that should also
-	 * be unique for the page.
-	 */
-#define	BUCKET(mp, mf_offset, pgno)					\
-	(((pgno) ^ ((mf_offset) << 9)) % (mp)->htab_buckets)
-
-	size_t	    htab;		/* Hash table offset. */
-	size_t	    htab_buckets;	/* Number of hash table entries. */
-
-	DB_LSN	    lsn;		/* Maximum checkpoint LSN. */
-	u_int32_t   lsn_cnt;		/* Checkpoint buffers left to write. */
-
-	DB_MPOOL_STAT stat;		/* Global mpool statistics. */
-
-#define	MP_LSN_RETRY	0x01		/* Retry all BH_WRITE buffers. */
-	u_int32_t  flags;
-};
-
-/*
- * MPOOLFILE --
- *	Shared DB_MPOOLFILE information.
- */
-struct __mpoolfile {
-	SH_TAILQ_ENTRY  q;		/* List of MPOOLFILEs */
-
-	u_int32_t ref;			/* Reference count. */
-
-	int	  ftype;		/* File type. */
-
-	int32_t	  lsn_off;		/* Page's LSN offset. */
-	u_int32_t clear_len;		/* Bytes to clear on page create. */
-
-	size_t	  path_off;		/* File name location. */
-	size_t	  fileid_off;		/* File identification location. */
-
-	size_t	  pgcookie_len;		/* Pgin/pgout cookie length. */
-	size_t	  pgcookie_off;		/* Pgin/pgout cookie location. */
-
-	u_int32_t lsn_cnt;		/* Checkpoint buffers left to write. */
-
-	db_pgno_t last_pgno;		/* Last page in the file. */
-	db_pgno_t orig_last_pgno;	/* Original last page in the file. */
-
-#define	MP_CAN_MMAP	0x01		/* If the file can be mmap'd. */
-#define	MP_TEMP		0x02		/* Backing file is a temporary. */
-	u_int32_t  flags;
-
-	DB_MPOOL_FSTAT stat;		/* Per-file mpool statistics. */
-};
-
-/*
- * BH --
- *	Buffer header.
- */
-struct __bh {
-	db_mutex_t	mutex;		/* Structure lock. */
-
-	u_int16_t	ref;		/* Reference count. */
-
-#define	BH_CALLPGIN	0x001		/* Page needs to be reworked... */
-#define	BH_DIRTY	0x002		/* Page was modified. */
-#define	BH_DISCARD	0x004		/* Page is useless. */
-#define	BH_LOCKED	0x008		/* Page is locked (I/O in progress). */
-#define	BH_TRASH	0x010		/* Page is garbage. */
-#define	BH_WRITE	0x020		/* Page scheduled for writing. */
-	u_int16_t  flags;
-
-	SH_TAILQ_ENTRY	q;		/* LRU queue. */
-	SH_TAILQ_ENTRY	hq;		/* MPOOL hash bucket queue. */
-
-	db_pgno_t pgno;			/* Underlying MPOOLFILE page number. */
-	size_t	  mf_offset;		/* Associated MPOOLFILE offset. */
-
-	/*
-	 * !!!
-	 * This array must be size_t aligned -- the DB access methods put PAGE
-	 * and other structures into it, and expect to be able to access them
-	 * directly.  (We guarantee size_t alignment in the db_mpool(3) manual
-	 * page as well.)
-	 */
-	u_int8_t   buf[1];		/* Variable length data. */
-};
-
-#include "mp_ext.h"
diff --git a/db2/include/mp_ext.h b/db2/include/mp_ext.h
deleted file mode 100644
index 8b46334408..0000000000
--- a/db2/include/mp_ext.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _mp_ext_h_
-#define _mp_ext_h_
-int __memp_bhwrite
-    __P((DB_MPOOL *, MPOOLFILE *, BH *, int *, int *));
-int __memp_pgread __P((DB_MPOOLFILE *, BH *, int));
-int __memp_pgwrite __P((DB_MPOOLFILE *, BH *, int *, int *));
-int __memp_pg __P((DB_MPOOLFILE *, BH *, int));
-void __memp_bhfree __P((DB_MPOOL *, MPOOLFILE *, BH *, int));
-int __memp_fopen __P((DB_MPOOL *, MPOOLFILE *, const char *,
-   u_int32_t, int, size_t, int, DB_MPOOL_FINFO *, DB_MPOOLFILE **));
-void __memp_panic __P((DB_ENV *));
-char * __memp_fn __P((DB_MPOOLFILE *));
-char * __memp_fns __P((DB_MPOOL *, MPOOLFILE *));
-void __memp_dump_region __P((DB_MPOOL *, char *, FILE *));
-int __memp_reg_alloc __P((DB_MPOOL *, size_t, size_t *, void *));
-int __memp_alloc __P((DB_MPOOL *, size_t, size_t *, void *));
-int __memp_ropen
-   __P((DB_MPOOL *, const char *, size_t, int, int, u_int32_t));
-int __mp_xxx_fd __P((DB_MPOOLFILE *, int *));
-#endif /* _mp_ext_h_ */
diff --git a/db2/include/mutex_ext.h b/db2/include/mutex_ext.h
deleted file mode 100644
index b48da5d2f4..0000000000
--- a/db2/include/mutex_ext.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _mutex_ext_h_
-#define _mutex_ext_h_
-int __db_mutex_init __P((db_mutex_t *, u_int32_t));
-int __db_mutex_lock __P((db_mutex_t *, int));
-int __db_mutex_unlock __P((db_mutex_t *, int));
-#endif /* _mutex_ext_h_ */
diff --git a/db2/include/os.h b/db2/include/os.h
deleted file mode 100644
index f173d1f610..0000000000
--- a/db2/include/os.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)os.h	10.11 (Sleepycat) 10/12/98
- */
-
-/*
- * We group seek/write calls into a single function so that we can use
- * pread(2)/pwrite(2) where they're available.
- */
-#define	DB_IO_READ	1
-#define	DB_IO_WRITE	2
-typedef struct __io {
-	int	    fd_io;		/* I/O file descriptor. */
-	int	    fd_lock;		/* Locking file descriptor. */
-	db_mutex_t *mutexp;		/* Mutex to lock. */
-	size_t	    pagesize;		/* Page size. */
-	db_pgno_t   pgno;		/* Page number. */
-	u_int8_t   *buf;		/* Buffer. */
-	size_t	    bytes;		/* Bytes read/written. */
-} DB_IO;
diff --git a/db2/include/os_ext.h b/db2/include/os_ext.h
deleted file mode 100644
index 346210975f..0000000000
--- a/db2/include/os_ext.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _os_ext_h_
-#define _os_ext_h_
-int __os_abspath __P((const char *));
-int __os_strdup __P((const char *, void *));
-int __os_calloc __P((size_t, size_t, void *));
-int __os_malloc __P((size_t, void *(*)(size_t), void *));
-int __os_realloc __P((void *, size_t));
-void __os_free __P((void *, size_t));
-void __os_freestr __P((void *));
-int __os_dirlist __P((const char *, char ***, int *));
-void __os_dirfree __P((char **, int));
-int __os_fileid __P((DB_ENV *, const char *, int, u_int8_t *));
-int __os_fsync __P((int));
-int __db_mapanon_ok __P((int));
-int __db_mapinit __P((void));
-int __db_mapregion __P((char *, REGINFO *));
-int __db_unmapregion __P((REGINFO *));
-int __db_unlinkregion __P((char *, REGINFO *));
-int __db_mapfile __P((char *, int, size_t, int, void **));
-int __db_unmapfile __P((void *, size_t));
-u_int32_t __db_oflags __P((int));
-int __db_omode __P((const char *));
-int __db_open __P((const char *, u_int32_t, u_int32_t, int, int *));
-int __os_open __P((const char *, int, int, int *));
-int __os_close __P((int));
-char *__db_rpath __P((const char *));
-int __os_io __P((DB_IO *, int, ssize_t *));
-int __os_read __P((int, void *, size_t, ssize_t *));
-int __os_write __P((int, const void *, size_t, ssize_t *));
-int __os_seek __P((int, size_t, db_pgno_t, u_int32_t, int, int));
-int __os_sleep __P((u_long, u_long));
-int __os_spin __P((void));
-void __os_yield __P((u_long));
-int __os_exists __P((const char *, int *));
-int __os_ioinfo
-   __P((const char *, int, u_int32_t *, u_int32_t *, u_int32_t *));
-int __os_tmpdir __P((DB_ENV *, u_int32_t));
-int __os_unlink __P((const char *));
-#endif /* _os_ext_h_ */
diff --git a/db2/include/os_jump.h b/db2/include/os_jump.h
deleted file mode 100644
index e2d577ff10..0000000000
--- a/db2/include/os_jump.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)os_jump.h	10.1 (Sleepycat) 10/17/98
- */
-
-/* Calls which can be replaced by the application. */
-struct __db_jumptab {
-	int	(*j_close) __P((int));			/* DB_FUNC_CLOSE */
-	void	(*j_dirfree) __P((char **, int));	/* DB_FUNC_DIRFREE */
-	int	(*j_dirlist)				/* DB_FUNC_DIRLIST */
-		    __P((const char *, char ***, int *));
-	int	(*j_exists)				/* DB_FUNC_EXISTS */
-		    __P((const char *, int *));
-	void	(*j_free) __P((void *));		/* DB_FUNC_FREE */
-	int	(*j_fsync) __P((int));			/* DB_FUNC_FSYNC */
-	int	(*j_ioinfo) __P((const char *,		/* DB_FUNC_IOINFO */
-		    int, u_int32_t *, u_int32_t *, u_int32_t *));
-	void   *(*j_malloc) __P((size_t));		/* DB_FUNC_MALLOC */
-	int	(*j_map)				/* DB_FUNC_MAP */
-		    __P((char *, int, size_t, int, int, int, void **));
-	int	(*j_open)				/* DB_FUNC_OPEN */
-		    __P((const char *, int, ...));
-	ssize_t	(*j_read) __P((int, void *, size_t));	/* DB_FUNC_READ */
-	void   *(*j_realloc) __P((void *, size_t));	/* DB_FUNC_REALLOC */
-	int	(*j_runlink) __P((char *));		/* DB_FUNC_RUNLINK */
-	int	(*j_seek)				/* DB_FUNC_SEEK */
-		    __P((int, size_t, db_pgno_t, u_int32_t, int, int));
-	int	(*j_sleep) __P((u_long, u_long));	/* DB_FUNC_SLEEP */
-	int	(*j_unlink) __P((const char *));	/* DB_FUNC_UNLINK */
-	int	(*j_unmap) __P((void *, size_t));	/* DB_FUNC_UNMAP */
-	ssize_t	(*j_write)				/* DB_FUNC_WRITE */
-		    __P((int, const void *, size_t));
-	int	(*j_yield) __P((void));			/* DB_FUNC_YIELD */
-};
-
-extern struct __db_jumptab __db_jump;
diff --git a/db2/include/queue.h b/db2/include/queue.h
deleted file mode 100644
index f606eb0497..0000000000
--- a/db2/include/queue.h
+++ /dev/null
@@ -1,275 +0,0 @@
-/*	BSDI $Id$	*/
-
-/*
- * Copyright (c) 1991, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)queue.h	8.5 (Berkeley) 8/20/94
- */
-
-#ifndef	_SYS_QUEUE_H_
-#define	_SYS_QUEUE_H_
-
-/*
- * This file defines three types of data structures: lists, tail queues,
- * and circular queues.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may only be traversed in the forward direction.
- *
- * A circle queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the list.
- * A circle queue may be traversed in either direction, but has a more
- * complex end of list detection.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- */
-
-/*
- * List definitions.
- */
-#define LIST_HEAD(name, type)						\
-struct name {								\
-	struct type *lh_first;	/* first element */			\
-}
-
-#define LIST_ENTRY(type)						\
-struct {								\
-	struct type *le_next;	/* next element */			\
-	struct type **le_prev;	/* address of previous next element */	\
-}
-
-#define	LIST_FIRST(head)		((head)->lh_first)
-#define	LIST_NEXT(elm, field)		((elm)->field.le_next)
-#define	LIST_END(head)			NULL
-
-/*
- * List functions.
- */
-#define	LIST_INIT(head) {						\
-	(head)->lh_first = NULL;					\
-}
-
-#define LIST_INSERT_AFTER(listelm, elm, field) do {			\
-	if (((elm)->field.le_next = (listelm)->field.le_next) != NULL)	\
-		(listelm)->field.le_next->field.le_prev =		\
-		    &(elm)->field.le_next;				\
-	(listelm)->field.le_next = (elm);				\
-	(elm)->field.le_prev = &(listelm)->field.le_next;		\
-} while (0)
-
-#define	LIST_INSERT_BEFORE(listelm, elm, field) do {			\
-	(elm)->field.le_prev = (listelm)->field.le_prev;		\
-	(elm)->field.le_next = (listelm);				\
-	*(listelm)->field.le_prev = (elm);				\
-	(listelm)->field.le_prev = &(elm)->field.le_next;		\
-} while (0)
-
-#define LIST_INSERT_HEAD(head, elm, field) do {				\
-	if (((elm)->field.le_next = (head)->lh_first) != NULL)		\
-		(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
-	(head)->lh_first = (elm);					\
-	(elm)->field.le_prev = &(head)->lh_first;			\
-} while (0)
-
-#define LIST_REMOVE(elm, field) do {					\
-	if ((elm)->field.le_next != NULL)				\
-		(elm)->field.le_next->field.le_prev = 			\
-		    (elm)->field.le_prev;				\
-	*(elm)->field.le_prev = (elm)->field.le_next;			\
-} while (0)
-
-/*
- * Tail queue definitions.
- */
-#define TAILQ_HEAD(name, type)						\
-struct name {								\
-	struct type *tqh_first;	/* first element */			\
-	struct type **tqh_last;	/* addr of last next element */		\
-}
-
-#define TAILQ_ENTRY(type)						\
-struct {								\
-	struct type *tqe_next;	/* next element */			\
-	struct type **tqe_prev;	/* address of previous next element */	\
-}
-
-#define	TAILQ_FIRST(head)		((head)->tqh_first)
-#define	TAILQ_NEXT(elm, field)		((elm)->field.tqe_next)
-#define	TAILQ_END(head)			NULL
-
-/*
- * Tail queue functions.
- */
-#define	TAILQ_INIT(head) do {						\
-	(head)->tqh_first = NULL;					\
-	(head)->tqh_last = &(head)->tqh_first;				\
-} while (0)
-
-#define TAILQ_INSERT_HEAD(head, elm, field) do {			\
-	if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)	\
-		(head)->tqh_first->field.tqe_prev =			\
-		    &(elm)->field.tqe_next;				\
-	else								\
-		(head)->tqh_last = &(elm)->field.tqe_next;		\
-	(head)->tqh_first = (elm);					\
-	(elm)->field.tqe_prev = &(head)->tqh_first;			\
-} while (0)
-
-#define TAILQ_INSERT_TAIL(head, elm, field) do {			\
-	(elm)->field.tqe_next = NULL;					\
-	(elm)->field.tqe_prev = (head)->tqh_last;			\
-	*(head)->tqh_last = (elm);					\
-	(head)->tqh_last = &(elm)->field.tqe_next;			\
-} while (0)
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
-		(elm)->field.tqe_next->field.tqe_prev = 		\
-		    &(elm)->field.tqe_next;				\
-	else								\
-		(head)->tqh_last = &(elm)->field.tqe_next;		\
-	(listelm)->field.tqe_next = (elm);				\
-	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
-} while (0)
-
-#define	TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
-	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
-	(elm)->field.tqe_next = (listelm);				\
-	*(listelm)->field.tqe_prev = (elm);				\
-	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
-} while (0)
-
-#define TAILQ_REMOVE(head, elm, field) do {				\
-	if (((elm)->field.tqe_next) != NULL)				\
-		(elm)->field.tqe_next->field.tqe_prev = 		\
-		    (elm)->field.tqe_prev;				\
-	else								\
-		(head)->tqh_last = (elm)->field.tqe_prev;		\
-	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
-} while (0)
-
-/*
- * Circular queue definitions.
- */
-#define CIRCLEQ_HEAD(name, type)					\
-struct name {								\
-	struct type *cqh_first;		/* first element */		\
-	struct type *cqh_last;		/* last element */		\
-}
-
-#define CIRCLEQ_ENTRY(type)						\
-struct {								\
-	struct type *cqe_next;		/* next element */		\
-	struct type *cqe_prev;		/* previous element */		\
-}
-
-#define	CIRCLEQ_FIRST(head)		((head)->cqh_first)
-#define	CIRCLEQ_LAST(head)		((head)->cqh_last)
-#define	CIRCLEQ_END(head)		((void *)(head))
-#define	CIRCLEQ_NEXT(elm, field)	((elm)->field.cqe_next)
-#define	CIRCLEQ_PREV(elm, field)	((elm)->field.cqe_prev)
-
-/*
- * Circular queue functions.
- */
-#define	CIRCLEQ_INIT(head) do {						\
-	(head)->cqh_first = (void *)(head);				\
-	(head)->cqh_last = (void *)(head);				\
-} while (0)
-
-#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-	(elm)->field.cqe_next = (listelm)->field.cqe_next;		\
-	(elm)->field.cqe_prev = (listelm);				\
-	if ((listelm)->field.cqe_next == (void *)(head))		\
-		(head)->cqh_last = (elm);				\
-	else								\
-		(listelm)->field.cqe_next->field.cqe_prev = (elm);	\
-	(listelm)->field.cqe_next = (elm);				\
-} while (0)
-
-#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {		\
-	(elm)->field.cqe_next = (listelm);				\
-	(elm)->field.cqe_prev = (listelm)->field.cqe_prev;		\
-	if ((listelm)->field.cqe_prev == (void *)(head))		\
-		(head)->cqh_first = (elm);				\
-	else								\
-		(listelm)->field.cqe_prev->field.cqe_next = (elm);	\
-	(listelm)->field.cqe_prev = (elm);				\
-} while (0)
-
-#define CIRCLEQ_INSERT_HEAD(head, elm, field) do {			\
-	(elm)->field.cqe_next = (head)->cqh_first;			\
-	(elm)->field.cqe_prev = (void *)(head);				\
-	if ((head)->cqh_last == (void *)(head))				\
-		(head)->cqh_last = (elm);				\
-	else								\
-		(head)->cqh_first->field.cqe_prev = (elm);		\
-	(head)->cqh_first = (elm);					\
-} while (0)
-
-#define CIRCLEQ_INSERT_TAIL(head, elm, field) do {			\
-	(elm)->field.cqe_next = (void *)(head);				\
-	(elm)->field.cqe_prev = (head)->cqh_last;			\
-	if ((head)->cqh_first == (void *)(head))			\
-		(head)->cqh_first = (elm);				\
-	else								\
-		(head)->cqh_last->field.cqe_next = (elm);		\
-	(head)->cqh_last = (elm);					\
-} while (0)
-
-#define	CIRCLEQ_REMOVE(head, elm, field) do {				\
-	if ((elm)->field.cqe_next == (void *)(head))			\
-		(head)->cqh_last = (elm)->field.cqe_prev;		\
-	else								\
-		(elm)->field.cqe_next->field.cqe_prev =			\
-		    (elm)->field.cqe_prev;				\
-	if ((elm)->field.cqe_prev == (void *)(head))			\
-		(head)->cqh_first = (elm)->field.cqe_next;		\
-	else								\
-		(elm)->field.cqe_prev->field.cqe_next =			\
-		    (elm)->field.cqe_next;				\
-} while (0)
-#endif	/* !_SYS_QUEUE_H_ */
diff --git a/db2/include/shqueue.h b/db2/include/shqueue.h
deleted file mode 100644
index 00e5d76251..0000000000
--- a/db2/include/shqueue.h
+++ /dev/null
@@ -1,334 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)shqueue.h	8.13 (Sleepycat) 4/10/98
- */
-#ifndef	_SYS_SHQUEUE_H_
-#define	_SYS_SHQUEUE_H_
-
-/*
- * This file defines three types of data structures: lists, tail queues, and
- * circular queues, similarly to the include file <sys/queue.h>.
- *
- * The difference is that this set of macros can be used for structures that
- * reside in shared memory that may be mapped at different addresses in each
- * process.  In most cases, the macros for shared structures exactly mirror
- * the normal macros, although the macro calls require an additional type
- * parameter, only used by the HEAD and ENTRY macros of the standard macros.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- */
-
-/*
- * Shared list definitions.
- */
-#define SH_LIST_HEAD(name)						\
-struct name {								\
-	ssize_t slh_first;	/* first element */			\
-}
-
-#define SH_LIST_ENTRY							\
-struct {								\
-	ssize_t sle_next;	/* relative offset next element */	\
-	ssize_t sle_prev;	/* relative offset of prev element */	\
-}
-
-/*
- * Shared list functions.  Since we use relative offsets for pointers,
- * 0 is a valid offset.  Therefore, we use -1 to indicate end of list.
- * The macros ending in "P" return pointers without checking for end
- * of list, the others check for end of list and evaluate to either a
- * pointer or NULL.
- */
-
-#define SH_LIST_FIRSTP(head, type)					\
-	((struct type *)(((u_int8_t *)(head)) + (head)->slh_first))
-
-#define SH_LIST_FIRST(head, type)					\
-	((head)->slh_first == -1 ? NULL :				\
-	((struct type *)(((u_int8_t *)(head)) + (head)->slh_first)))
-
-#define SH_LIST_NEXTP(elm, field, type)					\
-	((struct type *)(((u_int8_t *)(elm)) + (elm)->field.sle_next))
-
-#define SH_LIST_NEXT(elm, field, type)					\
-	((elm)->field.sle_next == -1 ? NULL : 				\
-	((struct type *)(((u_int8_t *)(elm)) + (elm)->field.sle_next)))
-
-#define SH_LIST_PREV(elm, field)					\
-	((ssize_t *)(((u_int8_t *)(elm)) + (elm)->field.sle_prev))
-
-#define SH_PTR_TO_OFF(src, dest)					\
-	((ssize_t)(((u_int8_t *)(dest)) - ((u_int8_t *)(src))))
-
-#define	SH_LIST_END(head)			NULL
-
-/*
- * Take the element's next pointer and calculate what the corresponding
- * Prev pointer should be -- basically it is the negation plus the offset
- * of the next field in the structure.
- */
-#define SH_LIST_NEXT_TO_PREV(elm, field)				\
-	(-(elm)->field.sle_next + SH_PTR_TO_OFF(elm, &(elm)->field.sle_next))
-
-#define	SH_LIST_INIT(head) (head)->slh_first = -1
-
-#define SH_LIST_INSERT_AFTER(listelm, elm, field, type) do {		\
-	if ((listelm)->field.sle_next != -1) {				\
-		(elm)->field.sle_next = SH_PTR_TO_OFF(elm,		\
-		    SH_LIST_NEXTP(listelm, field, type));		\
-		SH_LIST_NEXTP(listelm, field, type)->field.sle_prev = 	\
-			SH_LIST_NEXT_TO_PREV(elm, field);		\
-	} else 								\
-		(elm)->field.sle_next = -1;				\
-	(listelm)->field.sle_next = SH_PTR_TO_OFF(listelm, elm);	\
-	(elm)->field.sle_prev = SH_LIST_NEXT_TO_PREV(listelm, field);	\
-} while (0)
-
-#define SH_LIST_INSERT_HEAD(head, elm, field, type) do {		\
-	if ((head)->slh_first != -1) {					\
-		(elm)->field.sle_next = 				\
-		    (head)->slh_first - SH_PTR_TO_OFF(head, elm);	\
-		SH_LIST_FIRSTP(head, type)->field.sle_prev =		\
-			SH_LIST_NEXT_TO_PREV(elm, field);		\
-	} else								\
-		(elm)->field.sle_next = -1;				\
-	(head)->slh_first = SH_PTR_TO_OFF(head, elm);			\
-	(elm)->field.sle_prev = SH_PTR_TO_OFF(elm, &(head)->slh_first);	\
-} while (0)
-
-#define SH_LIST_REMOVE(elm, field, type) do {				\
-	if ((elm)->field.sle_next != -1) {				\
-		SH_LIST_NEXTP(elm, field, type)->field.sle_prev = 	\
-			(elm)->field.sle_prev - (elm)->field.sle_next;	\
-		*SH_LIST_PREV(elm, field) += (elm)->field.sle_next;	\
-	} else								\
-		*SH_LIST_PREV(elm, field) = -1;				\
-} while (0)
-
-/*
- * Shared tail queue definitions.
- */
-#define SH_TAILQ_HEAD(name)						\
-struct name {								\
-	ssize_t stqh_first; 	/* relative offset of first element */	\
-	ssize_t stqh_last;	/* relative offset of last's next */	\
-}
-
-#define SH_TAILQ_ENTRY							\
-struct {								\
-	ssize_t stqe_next;	/* relative offset of next element */	\
-	ssize_t stqe_prev;	/* relative offset of prev's next */	\
-}
-
-/*
- * Shared tail queue functions.
- */
-#define SH_TAILQ_FIRSTP(head, type)					\
-	((struct type *)((u_int8_t *)(head) + (head)->stqh_first))
-
-#define SH_TAILQ_FIRST(head, type)					\
-	((head)->stqh_first == -1 ? NULL : SH_TAILQ_FIRSTP(head, type))
-
-#define SH_TAILQ_NEXTP(elm, field, type)				\
-	((struct type *)((u_int8_t *)(elm) + (elm)->field.stqe_next))
-
-#define SH_TAILQ_NEXT(elm, field, type)					\
-	((elm)->field.stqe_next == -1 ? NULL : SH_TAILQ_NEXTP(elm, field, type))
-
-#define SH_TAILQ_PREVP(elm, field)					\
-	((ssize_t *)((u_int8_t *)(elm) + (elm)->field.stqe_prev))
-
-#define SH_TAILQ_LAST(head)						\
-	((ssize_t *)(((u_int8_t *)(head)) + (head)->stqh_last))
-
-#define SH_TAILQ_NEXT_TO_PREV(elm, field)				\
-	(-(elm)->field.stqe_next + SH_PTR_TO_OFF(elm, &(elm)->field.stqe_next))
-
-#define SH_TAILQ_END(head)		NULL
-
-#define	SH_TAILQ_INIT(head) {						\
-	(head)->stqh_first = -1;					\
-	(head)->stqh_last = SH_PTR_TO_OFF(head, &(head)->stqh_first);	\
-}
-
-#define SH_TAILQ_INSERT_HEAD(head, elm, field, type) do {		\
-	if ((head)->stqh_first != -1) {					\
-		(elm)->field.stqe_next =				\
-		    (head)->stqh_first - SH_PTR_TO_OFF(head, elm);	\
-		SH_TAILQ_FIRSTP(head, type)->field.stqe_prev =		\
-			SH_TAILQ_NEXT_TO_PREV(elm, field);		\
-	} else {							\
-		(elm)->field.stqe_next = -1;				\
-		(head)->stqh_last =					\
-		    SH_PTR_TO_OFF(head, &(elm)->field.stqe_next);	\
-	}								\
-	(head)->stqh_first = SH_PTR_TO_OFF(head, elm);			\
-	(elm)->field.stqe_prev =					\
-	    SH_PTR_TO_OFF(elm, &(head)->stqh_first);			\
-} while (0)
-
-#define SH_TAILQ_INSERT_TAIL(head, elm, field) do {			\
-	(elm)->field.stqe_next = -1;					\
-	(elm)->field.stqe_prev =					\
-	    -SH_PTR_TO_OFF(head, elm) + (head)->stqh_last;		\
-	if ((head)->stqh_last ==					\
-	    SH_PTR_TO_OFF((head), &(head)->stqh_first))			\
-		(head)->stqh_first = SH_PTR_TO_OFF(head, elm);		\
-	else								\
-		*SH_TAILQ_LAST(head) = -(head)->stqh_last +		\
-		    SH_PTR_TO_OFF((elm), &(elm)->field.stqe_next) +	\
-		    SH_PTR_TO_OFF(head, elm);				\
-	(head)->stqh_last = 						\
-	    SH_PTR_TO_OFF(head, &((elm)->field.stqe_next));		\
-} while (0)
-
-#define SH_TAILQ_INSERT_AFTER(head, listelm, elm, field, type) do {	\
-	if ((listelm)->field.stqe_next != -1) {				\
-		(elm)->field.stqe_next = (listelm)->field.stqe_next -	\
-		    SH_PTR_TO_OFF(listelm, elm);			\
-		SH_TAILQ_NEXTP(listelm, field, type)->field.stqe_prev =	\
-		    SH_TAILQ_NEXT_TO_PREV(elm, field);			\
-	} else {							\
-		(elm)->field.stqe_next = -1;				\
-		(head)->stqh_last =					\
-		    SH_PTR_TO_OFF(head, &elm->field.stqe_next);		\
-	}								\
-	(listelm)->field.stqe_next = SH_PTR_TO_OFF(listelm, elm);	\
-	(elm)->field.stqe_prev = SH_TAILQ_NEXT_TO_PREV(listelm, field);	\
-} while (0)
-
-#define SH_TAILQ_REMOVE(head, elm, field, type) do {			\
-	if ((elm)->field.stqe_next != -1) {				\
-		SH_TAILQ_NEXTP(elm, field, type)->field.stqe_prev = 	\
-		    (elm)->field.stqe_prev +				\
-		    SH_PTR_TO_OFF(SH_TAILQ_NEXTP(elm,			\
-		    field, type), elm);					\
-		*SH_TAILQ_PREVP(elm, field) += elm->field.stqe_next;	\
-	} else {							\
-		(head)->stqh_last = (elm)->field.stqe_prev +		\
-			SH_PTR_TO_OFF(head, elm);			\
-		*SH_TAILQ_PREVP(elm, field) = -1;			\
-	}								\
-} while (0)
-
-/*
- * Shared circular queue definitions.
- */
-#define SH_CIRCLEQ_HEAD(name)						\
-struct name {								\
-	ssize_t scqh_first;		/* first element */		\
-	ssize_t scqh_last;		/* last element */		\
-}
-
-#define SH_CIRCLEQ_ENTRY						\
-struct {								\
-	ssize_t scqe_next;		/* next element */		\
-	ssize_t scqe_prev;		/* previous element */		\
-}
-
-/*
- * Shared circular queue functions.
- */
-#define SH_CIRCLEQ_FIRSTP(head, type)					\
-	((struct type *)(((u_int8_t *)(head)) + (head)->scqh_first))
-
-#define SH_CIRCLEQ_FIRST(head, type)					\
-	((head)->scqh_first == -1 ? 					\
-	(void *)head : SH_CIRCLEQ_FIRSTP(head, type))
-
-#define SH_CIRCLEQ_LASTP(head, type)					\
-	((struct type *)(((u_int8_t *)(head)) + (head)->scqh_last))
-
-#define SH_CIRCLEQ_LAST(head, type)					\
-	((head)->scqh_last == -1 ? (void *)head : SH_CIRCLEQ_LASTP(head, type))
-
-#define SH_CIRCLEQ_NEXTP(elm, field, type)				\
-	((struct type *)(((u_int8_t *)(elm)) + (elm)->field.scqe_next))
-
-#define SH_CIRCLEQ_NEXT(head, elm, field, type)				\
-	((elm)->field.scqe_next == SH_PTR_TO_OFF(elm, head) ?		\
-	    (void *)head : SH_CIRCLEQ_NEXTP(elm, field, type))
-
-#define SH_CIRCLEQ_PREVP(elm, field, type)				\
-	((struct type *)(((u_int8_t *)(elm)) + (elm)->field.scqe_prev))
-
-#define SH_CIRCLEQ_PREV(head, elm, field, type)				\
-	((elm)->field.scqe_prev == SH_PTR_TO_OFF(elm, head) ?		\
-	    (void *)head : SH_CIRCLEQ_PREVP(elm, field, type))
-
-#define	SH_CIRCLEQ_END(head)		((void *)(head))
-
-#define	SH_CIRCLEQ_INIT(head) {						\
-	(head)->scqh_first = 0;						\
-	(head)->scqh_last = 0;						\
-}
-
-#define SH_CIRCLEQ_INSERT_AFTER(head, listelm, elm, field, type) do {	\
-	(elm)->field.scqe_prev = SH_PTR_TO_OFF(elm, listelm);		\
-	(elm)->field.scqe_next = (listelm)->field.scqe_next +		\
-	    (elm)->field.scqe_prev;					\
-	if (SH_CIRCLEQ_NEXTP(listelm, field, type) == (void *)head)	\
-		(head)->scqh_last = SH_PTR_TO_OFF(head, elm);		\
-	else								\
-		SH_CIRCLEQ_NEXTP(listelm,				\
-		    field, type)->field.scqe_prev =			\
-		    SH_PTR_TO_OFF(SH_CIRCLEQ_NEXTP(listelm,		\
-		    field, type), elm);					\
-	(listelm)->field.scqe_next = -(elm)->field.scqe_prev;		\
-} while (0)
-
-#define SH_CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field, type) do {	\
-	(elm)->field.scqe_next = SH_PTR_TO_OFF(elm, listelm);		\
-	(elm)->field.scqe_prev = (elm)->field.scqe_next -		\
-		SH_CIRCLEQ_PREVP(listelm, field, type)->field.scqe_next;\
-	if (SH_CIRCLEQ_PREVP(listelm, field, type) == (void *)(head))	\
-		(head)->scqh_first = SH_PTR_TO_OFF(head, elm);		\
-	else								\
-		SH_CIRCLEQ_PREVP(listelm,				\
-		    field, type)->field.scqe_next =			\
-		    SH_PTR_TO_OFF(SH_CIRCLEQ_PREVP(listelm,		\
-		    field, type), elm);					\
-	(listelm)->field.scqe_prev = -(elm)->field.scqe_next;		\
-} while (0)
-
-#define SH_CIRCLEQ_INSERT_HEAD(head, elm, field, type) do {		\
-	(elm)->field.scqe_prev = SH_PTR_TO_OFF(elm, head);		\
-	(elm)->field.scqe_next = (head)->scqh_first +			\
-		(elm)->field.scqe_prev;					\
-	if ((head)->scqh_last == 0)					\
-		(head)->scqh_last = -(elm)->field.scqe_prev;		\
-	else								\
-		SH_CIRCLEQ_FIRSTP(head, type)->field.scqe_prev =	\
-		    SH_PTR_TO_OFF(SH_CIRCLEQ_FIRSTP(head, type), elm);	\
-	(head)->scqh_first = -(elm)->field.scqe_prev;			\
-} while (0)
-
-#define SH_CIRCLEQ_INSERT_TAIL(head, elm, field, type) do {		\
-	(elm)->field.scqe_next = SH_PTR_TO_OFF(elm, head);		\
-	(elm)->field.scqe_prev = (head)->scqh_last +			\
-	    (elm)->field.scqe_next;					\
-	if ((head)->scqh_first == 0)					\
-		(head)->scqh_first = -(elm)->field.scqe_next;		\
-	else								\
-		SH_CIRCLEQ_LASTP(head, type)->field.scqe_next = 	\
-		    SH_PTR_TO_OFF(SH_CIRCLEQ_LASTP(head, type), elm);	\
-	(head)->scqh_last = -(elm)->field.scqe_next;			\
-} while (0)
-
-#define	SH_CIRCLEQ_REMOVE(head, elm, field, type) do {			\
-	if (SH_CIRCLEQ_NEXTP(elm, field, type) == (void *)(head))	\
-		(head)->scqh_last += (elm)->field.scqe_prev;		\
-	else								\
-		SH_CIRCLEQ_NEXTP(elm, field, type)->field.scqe_prev +=	\
-		    (elm)->field.scqe_prev;				\
-	if (SH_CIRCLEQ_PREVP(elm, field, type) == (void *)(head))	\
-		(head)->scqh_first += (elm)->field.scqe_next;		\
-	else								\
-		SH_CIRCLEQ_PREVP(elm, field, type)->field.scqe_next +=	\
-		    (elm)->field.scqe_next;				\
-} while (0)
-#endif	/* !_SYS_SHQUEUE_H_ */
diff --git a/db2/include/txn.h b/db2/include/txn.h
deleted file mode 100644
index a6fa4db8de..0000000000
--- a/db2/include/txn.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1996, 1997, 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)txn.h	10.18 (Sleepycat) 1/3/99
- */
-#ifndef	_TXN_H_
-#define	_TXN_H_
-
-#include "xa.h"
-
-/*
- * The name of the transaction shared memory region is DEFAULT_TXN_FILE and
- * the region is always created group RW of the group owning the directory.
- */
-#define	DEFAULT_TXN_FILE	"__db_txn.share"
-/* TXN_MINIMUM = (DB_LOCK_MAXID + 1) but this makes compilers complain. */
-#define TXN_MINIMUM		0x80000000
-#define	TXN_INVALID           	0xffffffff /* Maximum number of txn ids. */
-
-/*
- * Transaction type declarations.
- */
-
-/*
- * Internal data maintained in shared memory for each transaction.
- */
-typedef char DB_XID[XIDDATASIZE];
-
-typedef struct __txn_detail {
-	u_int32_t txnid;		/* current transaction id
-					   used to link free list also */
-	DB_LSN	last_lsn;		/* last lsn written for this txn */
-	DB_LSN	begin_lsn;		/* lsn of begin record */
-	size_t	last_lock;		/* offset in lock region of last lock
-					   for this transaction. */
-	size_t	parent;			/* Offset of transaction's parent. */
-#define	TXN_UNALLOC	0
-#define	TXN_RUNNING	1
-#define	TXN_ABORTED	2
-#define	TXN_PREPARED	3
-#define	TXN_COMMITTED	4
-	u_int32_t status;		/* status of the transaction */
-	SH_TAILQ_ENTRY	links;		/* free/active list */
-
-#define	TXN_XA_ABORTED		1
-#define	TXN_XA_DEADLOCKED	2
-#define	TXN_XA_ENDED		3
-#define	TXN_XA_PREPARED		4
-#define	TXN_XA_STARTED		5
-#define	TXN_XA_SUSPENDED	6
-	u_int32_t xa_status;		/* XA status */
-
-	/*
-	 * XID (xid_t) structure: because these fields are logged, the
-	 * sizes have to be explicit.
-	 */
-	DB_XID xid;			/* XA global transaction id */
-	u_int32_t bqual;		/* bqual_length from XID */
-	u_int32_t gtrid;		/* gtrid_length from XID */
-	int32_t format;			/* XA format */
-} TXN_DETAIL;
-
-/*
- * The transaction manager encapsulates the transaction system.  It contains
- * references to the log and lock managers as well as the state that keeps
- * track of the shared memory region.
- */
-struct __db_txnmgr {
-/* These fields need to be protected for multi-threaded support. */
-	db_mutex_t	*mutexp;	/* Synchronization. */
-					/* list of active transactions */
-	TAILQ_HEAD(_chain, __db_txn)	txn_chain;
-
-/* These fields are not protected. */
-	REGINFO		reginfo;	/* Region information. */
-	DB_ENV		*dbenv;		/* Environment. */
-	int (*recover)			/* Recovery dispatch routine */
-	    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-	u_int32_t	 flags;		/* DB_TXN_NOSYNC, DB_THREAD */
-	DB_TXNREGION	*region;	/* address of shared memory region */
-	void		*mem;		/* address of the shalloc space */
-};
-
-/*
- * Layout of the shared memory region.
- * The region consists of a DB_TXNREGION structure followed by a large
- * pool of shalloc'd memory which is used to hold TXN_DETAIL structures
- * and thread mutexes (which are dynamically allocated).
- */
-struct __db_txnregion {
-	RLAYOUT		hdr;		/* Shared memory region header. */
-	u_int32_t	magic;		/* transaction magic number */
-	u_int32_t	version;	/* version number */
-	u_int32_t	maxtxns;	/* maximum number of active txns */
-	u_int32_t	last_txnid;	/* last transaction id given out */
-	DB_LSN		pending_ckp;	/* last checkpoint did not finish */
-	DB_LSN		last_ckp;	/* lsn of the last checkpoint */
-	time_t		time_ckp;	/* time of last checkpoint */
-	u_int32_t	logtype;	/* type of logging */
-	u_int32_t	locktype;	/* lock type */
-	u_int32_t	naborts;	/* number of aborted transactions */
-	u_int32_t	ncommits;	/* number of committed transactions */
-	u_int32_t	nbegins;	/* number of begun transactions */
-	SH_TAILQ_HEAD(_active) active_txn;	/* active transaction list */
-};
-
-/*
- * Make the region large enough to hold N  transaction detail structures
- * plus some space to hold thread handles and the beginning of the shalloc
- * region.
- */
-#define	TXN_REGION_SIZE(N)						\
-	(sizeof(DB_TXNREGION) + N * sizeof(TXN_DETAIL) + 1000)
-
-/* Macros to lock/unlock the region and threads. */
-#define	LOCK_TXNTHREAD(tmgrp)						\
-	if (F_ISSET(tmgrp, DB_THREAD))					\
-		(void)__db_mutex_lock((tmgrp)->mutexp, -1)
-#define	UNLOCK_TXNTHREAD(tmgrp)						\
-	if (F_ISSET(tmgrp, DB_THREAD))					\
-		(void)__db_mutex_unlock((tmgrp)->mutexp, -1)
-
-#define	LOCK_TXNREGION(tmgrp)						\
-	(void)__db_mutex_lock(&(tmgrp)->region->hdr.lock, (tmgrp)->reginfo.fd)
-#define	UNLOCK_TXNREGION(tmgrp)						\
-	(void)__db_mutex_unlock(&(tmgrp)->region->hdr.lock, (tmgrp)->reginfo.fd)
-
-/* Check for region catastrophic shutdown. */
-#define	TXN_PANIC_CHECK(tmgrp) {					\
-	if ((tmgrp)->region->hdr.panic)					\
-		return (DB_RUNRECOVERY);				\
-}
-
-/*
- * Log record types.
- */
-#define	TXN_COMMIT	1
-#define	TXN_PREPARE	2
-#define	TXN_CHECKPOINT	3
-
-#include "txn_auto.h"
-#include "txn_ext.h"
-
-#include "xa_ext.h"
-#endif /* !_TXN_H_ */
diff --git a/db2/include/txn_auto.h b/db2/include/txn_auto.h
deleted file mode 100644
index bb3de4eb17..0000000000
--- a/db2/include/txn_auto.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Do not edit: automatically built by dist/db_gen.sh. */
-#ifndef txn_AUTO_H
-#define txn_AUTO_H
-
-#define	DB_txn_regop	(DB_txn_BEGIN + 1)
-
-typedef struct _txn_regop_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-} __txn_regop_args;
-
-
-#define	DB_txn_ckp	(DB_txn_BEGIN + 2)
-
-typedef struct _txn_ckp_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	DB_LSN 	ckp_lsn;
-	DB_LSN 	last_ckp;
-} __txn_ckp_args;
-
-
-#define	DB_txn_xa_regop	(DB_txn_BEGIN + 3)
-
-typedef struct _txn_xa_regop_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	DBT	xid;
-	int32_t	formatID;
-	u_int32_t	gtrid;
-	u_int32_t	bqual;
-	DB_LSN 	begin_lsn;
-} __txn_xa_regop_args;
-
-
-#define	DB_txn_child	(DB_txn_BEGIN + 4)
-
-typedef struct _txn_child_args {
-	u_int32_t type;
-	DB_TXN *txnid;
-	DB_LSN prev_lsn;
-	u_int32_t	opcode;
-	u_int32_t	parent;
-} __txn_child_args;
-
-#endif
diff --git a/db2/include/txn_ext.h b/db2/include/txn_ext.h
deleted file mode 100644
index e0d69c360d..0000000000
--- a/db2/include/txn_ext.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _txn_ext_h_
-#define _txn_ext_h_
-void __txn_panic __P((DB_ENV *));
-int __txn_xa_begin __P((DB_ENV *, DB_TXN *));
-int __txn_is_ancestor __P((DB_TXNMGR *, size_t, size_t));
-int __txn_regop_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t));
-int __txn_regop_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __txn_regop_read __P((void *, __txn_regop_args **));
-int __txn_ckp_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    DB_LSN *, DB_LSN *));
-int __txn_ckp_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __txn_ckp_read __P((void *, __txn_ckp_args **));
-int __txn_xa_regop_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, const DBT *, int32_t, u_int32_t,
-    u_int32_t, DB_LSN *));
-int __txn_xa_regop_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __txn_xa_regop_read __P((void *, __txn_xa_regop_args **));
-int __txn_child_log
-    __P((DB_LOG *, DB_TXN *, DB_LSN *, u_int32_t,
-    u_int32_t, u_int32_t));
-int __txn_child_print
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __txn_child_read __P((void *, __txn_child_args **));
-int __txn_init_print __P((DB_ENV *));
-int __txn_init_recover __P((DB_ENV *));
-int __txn_regop_recover
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __txn_xa_regop_recover
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __txn_ckp_recover __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-int __txn_child_recover
-   __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
-#endif /* _txn_ext_h_ */
diff --git a/db2/include/xa.h b/db2/include/xa.h
deleted file mode 100644
index ae822f3e75..0000000000
--- a/db2/include/xa.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*-
- * See the file LICENSE for redistribution information.
- *
- * Copyright (c) 1998
- *	Sleepycat Software.  All rights reserved.
- *
- *	@(#)xa.h	10.1 (Sleepycat) 6/22/98
- */
-/*
- * Start of xa.h header
- *
- * Define a symbol to prevent multiple inclusions of this header file
- */
-#ifndef	XA_H
-#define	XA_H
-
-/*
- * Transaction branch identification: XID and NULLXID:
- */
-#define	XIDDATASIZE	128		/* size in bytes */
-#define	MAXGTRIDSIZE	 64		/* maximum size in bytes of gtrid */
-#define	MAXBQUALSIZE	 64		/* maximum size in bytes of bqual */
-
-struct xid_t {
-	long formatID;			/* format identifier */
-	long gtrid_length;		/* value from 1 through 64 */
-	long bqual_length;		/* value from 1 through 64 */
-	char data[XIDDATASIZE];
-};
-typedef	struct xid_t XID;
-/*
- * A value of -1 in formatID means that the XID is null.
- */
-
-/*
- * Declarations of routines by which RMs call TMs:
- */
-extern int ax_reg __P((int, XID *, long));
-extern int ax_unreg __P((int, long));
-
-/*
- * XA Switch Data Structure
- */
-#define	RMNAMESZ	32		/* length of resource manager name, */
-					/* including the null terminator */
-#define	MAXINFOSIZE	256		/* maximum size in bytes of xa_info */
-					/* strings, including the null
-					terminator */
-struct xa_switch_t {
-	char name[RMNAMESZ];		/* name of resource manager */
-	long flags;			/* resource manager specific options */
-	long version;			/* must be 0 */
-	int (*xa_open_entry)		/* xa_open function pointer */
-	    __P((char *, int, long));
-	int (*xa_close_entry)		/* xa_close function pointer */
-	    __P((char *, int, long));
-	int (*xa_start_entry)		/* xa_start function pointer */
-	    __P((XID *, int, long));
-	int (*xa_end_entry)		/* xa_end function pointer */
-	    __P((XID *, int, long));
-	int (*xa_rollback_entry)	/* xa_rollback function pointer */
-	    __P((XID *, int, long));
-	int (*xa_prepare_entry)		/* xa_prepare function pointer */
-	    __P((XID *, int, long));
-	int (*xa_commit_entry)		/* xa_commit function pointer */
-	    __P((XID *, int, long));
-	int (*xa_recover_entry)		/* xa_recover function pointer */
-	    __P((XID *, long, int, long));
-	int (*xa_forget_entry)		/* xa_forget function pointer */
-	    __P((XID *, int, long));
-	int (*xa_complete_entry)	/* xa_complete function pointer */
-	    __P((int *, int *, int, long));
-};
-
-/*
- * Flag definitions for the RM switch
- */
-#define	TMNOFLAGS	0x00000000L	/* no resource manager features
-					selected */
-#define	TMREGISTER	0x00000001L	/* resource manager dynamically
-					registers */
-#define	TMNOMIGRATE	0x00000002L	/* resource manager does not support
-					association migration */
-#define	TMUSEASYNC	0x00000004L	/* resource manager supports
-					asynchronous operations */
-/*
- * Flag definitions for xa_ and ax_ routines
- */
-/* use TMNOFLAGGS, defined above, when not specifying other flags */
-#define	TMASYNC		0x80000000L	/* perform routine asynchronously */
-#define	TMONEPHASE	0x40000000L	/* caller is using one-phase commit
-					optimisation */
-#define	TMFAIL		0x20000000L	/* dissociates caller and marks
-					transaction branch rollback-only */
-#define	TMNOWAIT	0x10000000L	/* return if blocking condition
-					exists */
-#define	TMRESUME	0x08000000L	/* caller is resuming association with
-					suspended transaction branch */
-#define	TMSUCCESS	0x04000000L	/* dissociate caller from transaction
-					branch */
-#define	TMSUSPEND	0x02000000L	/* caller is suspending, not ending,
-					association */
-#define	TMSTARTRSCAN	0x01000000L	/* start a recovery scan */
-#define	TMENDRSCAN	0x00800000L	/* end a recovery scan */
-#define	TMMULTIPLE	0x00400000L	/* wait for any asynchronous
-					operation */
-#define	TMJOIN		0x00200000L	/* caller is joining existing
-					transaction branch */
-#define	TMMIGRATE	0x00100000L	/* caller intends to perform
-					migration */
-
-/*
- * ax_() return codes (transaction manager reports to resource manager)
- */
-#define	TM_JOIN		2		/* caller is joining existing
-					transaction branch */
-#define	TM_RESUME	1		/* caller is resuming association with
-					suspended transaction branch */
-#define	TM_OK		0		/* normal execution */
-#define	TMER_TMERR	-1		/* an error occurred in the transaction
-					manager */
-#define	TMER_INVAL	-2		/* invalid arguments were given */
-#define	TMER_PROTO	-3		/* routine invoked in an improper
-					context */
-
-/*
- * xa_() return codes (resource manager reports to transaction manager)
- */
-#define	XA_RBBASE	100		/* The inclusive lower bound of the
-					rollback codes */
-#define	XA_RBROLLBACK	XA_RBBASE	/* The rollback was caused by an
-					unspecified reason */
-#define	XA_RBCOMMFAIL	XA_RBBASE+1	/* The rollback was caused by a
-					communication failure */
-#define	XA_RBDEADLOCK	XA_RBBASE+2	/* A deadlock was detected */
-#define	XA_RBINTEGRITY	XA_RBBASE+3	/* A condition that violates the
-					integrity of the resources was
-					detected */
-#define	XA_RBOTHER	XA_RBBASE+4	/* The resource manager rolled back the
-					transaction branch for a reason not
-					on this list */
-#define	XA_RBPROTO	XA_RBBASE+5	/* A protocol error occurred in the
-					resource manager */
-#define	XA_RBTIMEOUT	XA_RBBASE+6	/* A transaction branch took too long */
-#define	XA_RBTRANSIENT	XA_RBBASE+7	/* May retry the transaction branch */
-#define	XA_RBEND	XA_RBTRANSIENT	/* The inclusive upper bound of the
-					rollback codes */
-#define	XA_NOMIGRATE	9		/* resumption must occur where
-					suspension occurred */
-#define	XA_HEURHAZ	8		/* the transaction branch may have
-					been heuristically completed */
-#define	XA_HEURCOM	7		/* the transaction branch has been
-					heuristically committed */
-#define	XA_HEURRB	6		/* the transaction branch has been
-					heuristically rolled back */
-#define	XA_HEURMIX	5		/* the transaction branch has been
-					heuristically committed and rolled
-					back */
-#define	XA_RETRY	4		/* routine returned with no effect and
-					may be re-issued */
-#define	XA_RDONLY	3		/* the transaction branch was read-only
-					and has been committed */
-#define	XA_OK		0		/* normal execution */
-#define	XAER_ASYNC	-2		/* asynchronous operation already
-					outstanding */
-#define	XAER_RMERR	-3		/* a resource manager error occurred in
-					 the transaction branch */
-#define	XAER_NOTA	-4		/* the XID is not valid */
-#define	XAER_INVAL	-5		/* invalid arguments were given */
-#define	XAER_PROTO	-6		/* routine invoked in an improper
-					context */
-#define	XAER_RMFAIL	-7		/* resource manager unavailable */
-#define	XAER_DUPID	-8		/* the XID already exists */
-#define	XAER_OUTSIDE	-9		/* resource manager doing work outside
-					transaction */
-#endif /* ifndef XA_H */
-/*
- * End of xa.h header
- */
diff --git a/db2/include/xa_ext.h b/db2/include/xa_ext.h
deleted file mode 100644
index 00369ccaae..0000000000
--- a/db2/include/xa_ext.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* DO NOT EDIT: automatically built by dist/distrib. */
-#ifndef _xa_ext_h_
-#define _xa_ext_h_
-int __db_rmid_to_env __P((int rmid, DB_ENV **envp, int open_ok));
-int __db_xid_to_txn __P((DB_ENV *, XID *, size_t *));
-int __db_map_rmid __P((int, DB_ENV *));
-int __db_unmap_rmid __P((int));
-int __db_map_xid __P((DB_ENV *, XID *, size_t));
-void __db_unmap_xid __P((DB_ENV *, XID *, size_t));
-int __db_map_rmid_name __P((int, char *));
-int __db_rmid_to_name __P((int, char **));
- void __db_unmap_rmid_name __P((int));
-#endif /* _xa_ext_h_ */