diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/Makefile.am | 1 | ||||
-rw-r--r-- | include/osmocom/core/counter.h | 60 | ||||
-rw-r--r-- | include/osmocom/core/statistics.h | 62 |
3 files changed, 63 insertions, 60 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index 4e92d553..47140031 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -12,6 +12,7 @@ nobase_include_HEADERS = \ osmocom/core/bitcomp.h \ osmocom/core/byteswap.h \ osmocom/core/conv.h \ + osmocom/core/counter.h \ osmocom/core/crc16.h \ osmocom/core/crc16gen.h \ osmocom/core/crc32gen.h \ diff --git a/include/osmocom/core/counter.h b/include/osmocom/core/counter.h new file mode 100644 index 00000000..f4429cdb --- /dev/null +++ b/include/osmocom/core/counter.h @@ -0,0 +1,60 @@ +#pragma once + +/*! \file counter.h + * Common routines regarding counter handling */ + +/*! structure representing a single counter */ +struct osmo_counter { + struct llist_head list; /*!< internal list head */ + const char *name; /*!< human-readable name */ + const char *description; /*!< humn-readable description */ + unsigned long value; /*!< current value */ + unsigned long previous; /*!< previous value */ +}; + +/*! Decrement counter */ +static inline void osmo_counter_dec(struct osmo_counter *ctr) +{ + ctr->value--; +} + +/*! Increment counter */ +static inline void osmo_counter_inc(struct osmo_counter *ctr) +{ + ctr->value++; +} + +/*! Get current value of counter */ +static inline unsigned long osmo_counter_get(struct osmo_counter *ctr) +{ + return ctr->value; +} + +/*! Reset current value of counter to 0 */ +static inline void osmo_counter_reset(struct osmo_counter *ctr) +{ + ctr->value = 0; +} + +/*! Allocate a new counter */ +struct osmo_counter *osmo_counter_alloc(const char *name); + +/*! Free the specified counter + * \param[in] ctr Counter + */ +void osmo_counter_free(struct osmo_counter *ctr); + +/*! Iterate over all counters + * \param[in] handle_counter Call-back function, aborts if rc < 0 + * \param[in] data Private dtata handed through to \a handle_counter + */ +int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), void *data); + +/*! Resolve counter by human-readable name + * \param[in] name human-readable name of counter + * \returns pointer to counter (\ref osmo_counter) or NULL otherwise + */ +struct osmo_counter *osmo_counter_get_by_name(const char *name); + +/*! Return the counter difference since the last call to this function */ +int osmo_counter_difference(struct osmo_counter *ctr); diff --git a/include/osmocom/core/statistics.h b/include/osmocom/core/statistics.h index 5ebb5fc0..e7da72a3 100644 --- a/include/osmocom/core/statistics.h +++ b/include/osmocom/core/statistics.h @@ -1,60 +1,2 @@ -#pragma once - -/*! \file statistics.h - * Common routines regarding statistics */ - -/*! structure representing a single counter */ -struct osmo_counter { - struct llist_head list; /*!< internal list head */ - const char *name; /*!< human-readable name */ - const char *description; /*!< humn-readable description */ - unsigned long value; /*!< current value */ - unsigned long previous; /*!< previous value */ -}; - -/*! Decrement counter */ -static inline void osmo_counter_dec(struct osmo_counter *ctr) -{ - ctr->value--; -} - -/*! Increment counter */ -static inline void osmo_counter_inc(struct osmo_counter *ctr) -{ - ctr->value++; -} - -/*! Get current value of counter */ -static inline unsigned long osmo_counter_get(struct osmo_counter *ctr) -{ - return ctr->value; -} - -/*! Reset current value of counter to 0 */ -static inline void osmo_counter_reset(struct osmo_counter *ctr) -{ - ctr->value = 0; -} - -/*! Allocate a new counter */ -struct osmo_counter *osmo_counter_alloc(const char *name); - -/*! Free the specified counter - * \param[in] ctr Counter - */ -void osmo_counter_free(struct osmo_counter *ctr); - -/*! Iterate over all counters - * \param[in] handle_counter Call-back function, aborts if rc < 0 - * \param[in] data Private dtata handed through to \a handle_counter - */ -int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), void *data); - -/*! Resolve counter by human-readable name - * \param[in] name human-readable name of counter - * \returns pointer to counter (\ref osmo_counter) or NULL otherwise - */ -struct osmo_counter *osmo_counter_get_by_name(const char *name); - -/*! Return the counter difference since the last call to this function */ -int osmo_counter_difference(struct osmo_counter *ctr); +/* wrapper for legacy code, when counter.h was called statistics.h */ +#include <osmocom/core/counter.h> |