TRAP module
Name: Traffic repeater
Inputs: 1
Outputs: 1
Description:
This module receive data from input interface and resend it to the output interface based on given arguments in -i option

Common TRAP parameters:
  -h           Print this message.
  -i IFC_SPEC  Specification of interface types and their parameters, see below
               (mandatory parameter).
  -v           Be verbose.
  -vv          Be more verbose.
  -vvv         Be even more verbose.

Format of IFC_SPEC: <ifc_types>;<params1>;<params2>;...;<paramsN>
  N is number of module's interfaces (both input and output).
  <ifc_types> is a string of length N where i-th character specifies a type of
    the i-th interface (input interfaces first, then output interfaces).
  <paramsI> specifies parameters for I-th interface. Format is specific for each
    interface type.

Interface types available:
  Shared Memory interface ('m')
    Communicates though a shared memory (shm_open...).
    Parameters when used as INPUT interface:
      <identifier>
      identifier - string used for sender's memory identification,
        consisting of alphanumerical characters: "[a-zA-Z0-9]+"
    Parameters when used as OUTPUT interface:
      <identifier>
      identifier - string used for memory unique identification,
        consisting of alphanumerical characters: "[a-zA-Z0-9]+"
  TCP interface ('t')
    Communicates through a TCP socket. Output interface listens on a given port,
    input interface connects to it. There may be more than one input interfaces
    connected to one output interface, every input interface will get the same data.
    Parameters when used as INPUT interface:
      <hostname or ip>,<port>
      Hostname/IP and port to connect to must be specified.
    Parameters when used as OUTPUT interface:
      <port>,<max_num_of_clients>
      Port to listen on and maximal number of clients (input interfaces) allowed
      must be specified.
  TCP interface - UNIX socket ('u')
    Communicates through a UNIX socket. Output interface listens on a given port,
    input interface connects to it. There may be more than one input interfaces
    connected to one output interface, every input interface will get the same data.
    Parameters are the same as for TCP interface ('t').
  Blackhole interface ('b')
    Can be used as OUTPUT interface only. Does nothing, everything which is sent
    by this interface is dropped. It has no parameters.

Example usage for a module with one input interface and two output interfaces:
  ./my_module -i "tbt;localhost,12345;;23456,5"
  The input interface will connect to localhost:12345. The first output
  interface is unused (all data send there will be dropped), the second output
  interface will provide data on port 23456, to which another module can connect
  its input interface.

Note: Don't forget to enclose IFC_SPEC in quotation marks, otherwise a shell
will treat semicolons as command separators.
