/**
\mainpage Libtrap
TRAP is represented by a shared object called libtrap. It is dynamically
linked with every Nemea module. This library implements the communication
interfaces used by all Nemea modules to exchange data.
There are different types of interfaces using various underlying methods of
communication (TCP/IP, Unix domain socket, shared memory) and each interface
has several parameters. However, libtrap abstracts a module from the
underlying interface and its specifics.
The main features of libtrap are:
<ul>
<li>Blocking or non-blocking mode of transmission based on configuration parameters</li>
<li>Buffering for throughput increase</li>
<li>Automatic reconnection after failure</li>
<li>Local or remote machine communication</li>
</ul>
The interface type and behaviour is fully configurable by module and is
usually set by user when module starts.
Because some interface types support communication over a network, the system
may be easily distributed on several hosts.

Libtrap supplies \ref simpleapi and \ref ctxtrap, both using \ref commonapi.
For writing new Nemea modules, \ref modulemacros can be useful.
*/
