This is a small C library with some utilities based on the POSIX standard. Included is
- support for buffered input and output (inbuf and outbuf) with some functions based on that including inbuf_scan that supports regular-expression-based input parsing,
- various options for network services with parallel sessions, and
- support for communication and synchronization among multiple processes using shared memory and
- more random stuff.
The main focus of the library is not for production but for demonstrating some aspects of the POSIX standard. It comes without any warranty but can be freely distributed under the terms of the GPL 2.0. See COPYING for details.
Due to the assorted characteristics of the library, it is named after the initials of its author.
Manual pages can be found in the associated wiki.
Please clone this repository recursively using
git clone --recursive https://github.com/afborchert/afblib.git
Following libraries are required:
- stralloc by Dan J. Bernstein: http://cr.yp.to/lib/stralloc.html. There exist multiple libraries supporting stralloc. One popular option is the diet libc, see https://www.fefe.de/dietlibc/. Under Debian and Ubuntu you will need the libowfat-dev package. For MacOS/Homebrew you will need libowfat.
- pcre by Philip Hazel: https://pcre.org/. Under Debian and Ubuntu you will need libpcre3-dev. For MacOS/Homebrew you will need pcre.
The Makefile includes support for Linux, Solaris, and MacOS. In case of MacOS you will need to check the BREW_ROOT variable for the Brew home directory.