Libosl is simple:
- - For libosl, all data stored in the osl tables are blobs,
- libosl will never try to interpret the table contents.
+- For libosl, all data stored in the osl tables are blobs,
+libosl will never try to interpret the table contents.
- - There is no fancy query language but only a relatively
- simple C-API.
+- There is no fancy query language but only a relatively
+simple C-API.
- - There's no support for network-access and libosl does not
- use any table locking.
+- There's no support for network-access and libosl only uses a very
+rudimentary table locking mechanism.
+
+- There are no dependencies on external libraries. An augmented
+version of the red-black tree implementation of the linux
+kernel is in included in the libosl package.
Libosl is fast:
- - It uses sha1 hashes for content-based addressing.
+- It uses sha1 hashes for content-based addressing.
- - An augmented version of the rbtree implementation of the
- linux kernel is used for lookups.
+- Red-black trees are used to make lookups fast.
Libosl is portable:
- - It is known to compile and run on Linux, MacOS, FreeBSD,
- NetBSD and Solaris.
+- It is known to compile and run on Linux, MacOS, FreeBSD,
+NetBSD and Solaris.
- - Content and metadata is stored in an endian-agnostic way.
+- Content and metadata is stored in an endian-agnostic way.
Libosl is open source:
- - Licensed under the GPL, version 2.
+- Licensed under the GPL, version 2.
Apart from the library itself, the package also contains simple
examples and an fsck program, oslfsck, which can be used to recover