diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-08-16 23:26:52 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-08-16 23:26:52 +0200 |
commit | bd598e3c5eff85ed3958909584d3d8e1e2235b41 (patch) | |
tree | 1b47f59c634cc1139be16e4625f7809c4d3e4460 /include/osmocom/core/statistics.h | |
parent | 300e78d3e5714449e73a056dd5878adab97c6423 (diff) |
start to add doxygen documentation to libosmocore headers
Diffstat (limited to 'include/osmocom/core/statistics.h')
-rw-r--r-- | include/osmocom/core/statistics.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/include/osmocom/core/statistics.h b/include/osmocom/core/statistics.h index 18493277..04816c16 100644 --- a/include/osmocom/core/statistics.h +++ b/include/osmocom/core/statistics.h @@ -1,33 +1,53 @@ #ifndef _STATISTICS_H #define _STATISTICS_H +/*! \file statistics.h + * \brief Common routines regarding statistics */ + +/*! structure representing a single counter */ struct osmo_counter { - struct llist_head list; - const char *name; - const char *description; - unsigned long value; + struct llist_head list; /*!< \brief internal list head */ + const char *name; /*!< \brief human-readable name */ + const char *description; /*!< \brief humn-readable description */ + unsigned long value; /*!< \brief current value */ }; +/*! \brief Increment counter */ static inline void osmo_counter_inc(struct osmo_counter *ctr) { ctr->value++; } +/*! \brief Get current value of counter */ static inline unsigned long osmo_counter_get(struct osmo_counter *ctr) { return ctr->value; } +/*! \brief Reset current value of counter to 0 */ static inline void osmo_counter_reset(struct osmo_counter *ctr) { ctr->value = 0; } +/*! \brief Allocate a new counter */ struct osmo_counter *osmo_counter_alloc(const char *name); + +/*! \brief Free the specified counter + * \param[ctr] Counter + */ void osmo_counter_free(struct osmo_counter *ctr); +/*! \brief Iteate over all counters + * \param[in] handle_counter Call-back function + * \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); +/*! \brief 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); #endif /* _STATISTICS_H */ |