blob: 3c222014de94841ffd84254c79dd0a28a849d420 [file] [log] [blame]
Harald Welte3fb0b6f2010-05-19 19:02:52 +02001/* minimalistic telnet/network interface it might turn into a wire interface */
2/* (C) 2009 by Holger Hans Peter Freyther <zecke@selfish.org>
3 * All Rights Reserved
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 */
20
21#ifndef TELNET_INTERFACE_H
22#define TELNET_INTERFACE_H
23
Pablo Neira Ayuso83419342011-03-22 16:36:13 +010024#include <osmocom/core/logging.h>
25#include <osmocom/core/select.h>
Harald Welte3fb0b6f2010-05-19 19:02:52 +020026
27#include <osmocom/vty/vty.h>
28
Harald Weltee881b1b2011-08-17 18:52:30 +020029/*! \defgroup telnet_interface Telnet Interface
Harald Welte7acb30c2011-08-17 17:13:48 +020030 * @{
31 */
32
33/*! \file telnet_interface.h */
34
35/*! \brief A telnet connection */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020036struct telnet_connection {
Harald Welte7acb30c2011-08-17 17:13:48 +020037 /*! \brief linked list header for internal management */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020038 struct llist_head entry;
Harald Welte7acb30c2011-08-17 17:13:48 +020039 /*! \brief private data pointer passed through */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020040 void *priv;
Harald Welte7acb30c2011-08-17 17:13:48 +020041 /*! \brief filedsecriptor (socket ) */
Pablo Neira Ayusof7f89d02011-05-07 12:42:40 +020042 struct osmo_fd fd;
Harald Welte7acb30c2011-08-17 17:13:48 +020043 /*! \brief VTY instance associated with telnet connection */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020044 struct vty *vty;
Harald Welte7acb30c2011-08-17 17:13:48 +020045 /*! \brief logging target associated with this telnet connection */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020046 struct log_target *dbg;
47};
48
Harald Welte3fb0b6f2010-05-19 19:02:52 +020049int telnet_init(void *tall_ctx, void *priv, int port);
Sylvain Munauta9efc122012-03-01 20:41:40 +010050int telnet_init_dynif(void *tall_ctx, void *priv, const char *ip, int port);
Harald Welte3fb0b6f2010-05-19 19:02:52 +020051
Andreas.Eversbergdc3be0a2011-11-06 20:09:28 +010052void telnet_exit(void);
53
Sylvain Munautdca7d2c2012-04-18 21:53:23 +020054/*! @} */
Harald Welte7acb30c2011-08-17 17:13:48 +020055
56#endif /* TELNET_INTERFACE_H */