Update of /project/elephant/cvsroot/elephant/src In directory common-lisp.net:/tmp/cvs-serv9047/src
Modified Files: sleepycat.lisp Log Message: new license, non-interned exports (thanks Rafal Strzalinski)
Date: Sun Aug 29 22:41:31 2004 Author: blee
Index: elephant/src/sleepycat.lisp diff -u elephant/src/sleepycat.lisp:1.5 elephant/src/sleepycat.lisp:1.6 --- elephant/src/sleepycat.lisp:1.5 Sun Aug 29 09:55:29 2004 +++ elephant/src/sleepycat.lisp Sun Aug 29 22:41:30 2004 @@ -12,6 +12,10 @@ ;;; Copyright (c) 2004 by Andrew Blumberg and Ben Lee ;;; ablumberg@common-lisp.net blee@common-lisp.net ;;; +;;; This program is released under the following license +;;; ("GPL"). For differenct licensing terms, contact the +;;; copyright holders. +;;; ;;; This program is free software; you can redistribute it ;;; and/or modify it under the terms of the GNU General ;;; Public License as published by the Free Software @@ -39,30 +43,33 @@
(defpackage sleepycat (:use common-lisp uffi) - (:export read-int read-uint read-float read-double - write-int write-uint write-float write-double - offset-char-pointer copy-str-to-buf copy-bufs byte-length - pointer-int pointer-void array-or-pointer-char - db-env-create db-env-close db-env-open db-env-dbremove - db-env-dbrename db-env-remove - db-env-set-flags db-env-get-flags - db-create db-close db-open - db-remove db-rename db-sync db-truncate - db-get-key-buffered db-get-buffered db-get db-put-buffered db-put - db-delete-buffered db-delete - *current-transaction* db-transaction-begin db-transaction-abort - db-transaction-commit with-transaction - db-transaction-id db-env-lock-id db-env-lock-id-free - db-env-lock-get db-env-lock-put with-lock - db-env-set-timeout db-env-get-timeout - db-env-set-lock-detect db-env-get-lock-detect - db-error db-error-errno - +NULL-VOID+ +NULL-CHAR+ - DB-BTREE DB-HASH DB-QUEUE DB-RECNO DB-UNKNOWN - DB_KEYEMPTY DB_LOCK_DEADLOCK DB_LOCK_NOTGRANTED DB_NOTFOUND - DB-LOCKMODE#NG DB-LOCKMODE#READ DB-LOCKMODE#WRITE - DB-LOCKMODE#wAIT DB-LOCKMODE#IWRITE DB-LOCKMODE#IREAD - DB-LOCKMODE#IWR DB-LOCKMODE#DIRTY DB-LOCKMODE#WWRITE + (:export #:*current-transaction* + #:read-int #:read-uint #:read-float #:read-double + #:write-int #:write-uint #:write-float #:write-double + #:offset-char-pointer #:copy-str-to-buf #:copy-bufs #:byte-length + #:pointer-int #:pointer-void #:array-or-pointer-char + #:db-env-create #:db-env-close #:db-env-open #:db-env-dbremove + #:db-env-dbrename #:db-env-remove + #:db-env-set-flags #:db-env-get-flags + #:db-create #:db-close #:db-open + #:db-remove #:db-rename #:db-sync #:db-truncate + #:db-get-key-buffered #:db-get-buffered #:db-get + #:db-put-buffered #:db-put + #:db-delete-buffered #:db-delete + #:db-transaction-begin #:db-transaction-abort + #:db-transaction-commit #:with-transaction + #:db-transaction-id #:db-env-lock-id #:db-env-lock-id-free + #:db-env-lock-get #:db-env-lock-put #:with-lock + #:db-env-set-timeout #:db-env-get-timeout + #:db-env-set-lock-detect #:db-env-get-lock-detect + #:db-error #:db-error-errno + #:+NULL-VOID+ #:+NULL-CHAR+ + #:DB-BTREE #:DB-HASH #:DB-QUEUE #:DB-RECNO #:DB-UNKNOWN + #:DB_KEYEMPTY #:DB_LOCK_DEADLOCK #:DB_LOCK_NOTGRANTED + #:DB_NOTFOUND + #:DB-LOCKMODE#NG #:DB-LOCKMODE#READ #:DB-LOCKMODE#WRITE + #:DB-LOCKMODE#wAIT #:DB-LOCKMODE#IWRITE #:DB-LOCKMODE#IREAD + #:DB-LOCKMODE#IWR #:DB-LOCKMODE#DIRTY #:DB-LOCKMODE#WWRITE ))
(in-package "SLEEPYCAT") @@ -71,21 +78,30 @@ ;; UFFI ;;(asdf:operate 'asdf:load-op :uffi)
- ;; DSO loading + ;; DSO loading - Edit these for your system!
- ;; Under linux you need to load some kind of pthread + ;; Under linux you may need to load some kind of pthread ;; library. I can't figure out which is the right one. ;; This one worked for me. There are known issues with ;; Red Hat and Berkeley DB, search google. #+linux (uffi:load-foreign-library "/lib/tls/libpthread.so.0" :module "pthread")
+ ;; Sleepycat: this works on linux + #-bsd + (uffi:load-foreign-library "/usr/local/BerkeleyDB.4.2/lib/libdb.so" + :module "sleepycat") + ;; this works on FreeBSD + #+bsd (uffi:load-foreign-library "/usr/local/lib/db42/libdb.so" :module "sleepycat") + + ;; Libsleepycat.so: edit this (uffi:load-foreign-library - "/home/ben/lisp/elephant/libsleepycat.so" -;; "/usr/local/share/common-lisp/elephant/libsleepycat.so" + "/usr/local/share/common-lisp/elephant/libsleepycat.so" :module "libsleepycat") + + ;; fini on user editable part
(def-type pointer-int (* :int)) (def-type pointer-void :pointer-void)