counters: add osmo_counters_count() returns the amount of counters
Change-Id: I9068231d71876e06d27ee67a688d7fb611ac3a1b
diff --git a/include/osmocom/core/counter.h b/include/osmocom/core/counter.h
index e692f7e..259f1ed 100644
--- a/include/osmocom/core/counter.h
+++ b/include/osmocom/core/counter.h
@@ -44,6 +44,8 @@
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 0fa84c8..0fa3166 100644
--- a/src/counter.c
+++ b/src/counter.c
@@ -77,6 +77,13 @@
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 */