core: Add difference function to osmo_counter

The osmo_counter_difference returns the counter value difference
since the last call of this function with the given counter object.

Sponsored-by: On-Waves ehf
diff --git a/include/osmocom/core/statistics.h b/include/osmocom/core/statistics.h
index a9a623d..1e472ff 100644
--- a/include/osmocom/core/statistics.h
+++ b/include/osmocom/core/statistics.h
@@ -9,6 +9,7 @@
 	const char *name;		/*!< \brief human-readable name */
 	const char *description;	/*!< \brief humn-readable description */
 	unsigned long value;		/*!< \brief current value */
+	unsigned long previous;		/*!< \brief previous value */
 };
 
 /*! \brief Increment counter */
@@ -48,3 +49,6 @@
  *  \returns pointer to counter (\ref osmo_counter) or NULL otherwise
  */
 struct osmo_counter *osmo_counter_get_by_name(const char *name);
+
+/*! \brief Return the counter difference since the last call to this function */
+int osmo_counter_difference(struct osmo_counter *ctr);