X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_format.c;h=501b2676d95b6661966b85eadc9ba2b849285f99;hp=042495de017d6dcb92f8b3a78b856cfaa84b96d0;hb=96b0f4aace0deef034a792a08dc2d426cd2b61a4;hpb=298b318acaf1147474ab9e97cac37c3608660efd diff --git a/src/rrd_format.c b/src/rrd_format.c index 042495d..501b267 100644 --- a/src/rrd_format.c +++ b/src/rrd_format.c @@ -1,10 +1,13 @@ /***************************************************************************** - * RRDtool 1.1.x Copyright Tobias Oetiker, 1999 + * RRDtool 1.4.3 Copyright by Tobi Oetiker, 1997-2010 ***************************************************************************** * rrd_format.c RRD Database Format helper functions ***************************************************************************** * $Id$ * $Log$ + * Revision 1.5 2004/05/18 18:53:03 oetiker + * big spell checking patch -- slif@bellsouth.net + * * Revision 1.4 2003/02/13 07:05:27 oetiker * Find attached the patch I promised to send to you. Please note that there * are three new source files (src/rrd_is_thread_safe.h, src/rrd_thread_safe.c @@ -50,42 +53,81 @@ if (strcmp(#VV, string) == 0) return VVV; /* conversion functions to allow symbolic entry of enumerations */ -enum dst_en dst_conv(char *string) +enum dst_en dst_conv( + char *string) { - converter(COUNTER,DST_COUNTER) - converter(ABSOLUTE,DST_ABSOLUTE) - converter(GAUGE,DST_GAUGE) - converter(DERIVE,DST_DERIVE) - converter(COMPUTE,DST_CDEF) - rrd_set_error("unknown data aquisition function '%s'",string); - return(-1); + converter(COUNTER, DST_COUNTER) + converter(ABSOLUTE, DST_ABSOLUTE) + converter(GAUGE, DST_GAUGE) + converter(DERIVE, DST_DERIVE) + converter(COMPUTE, DST_CDEF) + rrd_set_error("unknown data acquisition function '%s'", string); + return (enum dst_en)(-1); } -enum cf_en cf_conv(char *string) +enum cf_en cf_conv( + const char *string) { - converter(AVERAGE,CF_AVERAGE) - converter(MIN,CF_MINIMUM) - converter(MAX,CF_MAXIMUM) - converter(LAST,CF_LAST) - converter(HWPREDICT,CF_HWPREDICT) - converter(DEVPREDICT,CF_DEVPREDICT) - converter(SEASONAL,CF_SEASONAL) - converter(DEVSEASONAL,CF_DEVSEASONAL) - converter(FAILURES,CF_FAILURES) - rrd_set_error("unknown consolidation function '%s'",string); - return(-1); + converter(AVERAGE, CF_AVERAGE) + converter(MIN, CF_MINIMUM) + converter(MAX, CF_MAXIMUM) + converter(LAST, CF_LAST) + converter(HWPREDICT, CF_HWPREDICT) + converter(MHWPREDICT, CF_MHWPREDICT) + converter(DEVPREDICT, CF_DEVPREDICT) + converter(SEASONAL, CF_SEASONAL) + converter(DEVSEASONAL, CF_DEVSEASONAL) + converter(FAILURES, CF_FAILURES) + rrd_set_error("unknown consolidation function '%s'", string); + return (enum cf_en)(-1); } -#undef converter +const char *cf_to_string (enum cf_en cf) +{ + switch (cf) + { + case CF_AVERAGE: return "AVERAGE"; + case CF_MINIMUM: return "MIN"; + case CF_MAXIMUM: return "MAX"; + case CF_LAST: return "LAST"; + case CF_HWPREDICT: return "HWPREDICT"; + case CF_SEASONAL: return "SEASONAL"; + case CF_DEVPREDICT: return "DEVPREDICT"; + case CF_DEVSEASONAL: return "DEVSEASONAL"; + case CF_FAILURES: return "FAILURES"; + case CF_MHWPREDICT: return "MHWPREDICT"; + + default: + return NULL; + } +} /* char *cf_to_string */ -long -ds_match(rrd_t *rrd,char *ds_nam){ +#undef converter + +long ds_match( + rrd_t *rrd, + char *ds_nam) +{ unsigned long i; - for(i=0;istat_head->ds_cnt;i++) - if ((strcmp(ds_nam,rrd->ds_def[i].ds_nam))==0) - return i; - rrd_set_error("unknown data source name '%s'",ds_nam); + + for (i = 0; i < rrd->stat_head->ds_cnt; i++) + if ((strcmp(ds_nam, rrd->ds_def[i].ds_nam)) == 0) + return i; + rrd_set_error("unknown data source name '%s'", ds_nam); return -1; } + +off_t rrd_get_header_size( + rrd_t *rrd) +{ + return sizeof(stat_head_t) + \ + sizeof(ds_def_t) * rrd->stat_head->ds_cnt + \ + sizeof(rra_def_t) * rrd->stat_head->rra_cnt + \ + sizeof(time_t) + \ + sizeof(live_head_t) + \ + sizeof(pdp_prep_t) * rrd->stat_head->ds_cnt + \ + sizeof(cdp_prep_t) * rrd->stat_head->ds_cnt * rrd->stat_head->rra_cnt + \ + sizeof(rra_ptr_t) * rrd->stat_head->rra_cnt; +}