(define-interface berkeley-db-interface (export bdb-flags-object? bdb-flags-elements bdb-flags-name (bdb-flags :syntax) database-type-object? database-type-elements database-type-name (database-type :syntax) &bdb-error bdb-error? &bdb-lock-deadlock bdb-lock-deadlock? &bdb-lock-not-granted bdb-lock-not-granted? &bdb-old-db-version bdb-old-db-version? &bdb-db-handle-dead bdb-db-handle-dead? &bdb-secondary-index-bad bdb-secondary-index-bad? &bdb-invalid-flag bdb-invalid-flag? bdb-db? bdb-env? bdb-mpoolfile? bdb-txn? bdb-dbc? bdb-env-create bdb-env-open bdb-env-close ;bdb-env-remove bdb-create bdb-open bdb-close bdb-put bdb-get bdb-del bdb-truncate bdb-sync ;bdb-create-cursor ;bdb-cursor-cget bdb-begin-transaction bdb-abort-transaction bdb-commit-transaction)) (define-structure berkeley-db berkeley-db-interface (open scheme srfi-1 srfi-34 srfi-35 fluids weak byte-vectors extended-ports ascii let-opt bitwise define-record-types finite-types external-calls) (files bdb))