X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcommon.h;h=29590ff26e64d3e8527e14d67c572f80fd085a99;hb=d437681a04278fa6292338b4959231f825652785;hp=317be8d1579d063cc23338e229abcdede533da84;hpb=10b92353ea2ccf66eabad273799c36225d2efc3f;p=collectd.git diff --git a/src/common.h b/src/common.h index 317be8d1..29590ff2 100644 --- a/src/common.h +++ b/src/common.h @@ -1,6 +1,6 @@ /** * collectd - src/common.h - * Copyright (C) 2005-2010 Florian octo Forster + * Copyright (C) 2005-2014 Florian octo Forster * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -55,6 +55,13 @@ struct rate_to_value_state_s }; typedef struct rate_to_value_state_s rate_to_value_state_t; +struct value_to_rate_state_s +{ + value_t last_value; + cdtime_t last_time; +}; +typedef struct value_to_rate_state_s value_to_rate_state_t; + char *sstrncpy (char *dest, const char *src, size_t n); __attribute__ ((format(printf,3,4))) @@ -158,19 +165,21 @@ int strjoin (char *dst, size_t dst_len, char **fields, size_t fields_num, const * escape_slashes * * DESCRIPTION - * Removes slashes from the string `buf' and substitutes them with something - * appropriate. This function should be used whenever a path is to be used as - * (part of) an instance. + * Removes slashes ("/") from "buffer". If buffer contains a single slash, + * the result will be "root". Leading slashes are removed. All other slashes + * are replaced with underscores ("_"). + * This function is used by plugin_dispatch_values() to escape all parts of + * the identifier. * * PARAMETERS - * `buf' String to be escaped. - * `buf_len' Length of the buffer. No more then this many bytes will be - * written to `buf', including the trailing null-byte. + * `buffer' String to be escaped. + * `buffer_size' Size of the buffer. No more then this many bytes will be + * written to `buffer', including the trailing null-byte. * * RETURN VALUE * Returns zero upon success and a value smaller than zero upon failure. */ -int escape_slashes (char *buf, int buf_len); +int escape_slashes (char *buffer, size_t buffer_size); /* * NAME @@ -322,6 +331,9 @@ counter_t counter_diff (counter_t old_value, counter_t new_value); int rate_to_value (value_t *ret_value, gauge_t rate, rate_to_value_state_t *state, int ds_type, cdtime_t t); +int value_to_rate (value_t *ret_rate, derive_t value, + value_to_rate_state_t *state, int ds_type, cdtime_t t); + /* Converts a service name (a string) to a port number * (in the range [1-65535]). Returns less than zero on error. */ int service_name_to_port_number (const char *service_name);