libini_config  0.1.2
The INI configuration interface

The goal of the this interface is to allow applications to read configuration from the INI file.

So why yet another library to read data from INI file? As we started the SSSD project we looked around for a open source library that would meet the following requirements:

We have seen several solutions but none was able to address our requirements fully. As a result we started developing our own INI parsing library. It is currently stable, however there is a list of the enhancements that we eventually plan to implement. One of the most interesting future features is the grammar validation utility. It is targeted at helping to diagnose a misconfiguration.

Currently INI parser allows reading and merging INI files and getting a resulting configuration in one object.

One of the main differences of this interface is that the library is created with the idea of reading the configuration data not managing it. Thus currently you will not find any function that alters the configuration data read from the files. There is a set of proposed enhancements to be able to manipulate the configuration data and save it back but there have been no real driver for it. This API is focused on letting applications read data from a file (or files) and interpret it, not to generate configuration files. There are all sorts of different tools that already do that.

The INI configuration interface uses COLLECTION (see libcollection interface) to store data internally.

Concepts:

 All Data Structures