X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_rpncalc.h;h=368f0f3ec5830670b8a6549018a309b92d82af59;hb=9e6db622e8756105c1322481b34650ecbe15da1a;hp=a4e7c65cd7c116100f8dcba97be1df95b9dc6193;hpb=b9b92c21c1b517ca2d69e7baac4be7587aff5eb5;p=rrdtool.git diff --git a/src/rrd_rpncalc.h b/src/rrd_rpncalc.h index a4e7c65..368f0f3 100644 --- a/src/rrd_rpncalc.h +++ b/src/rrd_rpncalc.h @@ -1,12 +1,12 @@ /**************************************************************************** - * RRDtool 1.0.33 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.2.14 Copyright by Tobi Oetiker, 1997-2006 **************************************************************************** * rrd_rpncalc.h RPN calculator functions ****************************************************************************/ #ifndef _RRD_RPNCALC_H #define _RRD_RPNCALC_H -/* WARNING: if new operators are added, they MUST be added after OP_END. +/* WARNING: if new operators are added, they MUST be added at the very end of the list. * This is because COMPUTE (CDEF) DS store OP nodes by number (name is not * an option due to limited par array size). OP nodes must have the same * numeric values, otherwise the stored numbers will mean something different. */ @@ -15,7 +15,10 @@ enum op_en {OP_NUMBER=0,OP_VARIABLE,OP_INF,OP_PREV,OP_NEGINF, OP_DIV,OP_SIN, OP_DUP, OP_EXC, OP_POP, 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_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_ATAN2,OP_RAD2DEG,OP_DEG2RAD, + OP_AVG}; typedef struct rpnp_t { enum op_en op; @@ -50,7 +53,7 @@ long lookup_DS(void *rrd_vptr, char *ds_name); short rpn_compact(rpnp_t *rpnp,rpn_cdefds_t **rpnc,short *count); rpnp_t * rpn_expand(rpn_cdefds_t *rpnc); void rpn_compact2str(rpn_cdefds_t *rpnc,ds_def_t *ds_def,char **str); -rpnp_t * rpn_parse(void *key_hash,char *expr, long (*lookup)(void *,char *)); +rpnp_t * rpn_parse(void *key_hash,const char *const expr, long (*lookup)(void *,char *)); short rpn_calc(rpnp_t *rpnp, rpnstack_t *rpnstack, long data_idx, rrd_value_t *output, int output_idx); #endif