From 641f7cee5dfe137ecb40c7a461b6235d205fc715 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 17 Jun 2012 23:05:26 +0800 Subject: libosmogb: move files to proper location and fix build --- src/gb/common_vty.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 src/gb/common_vty.c (limited to 'src/gb/common_vty.c') diff --git a/src/gb/common_vty.c b/src/gb/common_vty.c new file mode 100644 index 00000000..0bd0b6c3 --- /dev/null +++ b/src/gb/common_vty.c @@ -0,0 +1,90 @@ +/* OpenBSC VTY common helpers */ +/* (C) 2009-2012 by Harald Welte + * (C) 2009-2010 by Holger Hans Peter Freyther + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include + +#include "common_vty.h" + +/* Down vty node level. */ +gDEFUN(libgb_exit, + libgb_exit_cmd, "exit", "Exit current mode and down to previous mode\n") +{ + switch (vty->node) { + case L_NS_NODE: + case L_BSSGP_NODE: + vty->node = CONFIG_NODE; + vty->index = NULL; + break; + default: + break; + } + return CMD_SUCCESS; +} + +/* End of configuration. */ +gDEFUN(libgb_end, + libgb_end_cmd, "end", "End current mode and change to enable mode.") +{ + switch (vty->node) { + case L_NS_NODE: + case L_BSSGP_NODE: + vty_config_unlock(vty); + vty->node = ENABLE_NODE; + vty->index = NULL; + vty->index_sub = NULL; + break; + default: + break; + } + return CMD_SUCCESS; +} + +int gprs_log_filter_fn(const struct log_context *ctx, + struct log_target *tar) +{ + const struct gprs_nsvc *nsvc = ctx->ctx[GPRS_CTX_NSVC]; + const struct gprs_bvc *bvc = ctx->ctx[GPRS_CTX_BVC]; + + /* Filter on the NS Virtual Connection */ + if ((tar->filter_map & (1 << FLT_NSVC)) != 0 + && nsvc && (nsvc == tar->filter_data[FLT_NSVC])) + return 1; + + /* Filter on the NS Virtual Connection */ + if ((tar->filter_map & (1 << FLT_BVC)) != 0 + && bvc && (bvc == tar->filter_data[FLT_BVC])) + return 1; + + return 0; +} + + +int DNS, DBSSGP; -- cgit v1.2.3