X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fdaemon%2Fcommon.h;h=8947c575aded79b6027bf96135c441e4149520d0;hp=2a0b9ee7f79a1da33ff1b4aba741280495ca91a8;hb=11c8a760c2d354b2f4637bdb297efb253bfaa519;hpb=6cb7fdcc48e913ee293f27a6f16a3acc0c1bab05 diff --git a/src/daemon/common.h b/src/daemon/common.h index 2a0b9ee7..8947c575 100644 --- a/src/daemon/common.h +++ b/src/daemon/common.h @@ -145,10 +145,12 @@ int strsplit(char *string, char **fields, size_t size); * is equivalent to the Perl built-in `join'. * * PARAMETERS - * `dst' Buffer where the result is stored. + * `dst' Buffer where the result is stored. Can be NULL if you need to + * determine the required buffer size only. * `dst_len' Length of the destination buffer. No more than this many * bytes will be written to the memory pointed to by `dst', - * including the trailing null-byte. + * including the trailing null-byte. Must be zero if dst is + * NULL. * `fields' Array of strings to be joined. * `fields_num' Number of elements in the `fields' array. * `sep' String to be inserted between any two elements of `fields'. @@ -156,9 +158,10 @@ int strsplit(char *string, char **fields, size_t size); * Instead of passing "" (empty string) one can pass NULL. * * RETURN VALUE - * Returns the number of characters in `dst', NOT including the trailing - * null-byte. If an error occurred (empty array or `dst' too small) a value - * smaller than zero will be returned. + * Returns the number of characters in the resulting string, excluding a + * tailing null byte. If this value is greater than or equal to "dst_len", the + * result in "dst" is truncated (but still null terminated). On error a + * negative value is returned. */ int strjoin(char *dst, size_t dst_len, char **fields, size_t fields_num, const char *sep); @@ -314,11 +317,17 @@ int format_values(char *ret, size_t ret_len, const data_set_t *ds, int parse_identifier(char *str, char **ret_host, char **ret_plugin, char **ret_plugin_instance, char **ret_type, - char **ret_type_instance); + char **ret_type_instance, char *default_host); int parse_identifier_vl(const char *str, value_list_t *vl); int parse_value(const char *value, value_t *ret_value, int ds_type); int parse_values(char *buffer, value_list_t *vl, const data_set_t *ds); +/* parse_value_file reads "path" and parses its content as an integer or + * floating point, depending on "ds_type". On success, the value is stored in + * "ret_value" and zero is returned. On failure, a non-zero value is returned. + */ +int parse_value_file(char const *path, value_t *ret_value, int ds_type); + #if !HAVE_GETPWNAM_R int getpwnam_r(const char *name, struct passwd *pwbuf, char *buf, size_t buflen, struct passwd **pwbufp);