X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_cache.h;h=f8059ecaf077dda6924122e3dc6452b4babfb282;hb=be99a844a40d7037a910d37a894988b807631a6e;hp=914540577f4f0e7965512cba74b4d3c96d9b12b7;hpb=aed8c4a152fc95c52fb913834b847942eadc2c67;p=collectd.git diff --git a/src/utils_cache.h b/src/utils_cache.h index 91454057..f8059eca 100644 --- a/src/utils_cache.h +++ b/src/utils_cache.h @@ -1,5 +1,5 @@ /** - * collectd - src/utils_cache.c + * collectd - src/utils_cache.h * Copyright (C) 2007 Florian octo Forster * * This program is free software; you can redistribute it and/or modify it @@ -24,8 +24,67 @@ #include "plugin.h" +#define STATE_OKAY 0 +#define STATE_WARNING 1 +#define STATE_ERROR 2 +#define STATE_MISSING 15 + int uc_init (void); +int uc_check_timeout (void); int uc_update (const data_set_t *ds, const value_list_t *vl); +int uc_get_rate_by_name (const char *name, gauge_t **ret_values, size_t *ret_values_num); gauge_t *uc_get_rate (const data_set_t *ds, const value_list_t *vl); +int uc_get_names (char ***ret_names, time_t **ret_times, size_t *ret_number); + +int uc_get_state (const data_set_t *ds, const value_list_t *vl); +int uc_set_state (const data_set_t *ds, const value_list_t *vl, int state); +int uc_get_hits (const data_set_t *ds, const value_list_t *vl); +int uc_set_hits (const data_set_t *ds, const value_list_t *vl, int hits); +int uc_inc_hits (const data_set_t *ds, const value_list_t *vl, int step); + +int uc_get_history (const data_set_t *ds, const value_list_t *vl, + gauge_t *ret_history, size_t num_steps, size_t num_ds); +int uc_get_history_by_name (const char *name, + gauge_t *ret_history, size_t num_steps, size_t num_ds); + +/* + * Meta data interface + */ +int uc_meta_data_exists (const value_list_t *vl, const char *key); +int uc_meta_data_delete (const value_list_t *vl, const char *key); + +int uc_meta_data_add_string (const value_list_t *vl, + const char *key, + const char *value); +int uc_meta_data_add_signed_int (const value_list_t *vl, + const char *key, + int64_t value); +int uc_meta_data_add_unsigned_int (const value_list_t *vl, + const char *key, + uint64_t value); +int uc_meta_data_add_double (const value_list_t *vl, + const char *key, + double value); +int uc_meta_data_add_boolean (const value_list_t *vl, + const char *key, + _Bool value); + +int uc_meta_data_get_string (const value_list_t *vl, + const char *key, + char **value); +int uc_meta_data_get_signed_int (const value_list_t *vl, + const char *key, + int64_t *value); +int uc_meta_data_get_unsigned_int (const value_list_t *vl, + const char *key, + uint64_t *value); +int uc_meta_data_get_double (const value_list_t *vl, + const char *key, + double *value); +int uc_meta_data_get_boolean (const value_list_t *vl, + const char *key, + _Bool *value); + +/* vim: set shiftwidth=2 softtabstop=2 tabstop=8 : */ #endif /* !UTILS_CACHE_H */