X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_rpncalc.h;h=10c8edd4b3244d9abd41d378400aebb02fb83a1b;hp=516718c974eb85edb779ee7f519a37873c304412;hb=75b8cf7a1eff3d24a8567f3209aa023ad4473e95;hpb=2a6a270edfda89b04722b42b57992907f871c671 diff --git a/src/rrd_rpncalc.h b/src/rrd_rpncalc.h index 516718c..10c8edd 100644 --- a/src/rrd_rpncalc.h +++ b/src/rrd_rpncalc.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2.23 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_rpncalc.h RPN calculator functions ****************************************************************************/ @@ -16,9 +16,10 @@ enum op_en { OP_NUMBER = 0, OP_VARIABLE, OP_INF, OP_PREV, OP_NEGINF, OP_COS, OP_LOG, OP_EXP, OP_LT, OP_LE, OP_GT, OP_GE, OP_EQ, OP_IF, OP_MIN, OP_MAX, OP_LIMIT, OP_FLOOR, OP_CEIL, OP_UN, OP_END, OP_LTIME, OP_NE, OP_ISINF, OP_PREV_OTHER, OP_COUNT, - OP_ATAN, OP_SQRT, OP_SORT, OP_REV, OP_TREND, + OP_ATAN, OP_SQRT, OP_SORT, OP_REV, OP_TREND, OP_TRENDNAN, OP_ATAN2, OP_RAD2DEG, OP_DEG2RAD, - OP_AVG, OP_ABS + OP_PREDICT,OP_PREDICTSIGMA, + OP_AVG, OP_ABS, OP_ADDNAN }; typedef struct rpnp_t { @@ -36,6 +37,9 @@ typedef struct rpn_cdefds_t { short val; /* used by OP_NUMBER and OP_VARIABLE */ } rpn_cdefds_t; +#define MAX_VNAME_LEN 255 +#define DEF_NAM_FMT "%255[-_A-Za-z0-9]" + /* limit imposed by sizeof(rpn_cdefs_t) and rrd.ds_def.par */ #define DS_CDEF_MAX_RPN_NODES 26 @@ -46,9 +50,9 @@ typedef struct rpnstack_t { } rpnstack_t; void rpnstack_init( - rpnstack_t * rpnstack); + rpnstack_t *rpnstack); void rpnstack_free( - rpnstack_t * rpnstack); + rpnstack_t *rpnstack); void parseCDEF_DS( const char *def, @@ -59,14 +63,14 @@ long lookup_DS( char *ds_name); short rpn_compact( - rpnp_t * rpnp, - rpn_cdefds_t ** rpnc, + rpnp_t *rpnp, + rpn_cdefds_t **rpnc, short *count); rpnp_t *rpn_expand( - rpn_cdefds_t * rpnc); + rpn_cdefds_t *rpnc); void rpn_compact2str( - rpn_cdefds_t * rpnc, - ds_def_t * ds_def, + rpn_cdefds_t *rpnc, + ds_def_t *ds_def, char **str); rpnp_t *rpn_parse( void *key_hash, @@ -74,10 +78,10 @@ rpnp_t *rpn_parse( long (*lookup) (void *, char *)); short rpn_calc( - rpnp_t * rpnp, - rpnstack_t * rpnstack, + rpnp_t *rpnp, + rpnstack_t *rpnstack, long data_idx, - rrd_value_t * output, + rrd_value_t *output, int output_idx); #endif