blob: f031c4ab411e10e4f8be3a8fb526819c12913f4d [file] [log] [blame]
Neels Hofmeyr17518fe2017-06-20 04:35:06 +02001/*! \file misc.h */
2
Sylvain Munaut12ba7782014-06-16 10:13:40 +02003#pragma once
Pablo Neira Ayuso70004fc2011-03-28 19:24:21 +02004
5#include <osmocom/vty/vty.h>
6#include <osmocom/core/rate_ctr.h>
Jacob Erlbeck738d9e22015-10-06 15:21:56 +02007#include <osmocom/core/stat_item.h>
Holger Hans Peter Freyther7c7d39a2012-09-11 12:27:03 +02008#include <osmocom/core/utils.h>
Pablo Neira Ayuso70004fc2011-03-28 19:24:21 +02009
Harald Weltefab0ae92012-08-17 12:17:38 +020010#define VTY_DO_LOWER 1
11char *vty_cmd_string_from_valstr(void *ctx, const struct value_string *vals,
12 const char *prefix, const char *sep,
13 const char *end, int do_lower);
14
Pablo Neira Ayuso70004fc2011-03-28 19:24:21 +020015void vty_out_rate_ctr_group(struct vty *vty, const char *prefix,
Jacob Erlbeck738d9e22015-10-06 15:21:56 +020016 struct rate_ctr_group *ctrg);
Harald Welte3b007f82022-04-18 11:39:08 +020017void vty_out_rate_ctr_group2(struct vty *vty, const char *prefix,
18 struct rate_ctr_group *ctrg, bool skip_zero);
Stefan Sperling97d3da22018-05-24 16:42:43 +020019void vty_out_rate_ctr_group_fmt(struct vty *vty, const char *fmt,
20 struct rate_ctr_group *ctrg);
Harald Welte3b007f82022-04-18 11:39:08 +020021void vty_out_rate_ctr_group_fmt2(struct vty *vty, const char *fmt,
22 struct rate_ctr_group *ctrg, bool skip_zero);
23
Jacob Erlbeck738d9e22015-10-06 15:21:56 +020024
25void vty_out_stat_item_group(struct vty *vty, const char *prefix,
Jacob Erlbeckfc9533d2015-10-29 00:55:58 +010026 struct osmo_stat_item_group *statg);
Harald Welte3b007f82022-04-18 11:39:08 +020027void vty_out_stat_item_group2(struct vty *vty, const char *prefix,
28 struct osmo_stat_item_group *statg, bool skip_zero);
Pablo Neira Ayuso70004fc2011-03-28 19:24:21 +020029
Jacob Erlbeck7211fe12015-10-19 15:11:50 +020030void vty_out_statistics_full(struct vty *vty, const char *prefix);
Harald Welte3b007f82022-04-18 11:39:08 +020031void vty_out_statistics_full2(struct vty *vty, const char *prefix, bool skip_zero);
32void vty_out_statistics_partial(struct vty *vty, const char *prefix, int max_level);
33void vty_out_statistics_partial2(struct vty *vty, const char *prefix, int max_level, bool skip_zero);
Jacob Erlbeck7211fe12015-10-19 15:11:50 +020034
Harald Welte34193912017-01-07 11:49:55 +010035
36struct osmo_fsm;
37struct osmo_fsm_inst;
38void vty_out_fsm(struct vty *vty, struct osmo_fsm *fsm);
Harald Weltecec4bbe2021-01-19 20:55:00 +010039void vty_out_fsm2(struct vty *vty, const char *prefix, struct osmo_fsm *fsm);
Harald Welte34193912017-01-07 11:49:55 +010040void vty_out_fsm_inst(struct vty *vty, struct osmo_fsm_inst *fsmi);
Harald Weltecec4bbe2021-01-19 20:55:00 +010041void vty_out_fsm_inst2(struct vty *vty, const char *prefix, struct osmo_fsm_inst *fsmi);
Harald Welte34193912017-01-07 11:49:55 +010042void osmo_fsm_vty_add_cmds(void);
Vadim Yanitskiy463deef2017-09-23 19:30:07 +033043void osmo_talloc_vty_add_cmds(void);
Harald Welte34193912017-01-07 11:49:55 +010044
45
Holger Hans Peter Freyther738f1332012-03-24 18:26:24 +010046int osmo_vty_write_config_file(const char *filename);
47int osmo_vty_save_config_file(void);