mirror of https://gerrit.osmocom.org/osmo-sysmon
25 lines
812 B
C
25 lines
812 B
C
#pragma once
|
|
|
|
#include <osmocom/core/linuxlist.h>
|
|
|
|
/* a single node in the tree of values */
|
|
struct value_node {
|
|
/* our element in the parent list */
|
|
struct llist_head list;
|
|
/* the display name */
|
|
const char *name;
|
|
/* additional numeric index (for ifindex matching) */
|
|
int idx;
|
|
/* the value (if any) */
|
|
const char *value;
|
|
/* the children (if value == NULL) */
|
|
struct llist_head children;
|
|
};
|
|
|
|
struct value_node *value_node_add(void *ctx, struct value_node *parent,
|
|
const char *name, const char *value);
|
|
struct value_node *value_node_find(struct value_node *parent, const char *name);
|
|
struct value_node *value_node_find_by_idx(struct value_node *parent, int idx);
|
|
struct value_node *value_node_find_or_add(struct value_node *parent, const char *name);
|
|
void value_node_del(struct value_node *node);
|