add db.1.85
authorSven Verdoolaege <skimo@kotnet.org>
Sun, 27 Dec 2009 16:28:47 +0000 (27 17:28 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 30 Dec 2009 08:18:51 +0000 (30 09:18 +0100)
We can no longer assume that db.1.85 will be installed on the system,
so let's just ship our own copy.

230 files changed:
db.1.85/Makefile.inc [new file with mode: 0644]
db.1.85/PORT/Makefile [new file with mode: 0644]
db.1.85/PORT/README [new file with mode: 0644]
db.1.85/PORT/aix.3.2/Makefile [new file with mode: 0644]
db.1.85/PORT/aix.3.2/clib [new symlink]
db.1.85/PORT/aix.3.2/include/cdefs.h [new symlink]
db.1.85/PORT/aix.3.2/include/compat.h [new file with mode: 0644]
db.1.85/PORT/aix.3.2/include/db.h [new symlink]
db.1.85/PORT/aix.3.2/include/mpool.h [new symlink]
db.1.85/PORT/aix.3.2/include/ndbm.h [new symlink]
db.1.85/PORT/aix.3.2/include/queue.h [new symlink]
db.1.85/PORT/aix.3.2/sys [new symlink]
db.1.85/PORT/bsd.4.4/Makefile [new symlink]
db.1.85/PORT/bsd.4.4/clib [new symlink]
db.1.85/PORT/bsd.4.4/include/cdefs.h [new symlink]
db.1.85/PORT/bsd.4.4/include/compat.h [new symlink]
db.1.85/PORT/bsd.4.4/include/db.h [new file with mode: 0644]
db.1.85/PORT/bsd.4.4/include/mpool.h [new symlink]
db.1.85/PORT/bsd.4.4/include/ndbm.h [new symlink]
db.1.85/PORT/bsd.4.4/include/queue.h [new symlink]
db.1.85/PORT/bsd.4.4/sys [new symlink]
db.1.85/PORT/bsdi.1.0/Makefile [new symlink]
db.1.85/PORT/bsdi.1.0/OTHER_PATCHES [new file with mode: 0644]
db.1.85/PORT/bsdi.1.0/clib [new symlink]
db.1.85/PORT/bsdi.1.0/include/assert.h [new file with mode: 0644]
db.1.85/PORT/bsdi.1.0/include/cdefs.h [new symlink]
db.1.85/PORT/bsdi.1.0/include/compat.h [new file with mode: 0644]
db.1.85/PORT/bsdi.1.0/include/db.h [new symlink]
db.1.85/PORT/bsdi.1.0/include/mpool.h [new symlink]
db.1.85/PORT/bsdi.1.0/include/ndbm.h [new symlink]
db.1.85/PORT/bsdi.1.0/include/queue.h [new symlink]
db.1.85/PORT/bsdi.1.0/local/local.h [new file with mode: 0644]
db.1.85/PORT/bsdi.1.0/local/makebuf.c [new file with mode: 0644]
db.1.85/PORT/bsdi.1.0/local/setvbuf.c [new file with mode: 0644]
db.1.85/PORT/bsdi.1.0/sys [new symlink]
db.1.85/PORT/clib/memmove.c [new file with mode: 0644]
db.1.85/PORT/clib/mktemp.c [new file with mode: 0644]
db.1.85/PORT/clib/snprintf.c [new file with mode: 0644]
db.1.85/PORT/clib/strerror.c [new file with mode: 0644]
db.1.85/PORT/dgux.5.4/Makefile [new file with mode: 0644]
db.1.85/PORT/dgux.5.4/clib [new symlink]
db.1.85/PORT/dgux.5.4/include/cdefs.h [new symlink]
db.1.85/PORT/dgux.5.4/include/compat.h [new file with mode: 0644]
db.1.85/PORT/dgux.5.4/include/db.h [new symlink]
db.1.85/PORT/dgux.5.4/include/mpool.h [new symlink]
db.1.85/PORT/dgux.5.4/include/ndbm.h [new symlink]
db.1.85/PORT/dgux.5.4/include/queue.h [new symlink]
db.1.85/PORT/dgux.5.4/sys [new symlink]
db.1.85/PORT/hpux.8.07 [new symlink]
db.1.85/PORT/hpux.9.01/Makefile [new file with mode: 0644]
db.1.85/PORT/hpux.9.01/clib [new symlink]
db.1.85/PORT/hpux.9.01/include/cdefs.h [new symlink]
db.1.85/PORT/hpux.9.01/include/compat.h [new file with mode: 0644]
db.1.85/PORT/hpux.9.01/include/db.h [new symlink]
db.1.85/PORT/hpux.9.01/include/mpool.h [new symlink]
db.1.85/PORT/hpux.9.01/include/ndbm.h [new symlink]
db.1.85/PORT/hpux.9.01/include/queue.h [new symlink]
db.1.85/PORT/hpux.9.01/local/hp_siglist.c [new file with mode: 0644]
db.1.85/PORT/hpux.9.01/sys [new symlink]
db.1.85/PORT/include/cdefs.h [new file with mode: 0644]
db.1.85/PORT/include/compat.h [new file with mode: 0644]
db.1.85/PORT/include/db.h [new symlink]
db.1.85/PORT/include/mpool.h [new symlink]
db.1.85/PORT/include/ndbm.h [new file with mode: 0644]
db.1.85/PORT/include/queue.h [new file with mode: 0644]
db.1.85/PORT/irix.4.05F/Makefile [new file with mode: 0644]
db.1.85/PORT/irix.4.05F/OTHER_PATCHES [new file with mode: 0644]
db.1.85/PORT/irix.4.05F/clib [new symlink]
db.1.85/PORT/irix.4.05F/include/cdefs.h [new symlink]
db.1.85/PORT/irix.4.05F/include/compat.h [new file with mode: 0644]
db.1.85/PORT/irix.4.05F/include/db.h [new symlink]
db.1.85/PORT/irix.4.05F/include/mpool.h [new symlink]
db.1.85/PORT/irix.4.05F/include/ndbm.h [new symlink]
db.1.85/PORT/irix.4.05F/include/queue.h [new symlink]
db.1.85/PORT/irix.4.05F/sys [new symlink]
db.1.85/PORT/linux/Makefile [new file with mode: 0644]
db.1.85/PORT/linux/OTHER_PATCHES [new file with mode: 0644]
db.1.85/PORT/linux/clib [new symlink]
db.1.85/PORT/linux/include/compat.h [new file with mode: 0644]
db.1.85/PORT/linux/include/db.h [new symlink]
db.1.85/PORT/linux/include/mpool.h [new symlink]
db.1.85/PORT/linux/include/ndbm.h [new symlink]
db.1.85/PORT/linux/sys [new symlink]
db.1.85/PORT/osf.1.0.2/Makefile [new file with mode: 0644]
db.1.85/PORT/osf.1.0.2/clib [new symlink]
db.1.85/PORT/osf.1.0.2/include/cdefs.h [new symlink]
db.1.85/PORT/osf.1.0.2/include/compat.h [new file with mode: 0644]
db.1.85/PORT/osf.1.0.2/include/db.h [new symlink]
db.1.85/PORT/osf.1.0.2/include/mpool.h [new symlink]
db.1.85/PORT/osf.1.0.2/include/ndbm.h [new symlink]
db.1.85/PORT/osf.1.0.2/include/queue.h [new symlink]
db.1.85/PORT/osf.1.0.2/sys [new symlink]
db.1.85/PORT/osf.1.3 [new symlink]
db.1.85/PORT/osf.2.0 [new symlink]
db.1.85/PORT/ptx.2.0/Makefile [new file with mode: 0644]
db.1.85/PORT/ptx.2.0/OTHER_PATCHES [new file with mode: 0644]
db.1.85/PORT/ptx.2.0/clib [new symlink]
db.1.85/PORT/ptx.2.0/include/cdefs.h [new symlink]
db.1.85/PORT/ptx.2.0/include/compat.h [new file with mode: 0644]
db.1.85/PORT/ptx.2.0/include/db.h [new symlink]
db.1.85/PORT/ptx.2.0/include/mpool.h [new symlink]
db.1.85/PORT/ptx.2.0/include/ndbm.h [new symlink]
db.1.85/PORT/ptx.2.0/include/pathnames.h [new file with mode: 0644]
db.1.85/PORT/ptx.2.0/include/queue.h [new symlink]
db.1.85/PORT/ptx.2.0/sys [new symlink]
db.1.85/PORT/sinix.5.41/Makefile [new file with mode: 0644]
db.1.85/PORT/sinix.5.41/clib [new symlink]
db.1.85/PORT/sinix.5.41/include/cdefs.h [new symlink]
db.1.85/PORT/sinix.5.41/include/compat.h [new file with mode: 0644]
db.1.85/PORT/sinix.5.41/include/db.h [new symlink]
db.1.85/PORT/sinix.5.41/include/mpool.h [new symlink]
db.1.85/PORT/sinix.5.41/include/ndbm.h [new symlink]
db.1.85/PORT/sinix.5.41/include/queue.h [new symlink]
db.1.85/PORT/sinix.5.41/sys [new symlink]
db.1.85/PORT/solaris.2.2 [new symlink]
db.1.85/PORT/sunos.4.1.1/Makefile [new file with mode: 0644]
db.1.85/PORT/sunos.4.1.1/clib [new symlink]
db.1.85/PORT/sunos.4.1.1/include/cdefs.h [new symlink]
db.1.85/PORT/sunos.4.1.1/include/compat.h [new file with mode: 0644]
db.1.85/PORT/sunos.4.1.1/include/db.h [new symlink]
db.1.85/PORT/sunos.4.1.1/include/mpool.h [new symlink]
db.1.85/PORT/sunos.4.1.1/include/ndbm.h [new symlink]
db.1.85/PORT/sunos.4.1.1/include/pathnames.h [new file with mode: 0644]
db.1.85/PORT/sunos.4.1.1/include/queue.h [new symlink]
db.1.85/PORT/sunos.4.1.1/sys [new symlink]
db.1.85/PORT/sunos.4.1.2 [new symlink]
db.1.85/PORT/sunos.4.1.3 [new symlink]
db.1.85/PORT/sunos.5.2/Makefile [new file with mode: 0644]
db.1.85/PORT/sunos.5.2/clib [new symlink]
db.1.85/PORT/sunos.5.2/include/cdefs.h [new symlink]
db.1.85/PORT/sunos.5.2/include/compat.h [new file with mode: 0644]
db.1.85/PORT/sunos.5.2/include/db.h [new symlink]
db.1.85/PORT/sunos.5.2/include/mpool.h [new symlink]
db.1.85/PORT/sunos.5.2/include/ndbm.h [new symlink]
db.1.85/PORT/sunos.5.2/include/queue.h [new symlink]
db.1.85/PORT/sunos.5.2/sys [new symlink]
db.1.85/PORT/ultrix.4.2/Makefile [new file with mode: 0644]
db.1.85/PORT/ultrix.4.2/clib [new symlink]
db.1.85/PORT/ultrix.4.2/include/cdefs.h [new symlink]
db.1.85/PORT/ultrix.4.2/include/compat.h [new file with mode: 0644]
db.1.85/PORT/ultrix.4.2/include/db.h [new file with mode: 0644]
db.1.85/PORT/ultrix.4.2/include/mpool.h [new symlink]
db.1.85/PORT/ultrix.4.2/include/ndbm.h [new symlink]
db.1.85/PORT/ultrix.4.2/include/queue.h [new symlink]
db.1.85/PORT/ultrix.4.2/sys [new symlink]
db.1.85/PORT/ultrix.4.3 [new symlink]
db.1.85/README [new file with mode: 0644]
db.1.85/btree/Makefile.inc [new file with mode: 0644]
db.1.85/btree/bt_close.c [new file with mode: 0644]
db.1.85/btree/bt_conv.c [new file with mode: 0644]
db.1.85/btree/bt_debug.c [new file with mode: 0644]
db.1.85/btree/bt_delete.c [new file with mode: 0644]
db.1.85/btree/bt_get.c [new file with mode: 0644]
db.1.85/btree/bt_open.c [new file with mode: 0644]
db.1.85/btree/bt_overflow.c [new file with mode: 0644]
db.1.85/btree/bt_page.c [new file with mode: 0644]
db.1.85/btree/bt_put.c [new file with mode: 0644]
db.1.85/btree/bt_search.c [new file with mode: 0644]
db.1.85/btree/bt_seq.c [new file with mode: 0644]
db.1.85/btree/bt_split.c [new file with mode: 0644]
db.1.85/btree/bt_utils.c [new file with mode: 0644]
db.1.85/btree/btree.h [new file with mode: 0644]
db.1.85/btree/extern.h [new file with mode: 0644]
db.1.85/btree/tags [new symlink]
db.1.85/changelog [new file with mode: 0644]
db.1.85/db/Makefile.inc [new file with mode: 0644]
db.1.85/db/db.c [new file with mode: 0644]
db.1.85/db/tags [new file with mode: 0644]
db.1.85/docs/btree.3.ps [new file with mode: 0644]
db.1.85/docs/dbopen.3.ps [new file with mode: 0644]
db.1.85/docs/hash.3.ps [new file with mode: 0644]
db.1.85/docs/hash.usenix.ps [new file with mode: 0644]
db.1.85/docs/libtp.usenix.ps [new file with mode: 0644]
db.1.85/docs/mpool.3.ps [new file with mode: 0644]
db.1.85/docs/recno.3.ps [new file with mode: 0644]
db.1.85/hash/Makefile.inc [new file with mode: 0644]
db.1.85/hash/README [new file with mode: 0644]
db.1.85/hash/extern.h [new file with mode: 0644]
db.1.85/hash/hash.c [new file with mode: 0644]
db.1.85/hash/hash.h [new file with mode: 0644]
db.1.85/hash/hash_bigkey.c [new file with mode: 0644]
db.1.85/hash/hash_buf.c [new file with mode: 0644]
db.1.85/hash/hash_func.c [new file with mode: 0644]
db.1.85/hash/hash_log2.c [new file with mode: 0644]
db.1.85/hash/hash_page.c [new file with mode: 0644]
db.1.85/hash/hsearch.c [new file with mode: 0644]
db.1.85/hash/ndbm.c [new file with mode: 0644]
db.1.85/hash/page.h [new file with mode: 0644]
db.1.85/hash/search.h [new file with mode: 0644]
db.1.85/hash/tags [new symlink]
db.1.85/include/db.h [new file with mode: 0644]
db.1.85/include/mpool.h [new file with mode: 0644]
db.1.85/include/tags [new symlink]
db.1.85/man/Makefile.inc [new file with mode: 0644]
db.1.85/man/btree.3 [new file with mode: 0644]
db.1.85/man/dbopen.3 [new file with mode: 0644]
db.1.85/man/hash.3 [new file with mode: 0644]
db.1.85/man/mpool.3 [new file with mode: 0644]
db.1.85/man/recno.3 [new file with mode: 0644]
db.1.85/mpool/Makefile.inc [new file with mode: 0644]
db.1.85/mpool/README [new file with mode: 0644]
db.1.85/mpool/mpool.c [new file with mode: 0644]
db.1.85/mpool/mpool.libtp [new file with mode: 0644]
db.1.85/mpool/tags [new symlink]
db.1.85/recno/Makefile.inc [new file with mode: 0644]
db.1.85/recno/extern.h [new file with mode: 0644]
db.1.85/recno/rec_close.c [new file with mode: 0644]
db.1.85/recno/rec_delete.c [new file with mode: 0644]
db.1.85/recno/rec_get.c [new file with mode: 0644]
db.1.85/recno/rec_open.c [new file with mode: 0644]
db.1.85/recno/rec_put.c [new file with mode: 0644]
db.1.85/recno/rec_search.c [new file with mode: 0644]
db.1.85/recno/rec_seq.c [new file with mode: 0644]
db.1.85/recno/rec_utils.c [new file with mode: 0644]
db.1.85/recno/recno.h [new file with mode: 0644]
db.1.85/recno/tags [new symlink]
db.1.85/test/Makefile [new file with mode: 0644]
db.1.85/test/README [new file with mode: 0644]
db.1.85/test/btree.tests/main.c [new file with mode: 0644]
db.1.85/test/dbtest.c [new file with mode: 0644]
db.1.85/test/hash.tests/driver2.c [new file with mode: 0644]
db.1.85/test/hash.tests/makedb.sh [new file with mode: 0644]
db.1.85/test/hash.tests/tcreat3.c [new file with mode: 0644]
db.1.85/test/hash.tests/tdel.c [new file with mode: 0644]
db.1.85/test/hash.tests/testit [new file with mode: 0644]
db.1.85/test/hash.tests/thash4.c [new file with mode: 0644]
db.1.85/test/hash.tests/tread2.c [new file with mode: 0644]
db.1.85/test/hash.tests/tseq.c [new file with mode: 0644]
db.1.85/test/hash.tests/tverify.c [new file with mode: 0644]
db.1.85/test/run.test [new file with mode: 0644]

diff --git a/db.1.85/Makefile.inc b/db.1.85/Makefile.inc
new file mode 100644 (file)
index 0000000..77af9c5
--- /dev/null
@@ -0,0 +1,10 @@
+#      @(#)Makefile.inc        8.2 (Berkeley) 2/21/94
+#
+CFLAGS+=-D__DBINTERFACE_PRIVATE
+
+.include "${.CURDIR}/db/btree/Makefile.inc"
+.include "${.CURDIR}/db/db/Makefile.inc"
+.include "${.CURDIR}/db/hash/Makefile.inc"
+.include "${.CURDIR}/db/man/Makefile.inc"
+.include "${.CURDIR}/db/mpool/Makefile.inc"
+.include "${.CURDIR}/db/recno/Makefile.inc"
diff --git a/db.1.85/PORT/Makefile b/db.1.85/PORT/Makefile
new file mode 100644 (file)
index 0000000..383b259
--- /dev/null
@@ -0,0 +1,102 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/README b/db.1.85/PORT/README
new file mode 100644 (file)
index 0000000..6d47281
--- /dev/null
@@ -0,0 +1,131 @@
+#      @(#)README      8.6 (Berkeley) 6/20/94
+
+This is the area for building the libdb library.  There are a number
+of porting directories, for various architecture/OS combinations.  Pick
+the one that's closest to yours and try "make".  For the rest of this
+file, I'll use "MACH" as a fake architecture/OS name.
+
+To PORT to a new system, create the following subdirectories and
+symbolic links.
+
+       mkdir MACH              (for example: mkdir sunos.4.0)
+       cd MACH
+       cp ../Makefile .
+       chmod 664 Makefile
+       ln -s ../clib .
+       mkdir include
+       ln -s include sys
+       cd include
+       ln -s ../../include/*.h .
+       rm compat.h
+       cp ../../include/compat.h .
+       chmod 664 compat.h
+       cd ..
+
+The basic idea is that you now have a local area that you can modify.
+In particular, you have local copies of the Makefile and the include
+file compat.h.  Read through the Makefile and compat.h and make whatever
+changes are appropriate to your system.  If there's an architecture
+that's close to yours, you probably should diff the Makefile and
+compat.h in that tree against the standard ones and see what changes
+were necessary, as they're probably necessary for you as well.  Then,
+enter "make" and see what happens!
+
+There are several subroutines that are found in POSIX 1003.2, ANSI
+C, or 4.4BSD that you may not have.  Once you get libdb.a to compile,
+go through the list of undefined routines and add entries to the MISC
+line in the Makefile as necessary.
+
+If you have to add some functions that are missing (and which aren't
+in the PORT/clib directory), please don't add them in the PORT/clib
+directory.  Add them in a MACH/local directory, and add lines of the
+form:
+
+       function.o: local/function.o
+               ${CL} -Ilocal local/function.o
+
+to your local Makefile.
+
+Hopefully, over time, we'll develop a set of system directories that
+are known to work.  If you send me the changes that were necessary to
+make your system work, this will happen much more quickly.
+
+In some of the system directories, you'll see a file named OTHER_PATCHES.
+This is a set of patches which you'll have to make from the top-level db
+directory to get libdb.a to run on this system:
+
+       cd ..
+       patch < PORT/MACH/OTHER_PATCHES
+
+If patch prompts you for the name of the file to modify (some versions
+of patch don't figure it out on their own) use the file name which patch
+displays.
+
+Some knobs you may have to turn:
+
+In include/db.h:
+       Before attempting to build libdb, you should look through the
+       db.h file, and adjust it as necessary for your system.  The
+       only adjustments that you should need to make are for the
+       fixed sized typedef's at the top of the file.  Make sure they're
+       right for your system.
+
+In include/compat.h:
+       Before attempting to build libdb, you should look through the
+       compat.h file, and adjust it as necessary for your system.
+       It's possible to use the #ifndef construct to figure out if a
+       #ifdef has been set, but C provides no similar method to figure
+       out if a typedef has been done.  Your compile errors should
+       give you a good indication of which ones you need.
+
+You may see warning messages about illegal pointer combinations.  You may
+also see lots of warning messages about #define's being redefined.  These
+can mostly be ignored.  I usually ignore warning messages until something
+doesn't work.  Some systems produce thousands of lines of useless warnings,
+bless their little hearts.
+
+The other parts of the PORT directory are as follows:
+
+       The directory PORT/clib is a set of functions that the 4.4BSD
+       C library had and which your system may not have.  They are
+       added to the MISC line of the Makefile if they aren't defined
+       when you try and load libdb.a.
+       
+       The directory PORT/include is header files that the 4.4BSD
+       system had which your system may not have.  There is also
+       one really important extra one, named compat.h, which is a
+       set of compatibility work-arounds that you'll almost certainly
+       have to copy and modify for a new system.
+
+       The symbolic link PORT/sys points to the PORT/include directory
+       so that includes of the form <sys/include.h> work.
+
+Some of the more common portability problems:
+
+       If you don't have:
+
+               memmove(3):     add memmove.o
+               mkstemp(3):     add mktemp.o
+
+                       ... to the MISC line in the Makefile.
+
+       If you don't have snprintf/vsnprintf(3), add snprintf.o to the
+       MISC line in the Makefile.  This workaround depends on your
+       system having vsprintf(3) -- if you don't, there's no workaround
+       other than changing the source code to not use the snprintf calls.
+       If you have to make that change, check to see if your vsprintf
+       returns a length or a char *; if it's the latter, make sure you
+       set VSPRINTF_CHARSTAR in the MACH/include/compat.h file.
+
+Installing the DB library:
+
+       The Makefile builds a C library named libdb.a.  This file needs
+       to be installed in a place where the loader will automatically
+       look for it (or, if you're building it for a single project,
+       wherever that project's Makefile loads it from).
+
+       In addition, the header file PORT/include/db.h must be copied to
+       a directory (often /usr/include/) where programs that use the
+       db package can include it in their source.  (If you intend to use
+       the ndbm interface to libdb, you'll need to copy the header file
+       PORT/include/ndbm.h as well.)
diff --git a/db.1.85/PORT/aix.3.2/Makefile b/db.1.85/PORT/aix.3.2/Makefile
new file mode 100644 (file)
index 0000000..85b09a7
--- /dev/null
@@ -0,0 +1,102 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/aix.3.2/clib b/db.1.85/PORT/aix.3.2/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/aix.3.2/include/cdefs.h b/db.1.85/PORT/aix.3.2/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/aix.3.2/include/compat.h b/db.1.85/PORT/aix.3.2/include/compat.h
new file mode 100644 (file)
index 0000000..2bd360a
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      BIG_ENDIAN      /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/aix.3.2/include/db.h b/db.1.85/PORT/aix.3.2/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/aix.3.2/include/mpool.h b/db.1.85/PORT/aix.3.2/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/aix.3.2/include/ndbm.h b/db.1.85/PORT/aix.3.2/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/aix.3.2/include/queue.h b/db.1.85/PORT/aix.3.2/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/aix.3.2/sys b/db.1.85/PORT/aix.3.2/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/bsd.4.4/Makefile b/db.1.85/PORT/bsd.4.4/Makefile
new file mode 120000 (symlink)
index 0000000..d0b0e8e
--- /dev/null
@@ -0,0 +1 @@
+../Makefile
\ No newline at end of file
diff --git a/db.1.85/PORT/bsd.4.4/clib b/db.1.85/PORT/bsd.4.4/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/bsd.4.4/include/cdefs.h b/db.1.85/PORT/bsd.4.4/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsd.4.4/include/compat.h b/db.1.85/PORT/bsd.4.4/include/compat.h
new file mode 120000 (symlink)
index 0000000..c626d51
--- /dev/null
@@ -0,0 +1 @@
+../../include/compat.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsd.4.4/include/db.h b/db.1.85/PORT/bsd.4.4/include/db.h
new file mode 100644 (file)
index 0000000..cae13f9
--- /dev/null
@@ -0,0 +1,222 @@
+/*-
+ * 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.h        8.6 (Berkeley) 6/16/94
+ */
+
+#ifndef _DB_H_
+#define        _DB_H_
+
+#include <sys/types.h>
+#include <sys/cdefs.h>
+
+#include <limits.h>
+
+#ifdef __DBINTERFACE_PRIVATE
+#include <compat.h>
+#endif
+
+#define        RET_ERROR       -1              /* Return values. */
+#define        RET_SUCCESS      0
+#define        RET_SPECIAL      1
+
+#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;
+
+/*
+ * !!!
+ * The following flags are included in the dbopen(3) call as part of the
+ * open(2) flags.  In order to avoid conflicts with the open flags, start
+ * at the top of the 16 or 32-bit number space and work our way down.  If
+ * the open flags were significantly expanded in the future, it could be
+ * a problem.  Wish I'd left another flags word in the dbopen call.
+ *
+ * !!!
+ * None of this stuff is implemented yet.  The only reason that it's here
+ * is so that the access methods can skip copying the key/data pair when
+ * the DB_LOCK flag isn't set.
+ */
+#if UINT_MAX > 65535
+#define        DB_LOCK         0x20000000      /* Do locking. */
+#define        DB_SHMEM        0x40000000      /* Use shared memory. */
+#define        DB_TXN          0x80000000      /* Do transactions. */
+#else
+#define        DB_LOCK             0x2000      /* Do locking. */
+#define        DB_SHMEM            0x4000      /* Use shared memory. */
+#define        DB_TXN              0x8000      /* Do transactions. */
+#endif
+
+/* 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_long  flags;
+       u_int   cachesize;      /* bytes to cache */
+       int     maxkeypage;     /* maximum keys per page */
+       int     minkeypage;     /* minimum keys per page */
+       u_int   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_int   bsize;          /* bucket size */
+       u_int   ffactor;        /* fill factor */
+       u_int   nelem;          /* number of elements */
+       u_int   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_long  flags;
+       u_int   cachesize;      /* bytes to cache */
+       u_int   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;
+
+#ifdef __DBINTERFACE_PRIVATE
+/*
+ * Little endian <==> big endian 32-bit swap macros.
+ *     M_32_SWAP       swap a memory location
+ *     P_32_SWAP       swap a referenced memory location
+ *     P_32_COPY       swap from one location to another
+ */
+#define        M_32_SWAP(a) {                                                  \
+       u_int32_t _tmp = a;                                             \
+       ((char *)&a)[0] = ((char *)&_tmp)[3];                           \
+       ((char *)&a)[1] = ((char *)&_tmp)[2];                           \
+       ((char *)&a)[2] = ((char *)&_tmp)[1];                           \
+       ((char *)&a)[3] = ((char *)&_tmp)[0];                           \
+}
+#define        P_32_SWAP(a) {                                                  \
+       u_int32_t _tmp = *(u_int32_t *)a;                               \
+       ((char *)a)[0] = ((char *)&_tmp)[3];                            \
+       ((char *)a)[1] = ((char *)&_tmp)[2];                            \
+       ((char *)a)[2] = ((char *)&_tmp)[1];                            \
+       ((char *)a)[3] = ((char *)&_tmp)[0];                            \
+}
+#define        P_32_COPY(a, b) {                                               \
+       ((char *)&(b))[0] = ((char *)&(a))[3];                          \
+       ((char *)&(b))[1] = ((char *)&(a))[2];                          \
+       ((char *)&(b))[2] = ((char *)&(a))[1];                          \
+       ((char *)&(b))[3] = ((char *)&(a))[0];                          \
+}
+
+/*
+ * Little endian <==> big endian 16-bit swap macros.
+ *     M_16_SWAP       swap a memory location
+ *     P_16_SWAP       swap a referenced memory location
+ *     P_16_COPY       swap from one location to another
+ */
+#define        M_16_SWAP(a) {                                                  \
+       u_int16_t _tmp = a;                                             \
+       ((char *)&a)[0] = ((char *)&_tmp)[1];                           \
+       ((char *)&a)[1] = ((char *)&_tmp)[0];                           \
+}
+#define        P_16_SWAP(a) {                                                  \
+       u_int16_t _tmp = *(u_int16_t *)a;                               \
+       ((char *)a)[0] = ((char *)&_tmp)[1];                            \
+       ((char *)a)[1] = ((char *)&_tmp)[0];                            \
+}
+#define        P_16_COPY(a, b) {                                               \
+       ((char *)&(b))[0] = ((char *)&(a))[1];                          \
+       ((char *)&(b))[1] = ((char *)&(a))[0];                          \
+}
+#endif
+
+__BEGIN_DECLS
+DB *dbopen __P((const char *, int, int, DBTYPE, const void *));
+
+#ifdef __DBINTERFACE_PRIVATE
+DB     *__bt_open __P((const char *, int, int, const BTREEINFO *, int));
+DB     *__hash_open __P((const char *, int, int, const HASHINFO *, int));
+DB     *__rec_open __P((const char *, int, int, const RECNOINFO *, int));
+void    __dbpanic __P((DB *dbp));
+#endif
+__END_DECLS
+#endif /* !_DB_H_ */
diff --git a/db.1.85/PORT/bsd.4.4/include/mpool.h b/db.1.85/PORT/bsd.4.4/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsd.4.4/include/ndbm.h b/db.1.85/PORT/bsd.4.4/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsd.4.4/include/queue.h b/db.1.85/PORT/bsd.4.4/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsd.4.4/sys b/db.1.85/PORT/bsd.4.4/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/bsdi.1.0/Makefile b/db.1.85/PORT/bsdi.1.0/Makefile
new file mode 120000 (symlink)
index 0000000..d0b0e8e
--- /dev/null
@@ -0,0 +1 @@
+../Makefile
\ No newline at end of file
diff --git a/db.1.85/PORT/bsdi.1.0/OTHER_PATCHES b/db.1.85/PORT/bsdi.1.0/OTHER_PATCHES
new file mode 100644 (file)
index 0000000..85027c9
--- /dev/null
@@ -0,0 +1,19 @@
+*** PORT/db/recno/rec_open.c.orig      Mon Aug 16 16:29:18 1993
+--- PORT/db/recno/rec_open.c   Mon Aug 16 16:29:35 1993
+***************
+*** 159,165 ****
+                       else {
+                               t->bt_msize = sb.st_size;
+                               if ((t->bt_smap = mmap(NULL, t->bt_msize,
+!                                  PROT_READ, MAP_PRIVATE, rfd,
+                                   (off_t)0)) == (caddr_t)-1)
+                                       goto slow;
+                               t->bt_cmap = t->bt_smap;
+--- 159,165 ----
+                       else {
+                               t->bt_msize = sb.st_size;
+                               if ((t->bt_smap = mmap(NULL, t->bt_msize,
+!                                  PROT_READ, MAP_FILE | MAP_PRIVATE, rfd,
+                                   (off_t)0)) == (caddr_t)-1)
+                                       goto slow;
+                               t->bt_cmap = t->bt_smap;
diff --git a/db.1.85/PORT/bsdi.1.0/clib b/db.1.85/PORT/bsdi.1.0/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/bsdi.1.0/include/assert.h b/db.1.85/PORT/bsdi.1.0/include/assert.h
new file mode 100644 (file)
index 0000000..f455fe8
--- /dev/null
@@ -0,0 +1,54 @@
+/*-
+ * Copyright (c) 1990 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.
+ *
+ *     @(#)assert.h    4.4 (Berkeley) 4/3/91
+ */
+
+#ifndef _ASSERT_H_
+#define        _ASSERT_H_
+
+#ifdef NDEBUG
+#define        assert(expression)
+#define        _assert(expression)
+#else
+#define        assert(expression) { \
+       if (!(expression)) { \
+               (void)fprintf(stderr, \
+                   "assertion \"%s\" failed: file \"%s\", line %d\n", \
+                   "expression", __FILE__, __LINE__); \
+               exit(2); \
+       } \
+}
+#define        _assert(expression)     assert(expression)
+#endif
+
+#endif /* !_ASSERT_H_ */
diff --git a/db.1.85/PORT/bsdi.1.0/include/cdefs.h b/db.1.85/PORT/bsdi.1.0/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsdi.1.0/include/compat.h b/db.1.85/PORT/bsdi.1.0/include/compat.h
new file mode 100644 (file)
index 0000000..ae735ef
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      LITTLE_ENDIAN   /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/bsdi.1.0/include/db.h b/db.1.85/PORT/bsdi.1.0/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsdi.1.0/include/mpool.h b/db.1.85/PORT/bsdi.1.0/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsdi.1.0/include/ndbm.h b/db.1.85/PORT/bsdi.1.0/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsdi.1.0/include/queue.h b/db.1.85/PORT/bsdi.1.0/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/bsdi.1.0/local/local.h b/db.1.85/PORT/bsdi.1.0/local/local.h
new file mode 100644 (file)
index 0000000..21966d7
--- /dev/null
@@ -0,0 +1,87 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * 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.
+ *
+ *     @(#)local.h     5.3 (Berkeley) 5/6/93
+ */
+
+/*
+ * Information local to this implementation of stdio,
+ * in particular, macros and private variables.
+ */
+
+int    __sflush __P((FILE *));
+FILE   *__sfp __P((void));
+int    __srefill __P((FILE *));
+int    __sread __P((void *, char *, int));
+int    __swrite __P((void *, char const *, int));
+fpos_t __sseek __P((void *, fpos_t, int));
+int    __sclose __P((void *));
+void   __sinit __P((void));
+void   _cleanup __P((void));
+void   (*__cleanup) __P((void));
+void   __smakebuf __P((FILE *));
+int    __swhatbuf __P((FILE *, size_t *, int *));
+int    _fwalk __P((int (*)(FILE *)));
+int    __swsetup __P((FILE *));
+int    __sflags __P((const char *, int *));
+
+extern int __sdidinit;
+
+/*
+ * Return true iff the given FILE cannot be written now.
+ */
+#define        cantwrite(fp) \
+       ((((fp)->_flags & __SWR) == 0 || (fp)->_bf._base == NULL) && \
+        __swsetup(fp))
+
+/*
+ * Test whether the given stdio file has an active ungetc buffer;
+ * release such a buffer, without restoring ordinary unread data.
+ */
+#define        HASUB(fp) ((fp)->_ub._base != NULL)
+#define        FREEUB(fp) { \
+       if ((fp)->_ub._base != (fp)->_ubuf) \
+               free((char *)(fp)->_ub._base); \
+       (fp)->_ub._base = NULL; \
+}
+
+/*
+ * test for an fgetline() buffer.
+ */
+#define        HASLB(fp) ((fp)->_lb._base != NULL)
+#define        FREELB(fp) { \
+       free((char *)(fp)->_lb._base); \
+       (fp)->_lb._base = NULL; \
+}
diff --git a/db.1.85/PORT/bsdi.1.0/local/makebuf.c b/db.1.85/PORT/bsdi.1.0/local/makebuf.c
new file mode 100644 (file)
index 0000000..cb87e60
--- /dev/null
@@ -0,0 +1,118 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * 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.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)makebuf.c  5.3 (Berkeley) 5/6/93";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "local.h"
+
+/*
+ * Allocate a file buffer, or switch to unbuffered I/O.
+ * Per the ANSI C standard, ALL tty devices default to line buffered.
+ *
+ * As a side effect, we set __SOPT or __SNPT (en/dis-able fseek
+ * optimisation) right after the fstat() that finds the buffer size.
+ */
+void
+__smakebuf(fp)
+       register FILE *fp;
+{
+       register void *p;
+       register int flags;
+       size_t size;
+       int couldbetty;
+
+       if (fp->_flags & __SNBF) {
+               fp->_bf._base = fp->_p = fp->_nbuf;
+               fp->_bf._size = 1;
+               return;
+       }
+       flags = __swhatbuf(fp, &size, &couldbetty);
+       if ((p = malloc(size)) == NULL) {
+               fp->_flags |= __SNBF;
+               fp->_bf._base = fp->_p = fp->_nbuf;
+               fp->_bf._size = 1;
+               return;
+       }
+       __cleanup = _cleanup;
+       flags |= __SMBF;
+       fp->_bf._base = fp->_p = p;
+       fp->_bf._size = size;
+       if (couldbetty && isatty(fp->_file))
+               flags |= __SLBF;
+       fp->_flags |= flags;
+}
+
+/*
+ * Internal routine to determine `proper' buffering for a file.
+ */
+int
+__swhatbuf(fp, bufsize, couldbetty)
+       register FILE *fp;
+       size_t *bufsize;
+       int *couldbetty;
+{
+       struct stat st;
+
+       if (fp->_file < 0 || fstat(fp->_file, &st) < 0) {
+               *couldbetty = 0;
+               *bufsize = BUFSIZ;
+               return (__SNPT);
+       }
+
+       /* could be a tty iff it is a character device */
+       *couldbetty = (st.st_mode & S_IFMT) == S_IFCHR;
+       if (st.st_blksize <= 0) {
+               *bufsize = BUFSIZ;
+               return (__SNPT);
+       }
+
+       /*
+        * Optimise fseek() only if it is a regular file.  (The test for
+        * __sseek is mainly paranoia.)  It is safe to set _blksize
+        * unconditionally; it will only be used if __SOPT is also set.
+        */
+       *bufsize = st.st_blksize;
+       fp->_blksize = st.st_blksize;
+       return ((st.st_mode & S_IFMT) == S_IFREG && fp->_seek == __sseek ?
+           __SOPT : __SNPT);
+}
diff --git a/db.1.85/PORT/bsdi.1.0/local/setvbuf.c b/db.1.85/PORT/bsdi.1.0/local/setvbuf.c
new file mode 100644 (file)
index 0000000..41bb16b
--- /dev/null
@@ -0,0 +1,148 @@
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * 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.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+! static char sccsid[] = "@(#)setvbuf.c        5.5 (Berkeley) 5/6/93";
+#endif /* LIBC_SCCS and not lint */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "local.h"
+
+/*
+ * Set one of the three kinds of buffering, optionally including
+ * a buffer.
+ */
+setvbuf(fp, buf, mode, size)
+       register FILE *fp;
+       char *buf;
+       register int mode;
+       register size_t size;
+{
+       register int ret, flags;
+       size_t iosize;
+       int ttyflag;
+
+       /*
+        * Verify arguments.  The `int' limit on `size' is due to this
+        * particular implementation.  Note, buf and size are ignored
+        * when setting _IONBF.
+        */
+       if (mode != _IONBF)
+               if ((mode != _IOFBF && mode != _IOLBF) || (int)size < 0)
+                       return (EOF);
+
+       /*
+        * Write current buffer, if any.  Discard unread input, cancel
+        * line buffering, and free old buffer if malloc()ed.
+        */
+       ret = 0;
+       (void)__sflush(fp);
+       fp->_r = fp->_lbfsize = 0;
+       flags = fp->_flags;
+       if (flags & __SMBF)
+               free((void *)fp->_bf._base);
+       flags &= ~(__SLBF | __SNBF | __SMBF | __SOPT | __SNPT);
+
+       /* If setting unbuffered mode, skip all the hard work. */
+       if (mode == _IONBF)
+               goto nbf;
+
+       /*
+        * Find optimal I/O size for seek optimization.  This also returns
+        * a `tty flag' to suggest that we check isatty(fd), but we do not
+        * care since our caller told us how to buffer.
+        */
+       flags |= __swhatbuf(fp, &iosize, &ttyflag);
+       if (size == 0) {
+               buf = NULL;     /* force local allocation */
+               size = iosize;
+       }
+
+       /* Allocate buffer if needed. */
+       if (buf == NULL) {
+               if ((buf = malloc(size)) == NULL) {
+                       /*
+                        * Unable to honor user's request.  We will return
+                        * failure, but try again with file system size.
+                        */
+                       ret = EOF;
+                       if (size != iosize) {
+                               size = iosize;
+                               buf = malloc(size);
+                       }
+               }
+               if (buf == NULL) {
+                       /* No luck; switch to unbuffered I/O. */
+nbf:
+                       fp->_flags = flags | __SNBF;
+                       fp->_w = 0;
+                       fp->_bf._base = fp->_p = fp->_nbuf;
+                       fp->_bf._size = 1;
+                       return (ret);
+               }
+               flags |= __SMBF;
+       }
+
+       /*
+        * Kill any seek optimization if the buffer is not the
+        * right size.
+        *
+        * SHOULD WE ALLOW MULTIPLES HERE (i.e., ok iff (size % iosize) == 0)?
+        */
+       if (size != iosize)
+               flags |= __SNPT;
+
+       /*
+        * Fix up the FILE fields, and set __cleanup for output flush on
+        * exit (since we are buffered in some way).  If in r/w mode, go
+        * to the intermediate state, so that everyone has to call
+        * __srefill or __swsetup on the first operation -- it is more
+        * trouble than it is worth to set things up correctly here.
+        */
+       if (mode == _IOLBF)
+               flags |= __SLBF;
+       if (flags & __SRW)
+               flags &= ~(__SRD | __SWR);
+       fp->_w = 0;
+       fp->_flags = flags;
+       fp->_bf._base = fp->_p = (unsigned char *)buf;
+       fp->_bf._size = size;
+       fp->_lbfsize = 0;
+       __cleanup = _cleanup;
+
+       return (ret);
+}
diff --git a/db.1.85/PORT/bsdi.1.0/sys b/db.1.85/PORT/bsdi.1.0/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/clib/memmove.c b/db.1.85/PORT/clib/memmove.c
new file mode 100644 (file)
index 0000000..f90b09c
--- /dev/null
@@ -0,0 +1,139 @@
+/*-
+ * Copyright (c) 1990, 1993
+ *     The Regents of the University of California.  All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * 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.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)bcopy.c    8.1 (Berkeley) 6/4/93";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/cdefs.h>
+#include <string.h>
+
+/*
+ * sizeof(word) MUST BE A POWER OF TWO
+ * SO THAT wmask BELOW IS ALL ONES
+ */
+typedef        int word;               /* "word" used for optimal copy speed */
+
+#define        wsize   sizeof(word)
+#define        wmask   (wsize - 1)
+
+/*
+ * Copy a block of memory, handling overlap.
+ * This is the routine that actually implements
+ * (the portable versions of) bcopy, memcpy, and memmove.
+ */
+#ifdef MEMCOPY
+void *
+memcpy(dst0, src0, length)
+#else
+#ifdef MEMMOVE
+void *
+memmove(dst0, src0, length)
+#else
+void
+bcopy(src0, dst0, length)
+#endif
+#endif
+       void *dst0;
+       const void *src0;
+       register size_t length;
+{
+       register char *dst = dst0;
+       register const char *src = src0;
+       register size_t t;
+
+       if (length == 0 || dst == src)          /* nothing to do */
+               goto done;
+
+       /*
+        * Macros: loop-t-times; and loop-t-times, t>0
+        */
+#define        TLOOP(s) if (t) TLOOP1(s)
+#define        TLOOP1(s) do { s; } while (--t)
+
+       if ((unsigned long)dst < (unsigned long)src) {
+               /*
+                * Copy forward.
+                */
+               t = (int)src;   /* only need low bits */
+               if ((t | (int)dst) & wmask) {
+                       /*
+                        * Try to align operands.  This cannot be done
+                        * unless the low bits match.
+                        */
+                       if ((t ^ (int)dst) & wmask || length < wsize)
+                               t = length;
+                       else
+                               t = wsize - (t & wmask);
+                       length -= t;
+                       TLOOP1(*dst++ = *src++);
+               }
+               /*
+                * Copy whole words, then mop up any trailing bytes.
+                */
+               t = length / wsize;
+               TLOOP(*(word *)dst = *(word *)src; src += wsize; dst += wsize);
+               t = length & wmask;
+               TLOOP(*dst++ = *src++);
+       } else {
+               /*
+                * Copy backwards.  Otherwise essentially the same.
+                * Alignment works as before, except that it takes
+                * (t&wmask) bytes to align, not wsize-(t&wmask).
+                */
+               src += length;
+               dst += length;
+               t = (int)src;
+               if ((t | (int)dst) & wmask) {
+                       if ((t ^ (int)dst) & wmask || length <= wsize)
+                               t = length;
+                       else
+                               t &= wmask;
+                       length -= t;
+                       TLOOP1(*--dst = *--src);
+               }
+               t = length / wsize;
+               TLOOP(src -= wsize; dst -= wsize; *(word *)dst = *(word *)src);
+               t = length & wmask;
+               TLOOP(*--dst = *--src);
+       }
+done:
+#if defined(MEMCOPY) || defined(MEMMOVE)
+       return (dst0);
+#else
+       return;
+#endif
+}
diff --git a/db.1.85/PORT/clib/mktemp.c b/db.1.85/PORT/clib/mktemp.c
new file mode 100644 (file)
index 0000000..6cedd6a
--- /dev/null
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 1987, 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.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)mktemp.c   8.1 (Berkeley) 6/4/93";
+#endif /* LIBC_SCCS and not lint */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdio.h>
+#include <ctype.h>
+
+static int _gettemp();
+
+mkstemp(path)
+       char *path;
+{
+       int fd;
+
+       return (_gettemp(path, &fd) ? fd : -1);
+}
+
+char *
+mktemp(path)
+       char *path;
+{
+       return(_gettemp(path, (int *)NULL) ? path : (char *)NULL);
+}
+
+static
+_gettemp(path, doopen)
+       char *path;
+       register int *doopen;
+{
+       extern int errno;
+       register char *start, *trv;
+       struct stat sbuf;
+       u_int pid;
+
+       pid = getpid();
+       for (trv = path; *trv; ++trv);          /* extra X's get set to 0's */
+       while (*--trv == 'X') {
+               *trv = (pid % 10) + '0';
+               pid /= 10;
+       }
+
+       /*
+        * check the target directory; if you have six X's and it
+        * doesn't exist this runs for a *very* long time.
+        */
+       for (start = trv + 1;; --trv) {
+               if (trv <= path)
+                       break;
+               if (*trv == '/') {
+                       *trv = '\0';
+                       if (stat(path, &sbuf))
+                               return(0);
+                       if (!S_ISDIR(sbuf.st_mode)) {
+                               errno = ENOTDIR;
+                               return(0);
+                       }
+                       *trv = '/';
+                       break;
+               }
+       }
+
+       for (;;) {
+               if (doopen) {
+                       if ((*doopen =
+                           open(path, O_CREAT|O_EXCL|O_RDWR, 0600)) >= 0)
+                               return(1);
+                       if (errno != EEXIST)
+                               return(0);
+               }
+               else if (stat(path, &sbuf))
+                       return(errno == ENOENT ? 1 : 0);
+
+               /* tricky little algorithm for backward compatibility */
+               for (trv = start;;) {
+                       if (!*trv)
+                               return(0);
+                       if (*trv == 'z')
+                               *trv++ = 'a';
+                       else {
+                               if (isdigit(*trv))
+                                       *trv = 'a';
+                               else
+                                       ++*trv;
+                               break;
+                       }
+               }
+       }
+       /*NOTREACHED*/
+}
diff --git a/db.1.85/PORT/clib/snprintf.c b/db.1.85/PORT/clib/snprintf.c
new file mode 100644 (file)
index 0000000..2863fa2
--- /dev/null
@@ -0,0 +1,54 @@
+#include <sys/types.h>
+#include <sys/cdefs.h>
+
+#include <compat.h>
+
+#ifdef __STDC__
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+int
+#ifdef __STDC__
+snprintf(char *str, size_t n, const char *fmt, ...)
+#else
+snprintf(str, n, fmt, va_alist)
+       char *str;
+       size_t n;
+       const char *fmt;
+       va_dcl
+#endif
+{
+       va_list ap;
+       char *rp;
+       int rval;
+#ifdef __STDC__
+       va_start(ap, fmt);
+#else
+       va_start(ap);
+#endif
+#ifdef VSPRINTF_CHARSTAR
+       rp = vsprintf(str, fmt, ap);
+       va_end(ap);
+       return (strlen(rp));
+#else
+       rval = vsprintf(str, fmt, ap);
+       va_end(ap);
+       return (rval);
+#endif
+}
+
+int
+vsnprintf(str, n, fmt, ap)
+       char *str;
+       size_t n;
+       const char *fmt;
+       va_list ap;
+{
+#ifdef VSPRINTF_CHARSTAR
+       return (strlen(vsprintf(str, fmt, ap)));
+#else
+       return (vsprintf(str, fmt, ap));
+#endif
+}
diff --git a/db.1.85/PORT/clib/strerror.c b/db.1.85/PORT/clib/strerror.c
new file mode 100644 (file)
index 0000000..53f374b
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 1988, 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.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static char sccsid[] = "@(#)strerror.c 8.1 (Berkeley) 6/4/93";
+#endif /* LIBC_SCCS and not lint */
+
+#include <string.h>
+
+char *
+strerror(num)
+       int num;
+{
+       extern int sys_nerr;
+       extern char *sys_errlist[];
+#define        UPREFIX "Unknown error: "
+       static char ebuf[40] = UPREFIX;         /* 64-bit number + slop */
+       register unsigned int errnum;
+       register char *p, *t;
+       char tmp[40];
+
+       errnum = num;                           /* convert to unsigned */
+       if (errnum < sys_nerr)
+               return(sys_errlist[errnum]);
+
+       /* Do this by hand, so we don't include stdio(3). */
+       t = tmp;
+       do {
+               *t++ = "0123456789"[errnum % 10];
+       } while (errnum /= 10);
+       for (p = ebuf + sizeof(UPREFIX) - 1;;) {
+               *p++ = *--t;
+               if (t <= tmp)
+                       break;
+       }
+       return(ebuf);
+}
diff --git a/db.1.85/PORT/dgux.5.4/Makefile b/db.1.85/PORT/dgux.5.4/Makefile
new file mode 100644 (file)
index 0000000..4053c4b
--- /dev/null
@@ -0,0 +1,103 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+CC=    gcc
+OORG=  -O2
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/dgux.5.4/clib b/db.1.85/PORT/dgux.5.4/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/dgux.5.4/include/cdefs.h b/db.1.85/PORT/dgux.5.4/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/dgux.5.4/include/compat.h b/db.1.85/PORT/dgux.5.4/include/compat.h
new file mode 100644 (file)
index 0000000..2bd360a
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      BIG_ENDIAN      /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/dgux.5.4/include/db.h b/db.1.85/PORT/dgux.5.4/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/dgux.5.4/include/mpool.h b/db.1.85/PORT/dgux.5.4/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/dgux.5.4/include/ndbm.h b/db.1.85/PORT/dgux.5.4/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/dgux.5.4/include/queue.h b/db.1.85/PORT/dgux.5.4/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/dgux.5.4/sys b/db.1.85/PORT/dgux.5.4/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/hpux.8.07 b/db.1.85/PORT/hpux.8.07
new file mode 120000 (symlink)
index 0000000..e634b1f
--- /dev/null
@@ -0,0 +1 @@
+hpux.9.01
\ No newline at end of file
diff --git a/db.1.85/PORT/hpux.9.01/Makefile b/db.1.85/PORT/hpux.9.01/Makefile
new file mode 100644 (file)
index 0000000..85b09a7
--- /dev/null
@@ -0,0 +1,102 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/hpux.9.01/clib b/db.1.85/PORT/hpux.9.01/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/hpux.9.01/include/cdefs.h b/db.1.85/PORT/hpux.9.01/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/hpux.9.01/include/compat.h b/db.1.85/PORT/hpux.9.01/include/compat.h
new file mode 100644 (file)
index 0000000..2bd360a
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      BIG_ENDIAN      /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/hpux.9.01/include/db.h b/db.1.85/PORT/hpux.9.01/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/hpux.9.01/include/mpool.h b/db.1.85/PORT/hpux.9.01/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/hpux.9.01/include/ndbm.h b/db.1.85/PORT/hpux.9.01/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/hpux.9.01/include/queue.h b/db.1.85/PORT/hpux.9.01/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/hpux.9.01/local/hp_siglist.c b/db.1.85/PORT/hpux.9.01/local/hp_siglist.c
new file mode 100644 (file)
index 0000000..e65083b
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Derived from:
+ * static char sccsid[] = "@(#)siglist.c       8.1 (Berkeley) 6/4/93";
+ */
+#include <sys/cdefs.h>
+
+#include <signal.h>
+
+const char *const sys_signame[NSIG] = {
+       "Signal 0",
+       "hup",                          /* SIGHUP */
+       "int",                          /* SIGINT */
+       "quit",                         /* SIGQUIT */
+       "ill",                          /* SIGILL */
+       "trap",                         /* SIGTRAP */
+       "abrt",                         /* SIGABRT */
+       "emt",                          /* SIGEMT */
+       "fpe",                          /* SIGFPE */
+       "kill",                         /* SIGKILL */
+       "bus",                          /* SIGBUS */
+       "segv",                         /* SIGSEGV */
+       "sys",                          /* SIGSYS */
+       "pipe",                         /* SIGPIPE */
+       "alrm",                         /* SIGALRM */
+       "term",                         /* SIGTERM */
+       "usr1",                         /* SIGUSR1 */
+       "usr2",                         /* SIGUSR2 */
+       "chld",                         /* SIGCHLD */
+       "pwr",                          /* SIGPWR */
+       "vtalrm",                       /* SIGVTALRM */
+       "prof",                         /* SIGPROF */
+       "io",                           /* SIGIO */
+       "winch",                        /* SIGWINCH */
+       "stop",                         /* SIGSTOP */
+       "tstp",                         /* SIGTSTP */
+       "cont",                         /* SIGCONT */
+       "ttin",                         /* SIGTTIN */
+       "ttou",                         /* SIGTTOU */
+       "urg",                          /* SIGURG */
+       "lost",                         /* SIGLOST */
+};
+
+const char *const sys_siglist[NSIG] = {
+       "Signal 0",
+       "Hangup",                       /* SIGHUP */
+       "Interrupt",                    /* SIGINT */
+       "Quit",                         /* SIGQUIT */
+       "Illegal instruction",          /* SIGILL */
+       "Trace/BPT trap",               /* SIGTRAP */
+       "Abort trap",                   /* SIGABRT */
+       "EMT trap",                     /* SIGEMT */
+       "Floating point exception",     /* SIGFPE */
+       "Killed",                       /* SIGKILL */
+       "Bus error",                    /* SIGBUS */
+       "Segmentation fault",           /* SIGSEGV */
+       "Bad system call",              /* SIGSYS */
+       "Broken pipe",                  /* SIGPIPE */
+       "Alarm clock",                  /* SIGALRM */
+       "Terminated",                   /* SIGTERM */
+       "User defined signal 1",        /* SIGUSR1 */
+       "User defined signal 2"         /* SIGUSR2 */
+       "Child exited",                 /* SIGCHLD */
+       "Power failure",                /* SIGPWR */
+       "Virtual timer expired",        /* SIGVTALRM */
+       "Profiling timer expired",      /* SIGPROF */
+       "I/O possible",                 /* SIGIO */
+       "Window size changes",          /* SIGWINCH */
+       "Suspended (signal)",           /* SIGSTOP */
+       "Suspended",                    /* SIGTSTP */
+       "Continued",                    /* SIGCONT */
+       "Stopped (tty input)",          /* SIGTTIN */
+       "Stopped (tty output)",         /* SIGTTOU */
+       "Urgent I/O condition",         /* SIGURG */
+       "File lock lost",               /* SIGLOST */
+};
diff --git a/db.1.85/PORT/hpux.9.01/sys b/db.1.85/PORT/hpux.9.01/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/include/cdefs.h b/db.1.85/PORT/include/cdefs.h
new file mode 100644 (file)
index 0000000..c104b9e
--- /dev/null
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 1991, 1993
+ *     The Regents of the University of California.  All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Berkeley Software Design, Inc.
+ *
+ * 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.
+ *
+ *     @(#)cdefs.h     8.7 (Berkeley) 1/21/94
+ */
+
+#ifndef        _CDEFS_H_
+#define        _CDEFS_H_
+
+#if defined(__cplusplus)
+#define        __BEGIN_DECLS   extern "C" {
+#define        __END_DECLS     };
+#else
+#define        __BEGIN_DECLS
+#define        __END_DECLS
+#endif
+
+/*
+ * The __CONCAT macro is used to concatenate parts of symbol names, e.g.
+ * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
+ * The __CONCAT macro is a bit tricky -- make sure you don't put spaces
+ * in between its arguments.  __CONCAT can also concatenate double-quoted
+ * strings produced by the __STRING macro, but this only works with ANSI C.
+ */
+#if defined(__STDC__) || defined(__cplusplus)
+#define        __P(protos)     protos          /* full-blown ANSI C */
+#define        __CONCAT(x,y)   x ## y
+#define        __STRING(x)     #x
+
+#define        __const         const           /* define reserved names to standard */
+#define        __signed        signed
+#define        __volatile      volatile
+#if defined(__cplusplus)
+#define        __inline        inline          /* convert to C++ keyword */
+#else
+#ifndef __GNUC__
+#define        __inline                        /* delete GCC keyword */
+#endif /* !__GNUC__ */
+#endif /* !__cplusplus */
+
+#else  /* !(__STDC__ || __cplusplus) */
+#define        __P(protos)     ()              /* traditional C preprocessor */
+#define        __CONCAT(x,y)   x/**/y
+#define        __STRING(x)     "x"
+
+#ifndef __GNUC__
+#define        __const                         /* delete pseudo-ANSI C keywords */
+#define        __inline
+#define        __signed
+#define        __volatile
+/*
+ * In non-ANSI C environments, new programs will want ANSI-only C keywords
+ * deleted from the program and old programs will want them left alone.
+ * When using a compiler other than gcc, programs using the ANSI C keywords
+ * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
+ * When using "gcc -traditional", we assume that this is the intent; if
+ * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
+ */
+#ifndef        NO_ANSI_KEYWORDS
+#define        const                           /* delete ANSI C keywords */
+#define        inline
+#define        signed
+#define        volatile
+#endif
+#endif /* !__GNUC__ */
+#endif /* !(__STDC__ || __cplusplus) */
+
+/*
+ * GCC1 and some versions of GCC2 declare dead (non-returning) and
+ * pure (no side effects) functions using "volatile" and "const";
+ * unfortunately, these then cause warnings under "-ansi -pedantic".
+ * GCC2 uses a new, peculiar __attribute__((attrs)) style.  All of
+ * these work for GNU C++ (modulo a slight glitch in the C++ grammar
+ * in the distribution version of 2.5.5).
+ */
+#if !defined(__GNUC__) || __GNUC__ < 2 || __GNUC_MINOR__ < 5
+#define        __attribute__(x)        /* delete __attribute__ if non-gcc or gcc1 */
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+#define        __dead          __volatile
+#define        __pure          __const
+#endif
+#endif
+
+/* Delete pseudo-keywords wherever they are not available or needed. */
+#ifndef __dead
+#define        __dead
+#define        __pure
+#endif
+
+#endif /* !_CDEFS_H_ */
diff --git a/db.1.85/PORT/include/compat.h b/db.1.85/PORT/include/compat.h
new file mode 100644 (file)
index 0000000..2bd360a
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      BIG_ENDIAN      /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/include/db.h b/db.1.85/PORT/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/include/mpool.h b/db.1.85/PORT/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/include/ndbm.h b/db.1.85/PORT/include/ndbm.h
new file mode 100644 (file)
index 0000000..a545bca
--- /dev/null
@@ -0,0 +1,77 @@
+/*-
+ * Copyright (c) 1990, 1993
+ *     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.
+ *
+ *     @(#)ndbm.h      8.1 (Berkeley) 6/2/93
+ */
+
+#ifndef _NDBM_H_
+#define        _NDBM_H_
+
+#include <db.h>
+
+/* Map dbm interface onto db(3). */
+#define DBM_RDONLY     O_RDONLY
+
+/* Flags to dbm_store(). */
+#define DBM_INSERT      0
+#define DBM_REPLACE     1
+
+/*
+ * The db(3) support for ndbm(3) always appends this suffix to the
+ * file name to avoid overwriting the user's original database.
+ */
+#define        DBM_SUFFIX      ".db"
+
+typedef struct {
+       char *dptr;
+       int dsize;
+} datum;
+
+typedef DB DBM;
+#define        dbm_pagfno(a)   DBM_PAGFNO_NOT_AVAILABLE
+
+__BEGIN_DECLS
+void    dbm_close __P((DBM *));
+int     dbm_delete __P((DBM *, datum));
+datum   dbm_fetch __P((DBM *, datum));
+datum   dbm_firstkey __P((DBM *));
+long    dbm_forder __P((DBM *, datum));
+datum   dbm_nextkey __P((DBM *));
+DBM    *dbm_open __P((const char *, int, int));
+int     dbm_store __P((DBM *, datum, datum, int));
+int     dbm_dirfno __P((DBM *));
+__END_DECLS
+
+#endif /* !_NDBM_H_ */
diff --git a/db.1.85/PORT/include/queue.h b/db.1.85/PORT/include/queue.h
new file mode 100644 (file)
index 0000000..40d32cc
--- /dev/null
@@ -0,0 +1,245 @@
+/* 
+ * 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.3 (Berkeley) 12/13/93
+ */
+
+#ifndef        _QUEUE_H_
+#define        _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 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 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 */  \
+}
+
+/*
+ * List functions.
+ */
+#define        LIST_INIT(head) {                                               \
+       (head)->lh_first = NULL;                                        \
+}
+
+#define LIST_INSERT_AFTER(listelm, elm, field) {                       \
+       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;               \
+}
+
+#define LIST_INSERT_HEAD(head, elm, field) {                           \
+       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;                       \
+}
+
+#define LIST_REMOVE(elm, field) {                                      \
+       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;                   \
+}
+
+/*
+ * 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 */  \
+}
+
+/*
+ * Tail queue functions.
+ */
+#define        TAILQ_INIT(head) {                                              \
+       (head)->tqh_first = NULL;                                       \
+       (head)->tqh_last = &(head)->tqh_first;                          \
+}
+
+#define TAILQ_INSERT_HEAD(head, elm, field) {                          \
+       if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)        \
+               (elm)->field.tqe_next->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;                     \
+}
+
+#define TAILQ_INSERT_TAIL(head, elm, field) {                          \
+       (elm)->field.tqe_next = NULL;                                   \
+       (elm)->field.tqe_prev = (head)->tqh_last;                       \
+       *(head)->tqh_last = (elm);                                      \
+       (head)->tqh_last = &(elm)->field.tqe_next;                      \
+}
+
+#define TAILQ_INSERT_AFTER(head, listelm, elm, field) {                        \
+       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;             \
+}
+
+#define TAILQ_REMOVE(head, elm, field) {                               \
+       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;                 \
+}
+
+/*
+ * 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 */          \
+}
+
+/*
+ * Circular queue functions.
+ */
+#define        CIRCLEQ_INIT(head) {                                            \
+       (head)->cqh_first = (void *)(head);                             \
+       (head)->cqh_last = (void *)(head);                              \
+}
+
+#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) {              \
+       (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);                              \
+}
+
+#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) {             \
+       (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);                              \
+}
+
+#define CIRCLEQ_INSERT_HEAD(head, elm, field) {                                \
+       (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);                                      \
+}
+
+#define CIRCLEQ_INSERT_TAIL(head, elm, field) {                                \
+       (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);                                       \
+}
+
+#define        CIRCLEQ_REMOVE(head, elm, field) {                              \
+       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;                              \
+}
+#endif /* !_QUEUE_H_ */
diff --git a/db.1.85/PORT/irix.4.05F/Makefile b/db.1.85/PORT/irix.4.05F/Makefile
new file mode 100644 (file)
index 0000000..1775095
--- /dev/null
@@ -0,0 +1,103 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+CC=    cc -cckr -D_BSD_COMPAT
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/irix.4.05F/OTHER_PATCHES b/db.1.85/PORT/irix.4.05F/OTHER_PATCHES
new file mode 100644 (file)
index 0000000..46c624b
--- /dev/null
@@ -0,0 +1,32 @@
+*** PORT/db/btree/bt_open.c.dist       Thu Sep 16 14:42:22 1993
+--- PORT/db/btree/bt_open.c    Mon Nov  8 07:03:40 1993
+***************
+*** 256,262 ****
+--- 256,266 ----
+                * Don't overflow the page offset type.
+                */
+               if (b.psize == 0) {
++ #ifndef sgi
+                       b.psize = sb.st_blksize;
++ #else
++                      b.psize = 4096;
++ #endif /* sgi */
+                       if (b.psize < MINPSIZE)
+                               b.psize = MINPSIZE;
+                       if (b.psize > MAX_PAGE_OFFSET + 1)
+*** PORT/db/hash/hash.c.dist   Thu Nov  4 15:32:16 1993
+--- PORT/db/hash/hash.c        Mon Nov  8 07:05:12 1993
+***************
+*** 301,307 ****
+--- 301,311 ----
+       if (file != NULL) {
+               if (stat(file, &statbuf))
+                       return (NULL);
++ #ifndef sgi
+               hashp->BSIZE = statbuf.st_blksize;
++ #else
++              hashp->BSIZE = 4096;
++ #endif /* sgi */
+               hashp->BSHIFT = __log2(hashp->BSIZE);
+       }
+  
diff --git a/db.1.85/PORT/irix.4.05F/clib b/db.1.85/PORT/irix.4.05F/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/irix.4.05F/include/cdefs.h b/db.1.85/PORT/irix.4.05F/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/irix.4.05F/include/compat.h b/db.1.85/PORT/irix.4.05F/include/compat.h
new file mode 100644 (file)
index 0000000..2bd360a
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      BIG_ENDIAN      /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/irix.4.05F/include/db.h b/db.1.85/PORT/irix.4.05F/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/irix.4.05F/include/mpool.h b/db.1.85/PORT/irix.4.05F/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/irix.4.05F/include/ndbm.h b/db.1.85/PORT/irix.4.05F/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/irix.4.05F/include/queue.h b/db.1.85/PORT/irix.4.05F/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/irix.4.05F/sys b/db.1.85/PORT/irix.4.05F/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/linux/Makefile b/db.1.85/PORT/linux/Makefile
new file mode 100644 (file)
index 0000000..85b09a7
--- /dev/null
@@ -0,0 +1,102 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/linux/OTHER_PATCHES b/db.1.85/PORT/linux/OTHER_PATCHES
new file mode 100644 (file)
index 0000000..b0387a5
--- /dev/null
@@ -0,0 +1,29 @@
+*** PORT/db/recno/rec_open.c.orig      1993/10/13 02:01:31
+--- PORT/db/recno/rec_open.c   1993/10/13 02:20:47
+***************
+*** 159,167 ****
+--- 159,182 ----
+                               SET(t, R_EOF);
+                       else {
+                               t->bt_msize = sb.st_size;
++ /*
++  * hack : 
++  *
++  * The Linux kernel mmap() semantics are broken :
++  * 
++  * Under Linux, read only private mappings cause write only and read/write 
++  * opens to fail with errno=ETXTBSY.  Shared read only mappings should work
++  * fine though, but I'm not familiar enough with the code to ascertain that
++  * a MAP_SHARED mapping would be safe so I use the non-mmap'd version 
++  * instead.
++  *
++  */
++ 
++ #if !defined(linux) 
+                               if ((t->bt_smap = mmap(NULL, t->bt_msize,
+                                   PROT_READ, MAP_PRIVATE, rfd,
+                                   (off_t)0)) == (caddr_t)-1)
++ #endif
+                                       goto slow;
+                               t->bt_cmap = t->bt_smap;
+                               t->bt_emap = t->bt_smap + sb.st_size;
diff --git a/db.1.85/PORT/linux/clib b/db.1.85/PORT/linux/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/linux/include/compat.h b/db.1.85/PORT/linux/include/compat.h
new file mode 100644 (file)
index 0000000..ae735ef
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      LITTLE_ENDIAN   /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/linux/include/db.h b/db.1.85/PORT/linux/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/linux/include/mpool.h b/db.1.85/PORT/linux/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/linux/include/ndbm.h b/db.1.85/PORT/linux/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/linux/sys b/db.1.85/PORT/linux/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/osf.1.0.2/Makefile b/db.1.85/PORT/osf.1.0.2/Makefile
new file mode 100644 (file)
index 0000000..85b09a7
--- /dev/null
@@ -0,0 +1,102 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/osf.1.0.2/clib b/db.1.85/PORT/osf.1.0.2/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/osf.1.0.2/include/cdefs.h b/db.1.85/PORT/osf.1.0.2/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/osf.1.0.2/include/compat.h b/db.1.85/PORT/osf.1.0.2/include/compat.h
new file mode 100644 (file)
index 0000000..ae735ef
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      LITTLE_ENDIAN   /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/osf.1.0.2/include/db.h b/db.1.85/PORT/osf.1.0.2/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/osf.1.0.2/include/mpool.h b/db.1.85/PORT/osf.1.0.2/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/osf.1.0.2/include/ndbm.h b/db.1.85/PORT/osf.1.0.2/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/osf.1.0.2/include/queue.h b/db.1.85/PORT/osf.1.0.2/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/osf.1.0.2/sys b/db.1.85/PORT/osf.1.0.2/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/osf.1.3 b/db.1.85/PORT/osf.1.3
new file mode 120000 (symlink)
index 0000000..1a1d658
--- /dev/null
@@ -0,0 +1 @@
+osf.1.0.2
\ No newline at end of file
diff --git a/db.1.85/PORT/osf.2.0 b/db.1.85/PORT/osf.2.0
new file mode 120000 (symlink)
index 0000000..1a1d658
--- /dev/null
@@ -0,0 +1 @@
+osf.1.0.2
\ No newline at end of file
diff --git a/db.1.85/PORT/ptx.2.0/Makefile b/db.1.85/PORT/ptx.2.0/Makefile
new file mode 100644 (file)
index 0000000..e852b76
--- /dev/null
@@ -0,0 +1,104 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  mktemp.o snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+CC=    gcc
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude \
+           -DMMAP_NOT_AVAILABLE -DSTBLKSIZE_NOT_AVAILABLE -DSYS5
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/ptx.2.0/OTHER_PATCHES b/db.1.85/PORT/ptx.2.0/OTHER_PATCHES
new file mode 100644 (file)
index 0000000..891cccb
--- /dev/null
@@ -0,0 +1,95 @@
+*** PORT/db/btree/bt_open.c.orig       1993/11/24 11:16:51
+--- PORT/db/btree/bt_open.c    1993/11/24 12:38:12
+***************
+*** 256,262 ****
+--- 256,266 ----
+                * Don't overflow the page offset type.
+                */
+               if (b.psize == 0) {
++ #ifdef STBLKSIZE_NOT_AVAILABLE
++                      b.psize = 4096;
++ #else
+                       b.psize = sb.st_blksize;
++ #endif
+                       if (b.psize < MINPSIZE)
+                               b.psize = MINPSIZE;
+                       if (b.psize > MAX_PAGE_OFFSET + 1)
+*** PORT/db/recno/rec_open.c.orig      1993/11/29 18:26:26
+--- PORT/db/recno/rec_open.c   1993/11/30 11:35:21
+***************
+*** 159,164 ****
+--- 159,167 ----
+                               SET(t, R_EOF);
+                       else {
+                               t->bt_msize = sb.st_size;
++ #ifdef MMAP_NOT_AVAILABLE
++                              goto slow;
++ #else
+                               if ((t->bt_smap = mmap(NULL, t->bt_msize,
+                                   PROT_READ, MAP_PRIVATE, rfd,
+                                   (off_t)0)) == (caddr_t)-1)
+***************
+*** 168,173 ****
+--- 171,177 ----
+                               t->bt_irec = ISSET(t, R_FIXLEN) ?
+                                   __rec_fmap : __rec_vmap;
+                               SET(t, R_MEMMAPPED);
++ #endif
+                       }
+               }
+       }
+*** PORT/db/hash/hash_log2.c.orig      1993/11/24 11:10:40
+--- PORT/db/hash/hash_log2.c   1993/11/24 12:38:52
+***************
+*** 40,50 ****
+  
+  #include <sys/types.h>
+  
+! u_int
+  __log2(num)
+!      u_int num;
+  {
+!      register u_int i, limit;
+  
+       limit = 1;
+       for (i = 0; limit < num; limit = limit << 1, i++);
+--- 40,50 ----
+  
+  #include <sys/types.h>
+  
+! unsigned int
+  __log2(num)
+!      unsigned int num;
+  {
+!      register unsigned int i, limit;
+  
+       limit = 1;
+       for (i = 0; limit < num; limit = limit << 1, i++);
+*** PORT/db/hash/hash.c.orig   1993/11/24 11:18:44
+--- PORT/db/hash/hash.c        1993/11/24 12:38:29
+***************
+*** 301,307 ****
+--- 301,311 ----
+       if (file != NULL) {
+               if (stat(file, &statbuf))
+                       return (NULL);
++ #ifdef STBLKSIZE_NOT_AVAILABLE
++              hashp->BSIZE = 4096;
++ #else
+               hashp->BSIZE = statbuf.st_blksize;
++ #endif
+               hashp->BSHIFT = __log2(hashp->BSIZE);
+       }
+  
+*** PORT/db/hash/hash.h.orig   1993/11/24 11:20:03
+--- PORT/db/hash/hash.h        1993/11/24 12:38:38
+***************
+*** 261,266 ****
+--- 261,267 ----
+  #define      REAL_KEY        4
+  
+  /* Short hands for accessing structure */
++ #undef BSIZE
+  #define BSIZE                hdr.bsize
+  #define BSHIFT               hdr.bshift
+  #define DSIZE                hdr.dsize
diff --git a/db.1.85/PORT/ptx.2.0/clib b/db.1.85/PORT/ptx.2.0/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/ptx.2.0/include/cdefs.h b/db.1.85/PORT/ptx.2.0/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/ptx.2.0/include/compat.h b/db.1.85/PORT/ptx.2.0/include/compat.h
new file mode 100644 (file)
index 0000000..108060d
--- /dev/null
@@ -0,0 +1,232 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+#include <sys/select.h>                        /* For fd_set. */
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 1
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      BIG_ENDIAN      /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/ptx.2.0/include/db.h b/db.1.85/PORT/ptx.2.0/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/ptx.2.0/include/mpool.h b/db.1.85/PORT/ptx.2.0/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/ptx.2.0/include/ndbm.h b/db.1.85/PORT/ptx.2.0/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/ptx.2.0/include/pathnames.h b/db.1.85/PORT/ptx.2.0/include/pathnames.h
new file mode 100644 (file)
index 0000000..81b9f32
--- /dev/null
@@ -0,0 +1,45 @@
+/*-
+ * 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.
+ *
+ *     @(#)pathnames.h 8.5 (Berkeley) 12/21/93
+ */
+
+#define        _PATH_BSHELL    "/bin/sh"
+#define        _PATH_DEVNULL   "/dev/null"
+#define        _PATH_EXRC      ".exrc"
+#define        _PATH_NEXRC     ".nexrc"
+#define        _PATH_PRESERVE  "/usr/tmp/vi.recover"
+#define        _PATH_SENDMAIL  "/usr/lib/sendmail"
+#define        _PATH_SYSEXRC   "/etc/vi.exrc"
+#define        _PATH_TAGS      "tags"
+#define        _PATH_TMP       "/tmp"
+#define        _PATH_TTY       "/dev/tty"
diff --git a/db.1.85/PORT/ptx.2.0/include/queue.h b/db.1.85/PORT/ptx.2.0/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/ptx.2.0/sys b/db.1.85/PORT/ptx.2.0/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/sinix.5.41/Makefile b/db.1.85/PORT/sinix.5.41/Makefile
new file mode 100644 (file)
index 0000000..dd459ad
--- /dev/null
@@ -0,0 +1,102 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  mktemp.o snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/sinix.5.41/clib b/db.1.85/PORT/sinix.5.41/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/sinix.5.41/include/cdefs.h b/db.1.85/PORT/sinix.5.41/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sinix.5.41/include/compat.h b/db.1.85/PORT/sinix.5.41/include/compat.h
new file mode 100644 (file)
index 0000000..2bd360a
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      BIG_ENDIAN      /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/sinix.5.41/include/db.h b/db.1.85/PORT/sinix.5.41/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sinix.5.41/include/mpool.h b/db.1.85/PORT/sinix.5.41/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sinix.5.41/include/ndbm.h b/db.1.85/PORT/sinix.5.41/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sinix.5.41/include/queue.h b/db.1.85/PORT/sinix.5.41/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sinix.5.41/sys b/db.1.85/PORT/sinix.5.41/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/solaris.2.2 b/db.1.85/PORT/solaris.2.2
new file mode 120000 (symlink)
index 0000000..b9f1ef8
--- /dev/null
@@ -0,0 +1 @@
+sunos.5.2
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.4.1.1/Makefile b/db.1.85/PORT/sunos.4.1.1/Makefile
new file mode 100644 (file)
index 0000000..aae1a45
--- /dev/null
@@ -0,0 +1,102 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  memmove.o snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/sunos.4.1.1/clib b/db.1.85/PORT/sunos.4.1.1/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.4.1.1/include/cdefs.h b/db.1.85/PORT/sunos.4.1.1/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.4.1.1/include/compat.h b/db.1.85/PORT/sunos.4.1.1/include/compat.h
new file mode 100644 (file)
index 0000000..62643bd
--- /dev/null
@@ -0,0 +1,231 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 1
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 1
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      BIG_ENDIAN      /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/sunos.4.1.1/include/db.h b/db.1.85/PORT/sunos.4.1.1/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.4.1.1/include/mpool.h b/db.1.85/PORT/sunos.4.1.1/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.4.1.1/include/ndbm.h b/db.1.85/PORT/sunos.4.1.1/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.4.1.1/include/pathnames.h b/db.1.85/PORT/sunos.4.1.1/include/pathnames.h
new file mode 100644 (file)
index 0000000..df94cd0
--- /dev/null
@@ -0,0 +1,45 @@
+/*-
+ * 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.
+ *
+ *     @(#)pathnames.h 8.5 (Berkeley) 12/21/93
+ */
+
+#define        _PATH_BSHELL    "/bin/sh"
+#define        _PATH_DEVNULL   "/dev/null"
+#define        _PATH_EXRC      ".exrc"
+#define        _PATH_NEXRC     ".nexrc"
+#define        _PATH_PRESERVE  "/var/tmp/vi.recover"
+#define        _PATH_SENDMAIL  "/usr/lib/sendmail"
+#define        _PATH_SYSEXRC   "/etc/vi.exrc"
+#define        _PATH_TAGS      "tags /var/db/libc.tags /sys/kern/tags"
+#define        _PATH_TMP       "/tmp"
+#define        _PATH_TTY       "/dev/tty"
diff --git a/db.1.85/PORT/sunos.4.1.1/include/queue.h b/db.1.85/PORT/sunos.4.1.1/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.4.1.1/sys b/db.1.85/PORT/sunos.4.1.1/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.4.1.2 b/db.1.85/PORT/sunos.4.1.2
new file mode 120000 (symlink)
index 0000000..cf2aa36
--- /dev/null
@@ -0,0 +1 @@
+sunos.4.1.1
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.4.1.3 b/db.1.85/PORT/sunos.4.1.3
new file mode 120000 (symlink)
index 0000000..cf2aa36
--- /dev/null
@@ -0,0 +1 @@
+sunos.4.1.1
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.5.2/Makefile b/db.1.85/PORT/sunos.5.2/Makefile
new file mode 100644 (file)
index 0000000..85b09a7
--- /dev/null
@@ -0,0 +1,102 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+       ${CL} -I../../hash ../../hash/hash_page.c
+hsearch.o: ../../hash/hsearch.c
+       ${CL} -I../../hash ../../hash/hsearch.c
+ndbm.o: ../../hash/ndbm.c
+       ${CL} -I../../hash ../../hash/ndbm.c
+
+bt_close.o: ../../btree/bt_close.c
+       ${CL} -I../../btree ../../btree/bt_close.c
+bt_conv.o: ../../btree/bt_conv.c
+       ${CL} -I../../btree ../../btree/bt_conv.c
+bt_debug.o: ../../btree/bt_debug.c
+       ${CL} -I../../btree ../../btree/bt_debug.c
+bt_delete.o: ../../btree/bt_delete.c
+       ${CL} -I../../btree ../../btree/bt_delete.c
+bt_get.o: ../../btree/bt_get.c
+       ${CL} -I../../btree ../../btree/bt_get.c
+bt_open.o: ../../btree/bt_open.c
+       ${CL} -I../../btree ../../btree/bt_open.c
+bt_overflow.o: ../../btree/bt_overflow.c
+       ${CL} -I../../btree ../../btree/bt_overflow.c
+bt_page.o: ../../btree/bt_page.c
+       ${CL} -I../../btree ../../btree/bt_page.c
+bt_put.o: ../../btree/bt_put.c
+       ${CL} -I../../btree ../../btree/bt_put.c
+bt_search.o: ../../btree/bt_search.c
+       ${CL} -I../../btree ../../btree/bt_search.c
+bt_seq.o: ../../btree/bt_seq.c
+       ${CL} -I../../btree ../../btree/bt_seq.c
+bt_split.o: ../../btree/bt_split.c
+       ${CL} -I../../btree ../../btree/bt_split.c
+bt_stack.o: ../../btree/bt_stack.c
+       ${CL} -I../../btree ../../btree/bt_stack.c
+bt_utils.o: ../../btree/bt_utils.c
+       ${CL} -I../../btree ../../btree/bt_utils.c
+
+db.o: ../../db/db.c
+       ${CL} ../../db/db.c
+
+mpool.o: ../../mpool/mpool.c
+       ${CL} -I../../mpool ../../mpool/mpool.c
+
+rec_close.o: ../../recno/rec_close.c
+       ${CL} -I../../recno ../../recno/rec_close.c
+rec_delete.o: ../../recno/rec_delete.c
+       ${CL} -I../../recno ../../recno/rec_delete.c
+rec_get.o: ../../recno/rec_get.c
+       ${CL} -I../../recno ../../recno/rec_get.c
+rec_open.o: ../../recno/rec_open.c
+       ${CL} -I../../recno ../../recno/rec_open.c
+rec_put.o: ../../recno/rec_put.c
+       ${CL} -I../../recno ../../recno/rec_put.c
+rec_search.o: ../../recno/rec_search.c
+       ${CL} -I../../recno ../../recno/rec_search.c
+rec_seq.o: ../../recno/rec_seq.c
+       ${CL} -I../../recno ../../recno/rec_seq.c
+rec_utils.o: ../../recno/rec_utils.c
+       ${CL} -I../../recno ../../recno/rec_utils.c
+
+memmove.o:
+       ${CC} -DMEMMOVE -c -O -I. -Iinclude clib/memmove.c
+mktemp.o:
+       ${CC} -c -O -I. -Iinclude clib/mktemp.c
+snprintf.o:
+       ${CC} -c -O -I. -Iinclude clib/snprintf.c
diff --git a/db.1.85/PORT/sunos.5.2/clib b/db.1.85/PORT/sunos.5.2/clib
new file mode 120000 (symlink)
index 0000000..f0f4f38
--- /dev/null
@@ -0,0 +1 @@
+../clib
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.5.2/include/cdefs.h b/db.1.85/PORT/sunos.5.2/include/cdefs.h
new file mode 120000 (symlink)
index 0000000..d248490
--- /dev/null
@@ -0,0 +1 @@
+../../include/cdefs.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.5.2/include/compat.h b/db.1.85/PORT/sunos.5.2/include/compat.h
new file mode 100644 (file)
index 0000000..b302f19
--- /dev/null
@@ -0,0 +1,236 @@
+/*-
+ * 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.
+ *
+ *     @(#)compat.h    8.13 (Berkeley) 2/21/94
+ */
+
+#ifndef        _COMPAT_H_
+#define        _COMPAT_H_
+
+#include <sys/types.h>
+
+#define NO_ERRLIST
+
+/*
+ * If your system doesn't typedef u_long, u_short, or u_char, change
+ * the 0 to a 1.
+ */
+#if 0
+typedef unsigned char  u_char;         /* 4.[34]BSD names. */
+typedef unsigned int   u_int;
+typedef unsigned long  u_long;
+typedef unsigned short u_short;
+#endif
+
+/* If your system doesn't typedef size_t, change the 0 to a 1. */
+#if 0
+typedef unsigned int   size_t;         /* POSIX, 4.[34]BSD names. */
+#endif
+
+/* If your system doesn't typedef ssize_t, change the 0 to a 1. */
+#if 0
+typedef        int             ssize_t;        /* POSIX names. */
+#endif
+
+/*
+ * If your system doesn't have the POSIX type for a signal mask,
+ * change the 0 to a 1.
+ */
+#if 0                                  /* POSIX 1003.1 signal mask type. */
+typedef unsigned int   sigset_t;
+#endif
+
+
+#define write _write
+
+/*
+ * If your system's vsprintf returns a char *, not an int,
+ * change the 0 to a 1.
+ */
+#if 0
+#define        VSPRINTF_CHARSTAR
+#endif
+
+/*
+ * If you don't have POSIX 1003.1 signals, the signal code surrounding the 
+ * temporary file creation is intended to block all of the possible signals
+ * long enough to create the file and unlink it.  All of this stuff is
+ * intended to use old-style BSD calls to fake POSIX 1003.1 calls.
+ */
+#ifdef NO_POSIX_SIGNALS
+#define        sigemptyset(set)        (*(set) = 0)
+#define        sigfillset(set)         (*(set) = ~(sigset_t)0, 0)
+#define        sigaddset(set,signo)    (*(set) |= sigmask(signo), 0)
+#define        sigdelset(set,signo)    (*(set) &= ~sigmask(signo), 0)
+#define        sigismember(set,signo)  ((*(set) & sigmask(signo)) != 0)
+
+#define        SIG_BLOCK       1
+#define        SIG_UNBLOCK     2
+#define        SIG_SETMASK     3
+
+static int __sigtemp;          /* For the use of sigprocmask */
+
+/* Repeated test of oset != NULL is to avoid "*0". */
+#define        sigprocmask(how, set, oset)                                     \
+       ((__sigtemp =                                                   \
+       (((how) == SIG_BLOCK) ?                                         \
+               sigblock(0) | *(set) :                                  \
+       (((how) == SIG_UNBLOCK) ?                                       \
+               sigblock(0) & ~(*(set)) :                               \
+       ((how) == SIG_SETMASK ?                                         \
+               *(set) : sigblock(0))))),                               \
+       ((oset) ? (*(oset ? oset : set) = sigsetmask(__sigtemp)) :      \
+               sigsetmask(__sigtemp)), 0)
+#endif
+
+/*
+ * If your system doesn't have an include file with the appropriate
+ * byte order set, make sure you specify the correct one.
+ */
+#ifndef BYTE_ORDER
+#define        LITTLE_ENDIAN   1234            /* LSB first: i386, vax */
+#define        BIG_ENDIAN      4321            /* MSB first: 68000, ibm, net */
+#define        BYTE_ORDER      BIG_ENDIAN      /* Set for your system. */
+#endif
+
+#if defined(SYSV) || defined(SYSTEM5)
+#define        index(a, b)             strchr(a, b)
+#define        rindex(a, b)            strrchr(a, b)
+#define        bzero(a, b)             memset(a, 0, b)
+#define        bcmp(a, b, n)           memcmp(a, b, n)
+#define        bcopy(a, b, n)          memmove(b, a, n)
+#endif
+
+#if defined(BSD) || defined(BSD4_3)
+#define        strchr(a, b)            index(a, b)
+#define        strrchr(a, b)           rindex(a, b)
+#define        memcmp(a, b, n)         bcmp(a, b, n)
+#define        memmove(a, b, n)        bcopy(b, a, n)
+#endif
+
+/*
+ * 32-bit machine.  The db routines are theoretically independent of
+ * the size of u_shorts and u_longs, but I don't know that anyone has
+ * ever actually tried it.  At a minimum, change the following #define's
+ * if you are trying to compile on a different type of system.
+ */
+#ifndef USHRT_MAX
+#define        USHRT_MAX               0xFFFF
+#define        ULONG_MAX               0xFFFFFFFF
+#endif
+
+#ifndef O_ACCMODE                      /* POSIX 1003.1 access mode mask. */
+#define        O_ACCMODE       (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#ifndef        _POSIX2_RE_DUP_MAX              /* POSIX 1003.2 RE limit. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+/*
+ * If you can't provide lock values in the open(2) call.  Note, this
+ * allows races to happen.
+ */
+#ifndef O_EXLOCK                       /* 4.4BSD extension. */
+#define        O_EXLOCK        0
+#endif
+
+#ifndef O_SHLOCK                       /* 4.4BSD extension. */
+#define        O_SHLOCK        0
+#endif
+
+#ifndef EFTYPE
+#define        EFTYPE          EINVAL          /* POSIX 1003.1 format errno. */
+#endif
+
+#ifndef        WCOREDUMP                       /* 4.4BSD extension */
+#define        WCOREDUMP(a)    0
+#endif
+
+#ifndef        STDERR_FILENO
+#define        STDIN_FILENO    0               /* ANSI C #defines */
+#define        STDOUT_FILENO   1
+#define        STDERR_FILENO   2
+#endif
+
+#ifndef SEEK_END
+#define        SEEK_SET        0               /* POSIX 1003.1 seek values */
+#define        SEEK_CUR        1
+#define        SEEK_END        2
+#endif
+
+#ifndef _POSIX_VDISABLE                        /* POSIX 1003.1 disabling char. */
+#define        _POSIX_VDISABLE 0               /* Some systems used 0. */
+#endif
+
+#ifndef        TCSASOFT                        /* 4.4BSD extension. */
+#define        TCSASOFT        0
+#endif
+
+#ifndef _POSIX2_RE_DUP_MAX             /* POSIX 1003.2 values. */
+#define        _POSIX2_RE_DUP_MAX      255
+#endif
+
+#ifndef NULL                           /* ANSI C #defines NULL everywhere. */
+#define        NULL            0
+#endif
+
+#ifndef        MAX                             /* Usually found in <sys/param.h>. */
+#define        MAX(_a,_b)      ((_a)<(_b)?(_b):(_a))
+#endif
+#ifndef        MIN                             /* Usually found in <sys/param.h>. */
+#define        MIN(_a,_b)      ((_a)<(_b)?(_a):(_b))
+#endif
+
+/* Default file permissions. */
+#ifndef DEFFILEMODE                    /* 4.4BSD extension. */
+#define        DEFFILEMODE     (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+#endif
+
+#ifndef S_ISDIR                                /* POSIX 1003.1 file type tests. */
+#define        S_ISDIR(m)      ((m & 0170000) == 0040000)      /* directory */
+#define        S_ISCHR(m)      ((m & 0170000) == 0020000)      /* char special */
+#define        S_ISBLK(m)      ((m & 0170000) == 0060000)      /* block special */
+#define        S_ISREG(m)      ((m & 0170000) == 0100000)      /* regular file */
+#define        S_ISFIFO(m)     ((m & 0170000) == 0010000)      /* fifo */
+#endif
+#ifndef S_ISLNK                                /* BSD POSIX 1003.1 extensions */
+#define        S_ISLNK(m)      ((m & 0170000) == 0120000)      /* symbolic link */
+#define        S_ISSOCK(m)     ((m & 0170000) == 0140000)      /* socket */
+#endif
+
+/* The type of a va_list. */
+#ifndef _BSD_VA_LIST_                  /* 4.4BSD #define. */
+#define        _BSD_VA_LIST_   char *
+#endif
+
+#endif /* !_COMPAT_H_ */
diff --git a/db.1.85/PORT/sunos.5.2/include/db.h b/db.1.85/PORT/sunos.5.2/include/db.h
new file mode 120000 (symlink)
index 0000000..44c1ba4
--- /dev/null
@@ -0,0 +1 @@
+../../include/db.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.5.2/include/mpool.h b/db.1.85/PORT/sunos.5.2/include/mpool.h
new file mode 120000 (symlink)
index 0000000..03f870c
--- /dev/null
@@ -0,0 +1 @@
+../../include/mpool.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.5.2/include/ndbm.h b/db.1.85/PORT/sunos.5.2/include/ndbm.h
new file mode 120000 (symlink)
index 0000000..a1a41a8
--- /dev/null
@@ -0,0 +1 @@
+../../include/ndbm.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.5.2/include/queue.h b/db.1.85/PORT/sunos.5.2/include/queue.h
new file mode 120000 (symlink)
index 0000000..e54c7cf
--- /dev/null
@@ -0,0 +1 @@
+../../include/queue.h
\ No newline at end of file
diff --git a/db.1.85/PORT/sunos.5.2/sys b/db.1.85/PORT/sunos.5.2/sys
new file mode 120000 (symlink)
index 0000000..2996fba
--- /dev/null
@@ -0,0 +1 @@
+include
\ No newline at end of file
diff --git a/db.1.85/PORT/ultrix.4.2/Makefile b/db.1.85/PORT/ultrix.4.2/Makefile
new file mode 100644 (file)
index 0000000..dd459ad
--- /dev/null
@@ -0,0 +1,102 @@
+#      @(#)Makefile    8.9 (Berkeley) 7/14/94
+
+LIBDB= libdb.a
+OBJ1=  hash.o hash_bigkey.o hash_buf.o hash_func.o hash_log2.o hash_page.o \
+       hsearch.o ndbm.o
+OBJ2=  bt_close.o bt_conv.o bt_debug.o bt_delete.o bt_get.o bt_open.o \
+       bt_overflow.o bt_page.o bt_put.o bt_search.o bt_seq.o bt_split.o \
+       bt_utils.o
+OBJ3=  db.o
+OBJ4=  mpool.o
+OBJ5=  rec_close.o rec_delete.o rec_get.o rec_open.o rec_put.o rec_search.o \
+       rec_seq.o rec_utils.o
+
+MISC=  mktemp.o snprintf.o
+
+${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+       rm -f $@
+       ar cq $@ \
+           `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
+       ranlib $@
+
+clean:
+       rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
+
+OORG=  -O
+CL=    ${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude
+
+hash.o: ../../hash/hash.c
+       ${CL} -I../../hash ../../hash/hash.c
+hash_bigkey.o: ../../hash/hash_bigkey.c
+       ${CL} -I../../hash ../../hash/hash_bigkey.c
+hash_buf.o: ../../hash/hash_buf.c
+       ${CL} -I../../hash ../../hash/hash_buf.c
+hash_func.o: ../../hash/hash_func.c
+       ${CL} -I../../hash ../../hash/hash_func.c
+hash_log2.o: ../../hash/hash_log2.c
+       ${CL} -I../../hash ../../hash/hash_log2.c
+hash_page.o: ../../hash/hash_page.c
+ &#