/**
* @mainpage The X Binary Package System Library API
* @section intro_sec Introduction
*
* XBPS is a new binary package system designed and implemented from
* scratch, by Juan Romero Pardines. This document describes
* the API used by the XBPS Library, that is the base to implement
* a package manager frontend, such as is implemented in the xbps-bin(8)
* and xbps-repo(8) command line interfaces.
*
* XBPS uses extensively NetBSD's proplib, a library that provides an
* abstract interface for creating and manipulating property lists.
* Property lists have object types for boolean values, opaque data, numbers,
* and strings. Structure is provided by the array and dictionary collection
* types. Property lists can be passed across protection boundaries by
* translating them to an external representation. This external representation
* is an XML document whose format is described by the following DTD:
*
* http://www.apple.com/DTDs/PropertyList-1.0.dtd
*
* NetBSD's proplib has been choosed because it's fast, extensible, and easy
* to use. These are the three facts I mentioned:
*
* - Fast because proplib uses an ultra optimized
* red-black tree implementation to store and find all its objects,
* the same implementation has been used in commercial projects by
* Apple Inc.
*
* - Extensible because you don't have to worry about ABI problems
* with its objects, arrays and dictionaries can be extended without such
* problems.
*
* - Easy to use (and learn) because it has a superb documentation
* available in the form of manual pages.
*
* Not to mention that its arrays and dictionaries can be externalized to
* files (known as plists) and are always written atomically. You
* have the whole file or don't have it at all.
*/