blob: ad2cd2a8a866e3765b92bc98707ab0f7cafc7215 [file] [log] [blame]
Holger Hans Peter Freytherb70d45b2010-04-06 11:55:37 +02001#ifndef OPENBSC_VTY_H
2#define OPENBSC_VTY_H
3
Harald Weltebd9591f2010-05-19 19:45:32 +02004#include <osmocom/vty/vty.h>
5#include <osmocom/vty/buffer.h>
Harald Welte1d1a6b72010-05-31 16:04:12 +02006#include <osmocom/vty/command.h>
Harald Welte8791dac2010-05-14 17:59:53 +02007
Holger Hans Peter Freythere789b212010-04-15 11:28:14 +02008struct gsm_network;
9struct vty;
10
Holger Hans Peter Freythere789b212010-04-15 11:28:14 +020011void openbsc_vty_print_statistics(struct vty *vty, struct gsm_network *);
Holger Hans Peter Freytherb70d45b2010-04-06 11:55:37 +020012
Harald Welte8791dac2010-05-14 17:59:53 +020013struct buffer *vty_argv_to_buffer(int argc, const char *argv[], int base);
14
15extern struct cmd_element cfg_description_cmd;
16extern struct cmd_element cfg_no_description_cmd;
17
Harald Welte1d1a6b72010-05-31 16:04:12 +020018enum bsc_vty_node {
19 GSMNET_NODE = _LAST_OSMOVTY_NODE + 1,
20 BTS_NODE,
21 TRX_NODE,
22 TS_NODE,
23 SUBSCR_NODE,
24 MGCP_NODE,
25 GBPROXY_NODE,
26 SGSN_NODE,
Harald Welte1d1a6b72010-05-31 16:04:12 +020027 OML_NODE,
Holger Hans Peter Freyther256a0402010-06-15 20:11:16 +080028 NAT_NODE,
Holger Hans Peter Freythera34bb3d2010-06-17 14:42:20 +080029 NAT_BSC_NODE,
Holger Hans Peter Freyther8c4dca22010-09-15 23:28:49 +080030 MSC_NODE,
Harald Welte1d5a2062011-02-12 14:42:59 +010031 OM2K_NODE,
Harald Welte0745c4f2016-11-11 19:41:59 +010032 OM2K_CON_GROUP_NODE,
Holger Hans Peter Freyther06bfe792011-02-28 12:11:02 +010033 TRUNK_NODE,
Holger Hans Peter Freyther95614932011-05-02 19:16:13 +020034 PGROUP_NODE,
Harald Welte1ed89d42011-09-01 18:18:43 +020035 MNCC_INT_NODE,
Holger Hans Peter Freythere1442112015-01-27 10:58:29 +010036 NITB_NODE,
Holger Hans Peter Freyther387a85c2011-06-04 20:22:49 +020037 BSC_NODE,
Harald Welteb7dd6612012-11-20 22:22:04 +010038 SMPP_NODE,
39 SMPP_ESME_NODE,
Neels Hofmeyr9f796642015-09-24 17:32:30 +020040 GTPHUB_NODE,
Harald Welte1d1a6b72010-05-31 16:04:12 +020041};
42
Holger Hans Peter Freyther19ce77c2010-08-26 15:38:42 +080043extern int bsc_vty_is_config_node(struct vty *vty, int node);
Holger Hans Peter Freyther7c831f62010-10-12 23:21:54 +020044extern void bsc_replace_string(void *ctx, char **dst, const char *newstr);
Holger Hans Peter Freyther19ce77c2010-08-26 15:38:42 +080045
Pablo Neira Ayuso36ad9a42011-03-09 13:36:32 +010046struct log_info;
Neels Hofmeyrd5cd2652016-05-10 13:40:19 +020047int bsc_vty_init(const struct log_info *cat, struct gsm_network *network);
Harald Welte30f93fb2011-02-19 16:48:17 +010048int bsc_vty_init_extra(void);
49
Neels Hofmeyr0c620ef2016-05-09 21:18:08 +020050struct gsm_network *gsmnet_from_vty(struct vty *vty);
51
Holger Hans Peter Freytherb70d45b2010-04-06 11:55:37 +020052#endif