libfuncs is collection of code (list, queue, circular buffer, io, logging, etc.).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.


You won't find anything earth shattering here. It is just a bunch
of code that was used all over my projects, so I just extracted it
into a self contained library suitable for static compilation and
decided to release it. You'll probably find better list functions,
queue functions and just about anything than what it is here, so
be warned. The code works and it is used in production, but it is
not pretty, documented or portable. Developed and tested in Linux
environment only with very rare compilation tests under FreeBSD.

Using it
Clone or download libfuncs in a directory in your source tree and
look at the example Makefile bellow:

FUNCS_DIR = libfuncs
FUNCS_LIB = $(FUNCS_DIR)/libfuncs.a

all: prog

prog_OBJS = main.o $(FUNCS_LIB)

$(MAKE) -s -C $(FUNCS_DIR)

prog: $(prog_OBJS)
$(CC) $(CFLAGS) $(prog_OBJS) -o prog

In every C file that you need to use it, add

#include "libfuncs/libfuncs.h"

There isn't any. I'm too lazy to write proper docs. Maybe some day but
until then just look at the header files.

The development is tracked using git. The repository is hosted at github
to get it, run the following command:

git clone git://

Official releases can be downloaded from libfuncs home page which is

For patches, bug reports, complaints and so on send e-mail to

Georgi Chorbadzhiyski <>