Projects / Curie


Curie is a very minimalistic, tiny C library. It supports basic I/O, basic networking, S-expression based I/O, signal handling, process handling, and I/O multiplexing. If the target architecture is explicitly supported, statically linked binaries may be as small as 4-20 kilobytes; if not, then it only relies on the host's C library. The library explicitly does not provide a POSIX interface so that it may be used in conjunction with a regular host libc (or without one).

Operating Systems

Recent releases

  •  15 Jan 2014 10:33

    Release Notes: Fixes issues with the build system, removes functions from the headers that were never implemented, and documents any remaining undocumented functionality exposed by the headers. The makefiles can now compile Curie-based projects in the same context as Curie itself, which helps quite a lot when trying to cross-compile Curie and dependent projects.

    •  16 Dec 2013 12:38

      Release Notes: This release added CPIO support to the library and removed a lot of dead or under-maintained code. There were lots of minor changes all over the place. 'icemake' was removed favor of plain old GNU makefiles.

      •  05 Sep 2009 16:02

        Release Notes: This latest release adds an experimental garbage collector for s-expression data, support for custom s-expression types, several fixes to icemake, better support for building Windows .dll files (with msvc++), (basic) support for IPv4/IPv6 networking for POSIX operating systems, and fixes to make curie work on Windows x86-64 (also using msvc++). Still missing is network support in general on Windows.

        •  06 Jun 2009 16:58

          Release Notes: Not much changed regarding the API, just a few minor stability fixes. However, this release adds a port of both curie and icemake to Windows/x86, which works with MSVC++, Borland/Turbo C++, and Mingw/GCC. Carefully designed curie-only programs that do not use libsyscall should now work on Windows as well as Linux and Darwin. icemake should prove to be a very effective tool with which to write and port programs.

          •  19 Apr 2009 15:27

            Release Notes: This release mostly ties up some loose ends, and does nothing spectacular. Icemake got itself a shiny new manpage, as well as the ability to install those. curie got some minor feature enhancements. libsyscall has been fixed to properly implement things based on socketcall() on Linux architectures that still use this interface.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.