(define-interface berkeley-db-interface (export with-database-env with-database with-database-flags as-transaction flag-object? flag-elements flag-name (flag :syntax) return-code-object? return-code-elements return-code-name (return-code :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? database? database-env? mpoolfile? transaction? cursor? make-database-env database-env-open database-env-close set-database-env-data-dir! database-env-data-dirs set-database-env-encrypt! database-env-encrypt-flags set-database-env-lock-timeout! set-database-env-transaction-timeout! database-env-lock-timeout database-env-transaction-timeout set-database-env-tmp-dir! database-env-tmp-dir set-database-env-flags! clear-database-env-flags! database-env-flags remove-database rename-database make-database open-database close-database database-put database-get database-delete-item database-truncate database-sync make-cursor database-get-via-cursor begin-transaction abort-transaction commit-transaction string->byte-vector byte-vector->string value->byte-vector byte-vector->value)) (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))