diff options
-rw-r--r-- | include/osmocom/core/statistics.h | 2 | ||||
-rw-r--r-- | src/statistics.c | 10 |
2 files changed, 12 insertions, 0 deletions
diff --git a/include/osmocom/core/statistics.h b/include/osmocom/core/statistics.h index 1d56054a..2c159657 100644 --- a/include/osmocom/core/statistics.h +++ b/include/osmocom/core/statistics.h @@ -28,4 +28,6 @@ void counter_free(struct counter *ctr); int counters_for_each(int (*handle_counter)(struct counter *, void *), void *data); +struct counter *counter_get_by_name(const char *name); + #endif /* _STATISTICS_H */ diff --git a/src/statistics.c b/src/statistics.c index 183005df..d1ffe526 100644 --- a/src/statistics.c +++ b/src/statistics.c @@ -64,3 +64,13 @@ int counters_for_each(int (*handle_counter)(struct counter *, void *), void *dat return rc; } +struct counter *counter_get_by_name(const char *name) +{ + struct counter *ctr; + + llist_for_each_entry(ctr, &counters, list) { + if (!strcmp(ctr->name, name)) + return ctr; + } + return NULL; +} |