summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2017-12-05 16:06:27 +0100
committerAlexander Couzens <lynxis@fe80.eu>2017-12-05 16:06:27 +0100
commit18ba26cfab4a07b8f45aeb7f28b4f8faabc6a2e7 (patch)
tree46b1c5557548cfe31288c1b9611c05d78b1edcab
parentad1797e359f95b3a9ff57bfc92217d4f4f96fc95 (diff)
counters: add osmo_counters_count() returns the amount of counters
Change-Id: I9068231d71876e06d27ee67a688d7fb611ac3a1b
-rw-r--r--include/osmocom/core/counter.h2
-rw-r--r--src/counter.c7
2 files changed, 9 insertions, 0 deletions
diff --git a/include/osmocom/core/counter.h b/include/osmocom/core/counter.h
index e692f7e6..259f1edf 100644
--- a/include/osmocom/core/counter.h
+++ b/include/osmocom/core/counter.h
@@ -44,6 +44,8 @@ void osmo_counter_free(struct osmo_counter *ctr);
int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), void *data);
+int osmo_counters_count();
+
struct osmo_counter *osmo_counter_get_by_name(const char *name);
int osmo_counter_difference(struct osmo_counter *ctr);
diff --git a/src/counter.c b/src/counter.c
index 0fa84c8f..0fa31661 100644
--- a/src/counter.c
+++ b/src/counter.c
@@ -77,6 +77,13 @@ int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *),
return rc;
}
+/*! Counts the registered counter
+ * \returns amount of counters */
+int osmo_counters_count()
+{
+ return llist_count(&counters);
+}
+
/*! Find a counter by its name.
* \param[in] name Name used to look-up/search counter
* \returns Counter on success; NULL if not found */