s6-networking is a collection of small Unix tools designed to help networking. It includes clock synchronization, Unix and TCP super-servers, Unix and TCP access control, and other miscellaneous utilities. It is particularly suited for management of clients and servers on embedded devices, but works just as well on larger systems.
Ctalk adds classes, methods, operator overloading, inheritance, and complex object expressions to otherwise standard C programs. Programs can use only a few Ctalk objects and methods in an otherwise standard C program, but the language can be used to write entire programs also. Ctalk works on most if not all of the systems that support GCC, the GNU C compiler. The package includes the language, class and run-time libraries, example programs, tutorial, and language reference.
C Almost Generic Library (CAGL) is a set of C macros which generates typed arrays, lists (singly or doubly-linked), hash tables, and balanced binary trees, as well as many useful functions to manipulate them. The containers grow automatically, and their memory is managed by the library. The container data, or elements, may also be managed by the library, depending on the options specified by the programmer. The aim is to free C programmers from the drudgery of implementing common data structures and algorithms. CAGL also provides some safety by making the containers typed instead of void pointers. Although, at most, two macros are invoked to declare and define a container type, manipulation of the containers is done using functions generated by the macros. A simple naming convention is used to get around the limitation that C doesn't support function overloading.
fpgatools is a toolchain for programming flexible programmable gate arrays (FPGAs). The only supported chip at this time is the xc6slx9, a cheap (circa $10 U.S.) but powerful 45nm-generation chip with about 2400 LUTs, block ram, and multiply-accumulate devices. The principles of fpgatools are to reach the maximum physical performance of the chip, to provide fast development cycles, to be an independent toolchain which only depends on other Free Software, and to be a lightweight C implementation without a GUI.
s6-dns is a small, efficient, complete, and IPv6-ready DNS client library, with synchronous as well as asynchronous APIs. It is designed to replace libresolv in projects that need to perform DNS resolution. It also comes with small command-line utilities to make common and not so common DNS queries.
Generic Makefile for C Projects is a generic makefile that builds a binary from C source code files. Any number of build modes are supported - Release and Debug are predefined. The CFlags and LFlags variables can be defined in a mode dependent way, i.e. CFlags_Debug. File dependencies are generated by the compiler (-MMD flag for preconfigured GNU compiler) and included by the makefile automatically. All output is written under a single target directory. It supports source files with the same name that are located in different directories. You can use wildcards to add any number of source files.