tree f2bb70dd3b130e8afa4c8c4c2a8e7689867843ec
parent 67798f7b5340d4e9b5f621f94184402767a09acf
author Harald Welte <laforge@gnumonks.org> 1274035943 +0200
committer Harald Welte <laforge@gnumonks.org> 1274035943 +0200

VTY: decouple telnet_interface from 'struct gsmnet'

We want the VTY and telnet code to be independent from the BSC
application(s).  As a side note, we also like to eliminate static
global variables for 'struct gsm_network' all over the code.

As such, telnet_init() is now passed along a "private" pointer,
which getst stored in telnet_connection.priv.  This telnet_connection
is then stored in vty->priv, which in turn gets dereferenced if
anyone needs a reference to 'struct gsm_network' from the BSC vty
code.

Also:
 * vty_init() now calls cmd_init()
 * the ugliness that telnet_init() calls back into the application by means of
   bsc_vty_init() function has been removed.
 * telnet_init() now returns any errors, so the main program can exit
   e.g. if the port is already in use.
