Commit 5321985e authored by Arthur Smyles's avatar Arthur Smyles

Updated doc links. Fixed style issues. Also create README.md for gitlab.

parent a0848106
cl-berkeley-db
==============
## A Common Lisp wrapper to the Berkeley DB library
This is a Common Lisp wrapper to the Berkeley DB library. It uses cffi and trivial-garbage. It's been tested on sbcl but should work on any distribution. There are a couple of functions that need to be implemented to make it work on other common-lisp implementations. This library has a BSD license. Our main project page has an implementation [summary](https://common-lisp.net/project/cl-berkeley-db/) as well as the [api](https://common-lisp.net/project/cl-berkeley-db/api/). Both are included in the docs directory of the main project.
Arthur T. Smyles atsmyles@earthlink.net (Founding Maintainer)
Arthur T. Smyles atsmyles@verizon.net (Founding Maintainer)
Anton Kazennikov kazennikov@gmail.com (Contributer)
......@@ -7,9 +7,9 @@
<link rel="stylesheet" type="text/css" href="style.css"/>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<style type="text/css">
.complete {background-color:green}
.complete {background-color:green; color: orange;}
.mostly-complete {background-color:yellow}
.incomplete {background-color:red}
.incomplete {background-color:red; color: yellow;}
</style>
</head>
......@@ -21,20 +21,11 @@
<div id="introduction">
<h3>Introduction</h3>
<p>This is a Common Lisp wrapper to the Berkeley DB library. It uses cffi and trivial-garbage. It's been tested on sbcl but should work on any distribution. There are a couple of functions that need to be implemented to make it work on other common-lisp implementations. This library has a BSD license.</p>
<p id="mailing-lists"> You can discuss cl-berkeley-db on our <a href="http://www.common-lisp.net/mailman/listinfo/cl-berkeley-db-devel">mailing list</a>
</p>
</div>
<div id="download">
<h3>Download</h3>
<p>tarball distributions of all versions <a href="http://common-lisp.net/project/cl-berkeley-db/dist">available</a></p>
<p>The last <a href="http://common-lisp.net/project/cl-berkeley-db/dist/cl-berkeley-db-0.2.1">version</a> supporting Berkeley DB 4.5</p>
</div>
<!-- h3>Project members</h3>
<pre><!--#include virtual="../../pprinted-project-members/sample" --></pre -->
<div id="repository">
<h3>Repository</h3>
<p>You can <a href="http://common-lisp.net/project/cl-berkeley-db/darcs"> browse our darcs repository</a></p>
<p>You can <a href="https://gitlab.common-lisp.net/cl-berkeley-db/cl-berkeley-db"> browse our GitLab repository</a></p>
</div>
<div id="implemented-api">
<p id="library versions">
......@@ -118,7 +109,7 @@
<p>Once "1.0" status is reached, the version will be bumped up to the version of the Berkeley DB library is. It will have the version <emphasis>berkeley-major.berkeley-minor.cl-berkeley-version</emphasis>. So for example for 4.5 it will be 4.5.0. The very minor version number for the berkeley library will be droped in our versions</p>
<div id="developers">
<h3>Developer Notes</h3>
<p>There are 2 api's. An internal one created by swig and an external one that is seen by the users. The swig generated interface covers 70% of the direct interface to the package. But the swig needs help in understanding some of the structures in db.h. It ignores constant declarations inside structure declarations. Also, it assumes that sub-structures (structure declarations inside other structure declarations) are pointers, causing alignment problems. For these reasons, interface files need to be created for structures that aren't translated correctly.</p>
<p>There are 2 api's. An internal one created by swig and an external one that is seen by the users. The swig generated interface covers 70% of the direct interface to the package. But Swig needs help in understanding some of the structures in db.h. It ignores constant declarations inside structure declarations. Also, it assumes that sub-structures (structure declarations inside other structure declarations) are pointers, causing alignment problems. For these reasons, interface files need to be created for structures that aren't translated correctly.</p>
<p>berkeley-db is "object oriented" in the sense that all structure instances have function pointers for thier methods. There are helper macros to allow the creation of these methods in lisp. The functions in berkeley-db are of 3 types:
<ul>
<li>functions with error codes</li>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment