Before starting development of a new kernel (see X15), I wrote a few of the modules in userspace in order to make sure they were bug-free and efficient. They also turned out to be pretty useful at work, so they got BSD-licensed. This library is not meant to be linked against. Instead, it acts as a repository of loosely related modules that can be copied and reused individually.

Source code : https://git.sceen.net/rbraun/librbraun.git/

List of modules :

  • avltree : AVL tree
  • bitmap : arbitrary-length bit array
  • cbuf : fast byte circular buffer
  • fmt : sprintf/sscanf implementations
  • hash : integer and string finalizers
  • hlist : single-pointer head doubly-linked list
  • list : doubly-linked list
  • macros : generic macros
  • plist : priority-sorted linked list
  • rbtree : red-black tree
  • rdxtree : radix tree
  • shell : minimalist shell for microcontrollers and OS kernels
  • slist : singly-linked list