blob: bca91564f22204c89cf6b86f31c910a0aaf90dc4 [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
Sylvain Munaut12ba7782014-06-16 10:13:40 +020021#pragma once
Harald Welte3fb0b6f2010-05-19 19:02:52 +020022
Pablo Neira Ayuso83419342011-03-22 16:36:13 +010023#include <osmocom/core/logging.h>
24#include <osmocom/core/select.h>
Harald Welte3fb0b6f2010-05-19 19:02:52 +020025
26#include <osmocom/vty/vty.h>
27
Harald Weltee881b1b2011-08-17 18:52:30 +020028/*! \defgroup telnet_interface Telnet Interface
Harald Welte7acb30c2011-08-17 17:13:48 +020029 * @{
30 */
31
32/*! \file telnet_interface.h */
33
Neels Hofmeyr87e45502017-06-20 00:17:59 +020034/*! A telnet connection */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020035struct telnet_connection {
Neels Hofmeyr87e45502017-06-20 00:17:59 +020036 /*! linked list header for internal management */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020037 struct llist_head entry;
Neels Hofmeyr87e45502017-06-20 00:17:59 +020038 /*! private data pointer passed through */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020039 void *priv;
Neels Hofmeyr87e45502017-06-20 00:17:59 +020040 /*! filedsecriptor (socket ) */
Pablo Neira Ayusof7f89d02011-05-07 12:42:40 +020041 struct osmo_fd fd;
Neels Hofmeyr87e45502017-06-20 00:17:59 +020042 /*! VTY instance associated with telnet connection */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020043 struct vty *vty;
Neels Hofmeyr87e45502017-06-20 00:17:59 +020044 /*! logging target associated with this telnet connection */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020045 struct log_target *dbg;
46};
47
Harald Welte3fb0b6f2010-05-19 19:02:52 +020048int telnet_init(void *tall_ctx, void *priv, int port);
Sylvain Munauta9efc122012-03-01 20:41:40 +010049int telnet_init_dynif(void *tall_ctx, void *priv, const char *ip, int port);
Harald Welte3fb0b6f2010-05-19 19:02:52 +020050
Andreas.Eversbergdc3be0a2011-11-06 20:09:28 +010051void telnet_exit(void);
52
Sylvain Munautdca7d2c2012-04-18 21:53:23 +020053/*! @} */