libconfig is a compact, portable library for reading, manipulating, and writing structured configuration files. The library includes bindings for both the C and C++ languages, and works on Linux, Mac OS X, and other POSIX-compliant operating systems, as well as Windows. A complete manual with API documentation is included.
OpenGUI is a high-level multi-platform, thread-safe C/C++ windowing and graphics library built upon a fast, low-level graphics kernel. It provides 2D drawing primitives and an event-driven windowing API for easy application development. The benefit of this library is speed, power, and a well-designed API with a narrow learning curve. It supports the BMP, JPG, TGA, PNG, TIFF, and PCX image file formats, color gradients, and TTF fonts. There is also basic XML file support and a smart persistence wrapper. OpenGUI supports the keyboard and mouse as event sources, the Linux framebuffer, SVGAlib, and XFree86/DGA2 (HW accelerated) as drawing backends, Mesa3D under Linux, and 8, 15, 16, and 32-bpp color modes.
MDIFramework provides a ready-to-use architecture to ease the creation MDI-style applications in Java. It takes care of the overall architecture of the main window of the application, with a tabbed architecture, the presence of an HTML printable message area, and so on. It provides a generic API to manage lengthy actions, keeping the interface responsive, and taking care that actions are performed one at a time, without having to bother about it. It can add metadata to already opened files. It manages loading and unloading of external plugins at runtime.
GNU Libidn is an implementation of the Stringprep, Punycode, and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group. It is used to prepare internationalized strings (such as domain name labels, usernames, and passwords) in order to increase the likelihood that string input and string comparison work in ways that make sense for typical users throughout the world. The library contains a generic Stringprep implementation that does Unicode 3.2 NFKC normalization, mapping and prohibition of characters, and bidirectional character handling. Profiles for iSCSI, Kerberos 5, Nameprep, SASL, and XMPP are included. Punycode and ASCII Compatible Encoding (ACE) via IDNA are supported.
libelf lets you read, modify or create ELF files in an architecture-independent way. The library takes care of size and endian issues. For example, you can process a file for SPARC processors on an Intel-based system. This library is a clean-room rewrite of the System V Release 4 library, and is supposed to be source code compatible with it. It was meant primarily for porting SVR4 applications to other operating systems, but can also be used as the basis for new applications (and as a light-weight alternative to libbfd).