Harald Welte | 3e5ab69 | 2018-06-04 04:26:20 +0200 | [diff] [blame] | 1 | #pragma once |
| 2 | |
| 3 | #include <osmocom/core/select.h> |
| 4 | #include <osmocom/core/utils.h> |
Harald Welte | 1a36f33 | 2018-06-04 17:36:33 +0200 | [diff] [blame] | 5 | #include <osmocom/vty/command.h> |
Harald Welte | 3e5ab69 | 2018-06-04 04:26:20 +0200 | [diff] [blame] | 6 | |
| 7 | #include <stdbool.h> |
Harald Welte | 3e5ab69 | 2018-06-04 04:26:20 +0200 | [diff] [blame] | 8 | |
Harald Welte | 1a36f33 | 2018-06-04 17:36:33 +0200 | [diff] [blame] | 9 | #include "value_node.h" |
| 10 | |
Harald Welte | 9e7fe00 | 2018-06-04 20:09:26 +0200 | [diff] [blame] | 11 | struct rtnl_client_state; |
Harald Welte | 3e5ab69 | 2018-06-04 04:26:20 +0200 | [diff] [blame] | 12 | |
| 13 | struct osysmon_state { |
Harald Welte | 9e7fe00 | 2018-06-04 20:09:26 +0200 | [diff] [blame] | 14 | struct rtnl_client_state *rcs; |
Harald Welte | 1a36f33 | 2018-06-04 17:36:33 +0200 | [diff] [blame] | 15 | /* list of 'struct ctrl client' */ |
| 16 | struct llist_head ctrl_clients; |
Harald Welte | 9e7fe00 | 2018-06-04 20:09:26 +0200 | [diff] [blame] | 17 | /* list of 'struct netdev' */ |
| 18 | struct llist_head netdevs; |
Harald Welte | 81e2023 | 2018-06-04 21:25:56 +0200 | [diff] [blame] | 19 | /* list of 'struct osysmon_file' */ |
| 20 | struct llist_head files; |
Harald Welte | 3e5ab69 | 2018-06-04 04:26:20 +0200 | [diff] [blame] | 21 | }; |
Harald Welte | 1a36f33 | 2018-06-04 17:36:33 +0200 | [diff] [blame] | 22 | |
| 23 | extern struct osysmon_state *g_oss; |
| 24 | |
| 25 | |
| 26 | |
| 27 | enum osysmon_vty_node { |
| 28 | CTRL_CLIENT_NODE = _LAST_OSMOVTY_NODE + 1, |
| 29 | CTRL_CLIENT_GETVAR_NODE, |
Harald Welte | 9e7fe00 | 2018-06-04 20:09:26 +0200 | [diff] [blame] | 30 | NETDEV_NODE, |
Harald Welte | 1a36f33 | 2018-06-04 17:36:33 +0200 | [diff] [blame] | 31 | }; |
| 32 | |
| 33 | |
| 34 | int osysmon_ctrl_go_parent(struct vty *vty); |
| 35 | int osysmon_ctrl_init(); |
| 36 | int osysmon_ctrl_poll(struct value_node *parent); |
Harald Welte | 32f7a99 | 2018-06-04 18:07:33 +0200 | [diff] [blame] | 37 | |
Harald Welte | 9e7fe00 | 2018-06-04 20:09:26 +0200 | [diff] [blame] | 38 | int osysmon_rtnl_go_parent(struct vty *vty); |
| 39 | int osysmon_rtnl_init(); |
| 40 | int osysmon_rtnl_poll(struct value_node *parent); |
| 41 | |
Harald Welte | 32f7a99 | 2018-06-04 18:07:33 +0200 | [diff] [blame] | 42 | int osysmon_sysinfo_init(); |
| 43 | int osysmon_sysinfo_poll(struct value_node *parent); |
Harald Welte | 81e2023 | 2018-06-04 21:25:56 +0200 | [diff] [blame] | 44 | |
| 45 | int osysmon_file_init(); |
| 46 | int osysmon_file_poll(struct value_node *parent); |