blob: 73b79df1fca6037075c22fdb07f9316fa97dda52 [file] [log] [blame]
Neels Hofmeyr17518fe2017-06-20 04:35:06 +02001/*! \file telnet_interface.h
2 * minimalistic telnet/network interface it might turn into a wire interface */
3/*
4 * (C) 2009 by Holger Hans Peter Freyther <zecke@selfish.org>
Harald Welte3fb0b6f2010-05-19 19:02:52 +02005 * All Rights Reserved
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
Harald Welte3fb0b6f2010-05-19 19:02:52 +020017 */
18
Sylvain Munaut12ba7782014-06-16 10:13:40 +020019#pragma once
Harald Welte3fb0b6f2010-05-19 19:02:52 +020020
arehbeinee7b8c52022-12-19 21:27:49 +010021#include <osmocom/core/defs.h>
Pablo Neira Ayuso83419342011-03-22 16:36:13 +010022#include <osmocom/core/logging.h>
23#include <osmocom/core/select.h>
Harald Welte3fb0b6f2010-05-19 19:02:52 +020024
25#include <osmocom/vty/vty.h>
26
Harald Weltee881b1b2011-08-17 18:52:30 +020027/*! \defgroup telnet_interface Telnet Interface
Harald Welte7acb30c2011-08-17 17:13:48 +020028 * @{
Neels Hofmeyr17518fe2017-06-20 04:35:06 +020029 * \file telnet_interface.h */
Harald Welte7acb30c2011-08-17 17:13:48 +020030
Neels Hofmeyr87e45502017-06-20 00:17:59 +020031/*! A telnet connection */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020032struct telnet_connection {
Neels Hofmeyr87e45502017-06-20 00:17:59 +020033 /*! linked list header for internal management */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020034 struct llist_head entry;
Neels Hofmeyr87e45502017-06-20 00:17:59 +020035 /*! private data pointer passed through */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020036 void *priv;
Neels Hofmeyr87e45502017-06-20 00:17:59 +020037 /*! filedsecriptor (socket ) */
Pablo Neira Ayusof7f89d02011-05-07 12:42:40 +020038 struct osmo_fd fd;
Neels Hofmeyr87e45502017-06-20 00:17:59 +020039 /*! VTY instance associated with telnet connection */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020040 struct vty *vty;
Neels Hofmeyr87e45502017-06-20 00:17:59 +020041 /*! logging target associated with this telnet connection */
Harald Welte3fb0b6f2010-05-19 19:02:52 +020042 struct log_target *dbg;
43};
44
Holger Hans Peter Freyther99ae4012018-12-15 17:36:41 +000045int telnet_init_default(void *tall_ctx, void *priv, int default_port);
Harald Welte3fb0b6f2010-05-19 19:02:52 +020046
arehbeinee7b8c52022-12-19 21:27:49 +010047int telnet_init(void *tall_ctx, void *priv, int port)
48 OSMO_DEPRECATED("This function ignores dynamic port configuration. Use telnet_init_default() instead");
49int telnet_init_dynif(void *tall_ctx, void *priv, const char *ip, int port)
50 OSMO_DEPRECATED("This function ignores dynamic port configuration. Use telnet_init_default() instead");
51
Andreas.Eversbergdc3be0a2011-11-06 20:09:28 +010052void telnet_exit(void);
53
Sylvain Munautdca7d2c2012-04-18 21:53:23 +020054/*! @} */