/* * (C) 2021 by sysmocom s.f.m.c. GmbH * * All Rights Reserved * * SPDX-License-Identifier: GPL-2.0+ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include static void *root_ctx = NULL; static int quit = 0; static void signal_handler(int signal) { fprintf(stdout, "signal %u received\n", signal); switch (signal) { case SIGINT: case SIGTERM: quit++; break; } } static struct vty_app_info vty_info = { .name = "stats_vty_test", }; static const struct log_info_cat default_categories[] = { }; const struct log_info log_info = { .cat = default_categories, .num_cat = ARRAY_SIZE(default_categories), }; int main(int argc, char **argv) { int rc; root_ctx = talloc_named_const(NULL, 0, "stats_vty_test"); osmo_init_logging2(root_ctx, &log_info); vty_info.tall_ctx = root_ctx; vty_init(&vty_info); osmo_stats_vty_add_cmds(); rc = telnet_init_default(root_ctx, NULL, 42042); if (rc < 0) return 2; signal(SIGINT, &signal_handler); signal(SIGTERM, &signal_handler); osmo_init_ignore_signals(); while (!quit) osmo_select_main(0); talloc_free(tall_vty_ctx); talloc_free(root_ctx); return 0; }