diff --git a/include/Makefile.am b/include/Makefile.am index 4e92d553a..47140031a 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 000000000..f4429cdb5 --- /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 5ebb5fc0b..e7da72a30 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 diff --git a/src/Makefile.am b/src/Makefile.am index 8e7ef4b48..4925eeda2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -14,7 +14,7 @@ lib_LTLIBRARIES = libosmocore.la libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) libosmocore_la_SOURCES = timer.c timer_gettimeofday.c select.c signal.c msgb.c bits.c \ - bitvec.c bitcomp.c statistics.c fsm.c \ + bitvec.c bitcomp.c counter.c fsm.c \ write_queue.c utils.c socket.c \ logging.c logging_syslog.c logging_gsmtap.c rate_ctr.c \ gsmtap_util.c crc16.c panic.c backtrace.c \ diff --git a/src/statistics.c b/src/counter.c similarity index 97% rename from src/statistics.c rename to src/counter.c index fc808f587..6fa87ba34 100644 --- a/src/statistics.c +++ b/src/counter.c @@ -1,4 +1,4 @@ -/*! \file statistics.c +/*! \file counter.c * utility routines for keeping some statistics. */ /* * (C) 2009 by Harald Welte @@ -25,7 +25,7 @@ #include #include -#include +#include static LLIST_HEAD(counters); diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index 47efb2539..d50ddd0dd 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/stats.c b/src/stats.c index b39ec53c6..d9df23255 100644 --- a/src/stats.c +++ b/src/stats.c @@ -46,7 +46,7 @@ #include #include #include -#include +#include #include #define STATS_DEFAULT_INTERVAL 5 /* secs */ diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index a4c73fa06..95f04bc62 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -35,7 +35,7 @@ #include #include -#include +#include #include #define CFG_STATS_STR "Configure stats sub-system\n" diff --git a/src/vty/utils.c b/src/vty/utils.c index 9d1bdf9ef..e7aeb8899 100644 --- a/src/vty/utils.c +++ b/src/vty/utils.c @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include