The basic idea is to put the implementation of the different services
offered to access the databases in separate modules. This has some
advantages:
Contributors can add new services without adding them to GNU C Library.
The modules can be updated separately.
The C library image is smaller.
To fulfill the first goal above the ABI of the modules will be described
below. For getting the implementation of a new service right it is
important to understand how the functions in the modules get called.
They are in no way designed to be used by the programmer directly.
Instead the programmer should only use the documented and standardized
functions to access the databases.