diff options
| author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-10-19 14:04:38 +0200 | 
|---|---|---|
| committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-10-28 23:51:24 +0100 | 
| commit | c6a7108828bf98ebcaf31d24bd8d789afdd4da94 (patch) | |
| tree | 25135f35eea7431f4f6730d247e2100e6dc8e257 /include | |
| parent | 423c1e5a4fc7ad2cd5e95e852b778c7e2c892bc1 (diff) | |
stats: Add stat_item_for_each functions
This commit adds the following functions:
  stat_item_for_each_group     Call a handler for each group
  stat_item_for_each_item      Call a handler for each item of a
                               group
Sponsored-by: On-Waves ehf
Diffstat (limited to 'include')
| -rw-r--r-- | include/osmocom/core/stat_item.h | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index 003c9e07..0786a3ba 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -107,6 +107,20 @@ int stat_item_discard(const struct stat_item *item, int32_t *idx);  /*! \brief Skip all values of all items and update idx accordingly */  int stat_item_discard_all(int32_t *idx); +typedef int (*stat_item_handler_t)( +	struct stat_item_group *, struct stat_item *, void *); + +typedef int (*stat_item_group_handler_t)(struct stat_item_group *, void *); + +/*! \brief Iteate over all items + *  \param[in] handle_item Call-back function, aborts if rc < 0 + *  \param[in] data Private data handed through to \a handle_item + */ +int stat_item_for_each_item(struct stat_item_group *statg, +	stat_item_handler_t handle_item, void *data); + +int stat_item_for_each_group(stat_item_group_handler_t handle_group, void *data); +  static inline int32_t stat_item_get_last(const struct stat_item *item)  {  	return item->values[item->last_offs].value;  | 
