Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00028 #include "../../lib/kcore/statistics.h"
00029 #include "pv_stats.h"
00030
00031 int pv_parse_stat_name(pv_spec_p sp, str *in)
00032 {
00033 if (in == NULL || in->s == NULL || sp == NULL)
00034 return -1;
00035 sp->pvp.pvn.type = PV_NAME_INTSTR;
00036 sp->pvp.pvn.u.isname.type = AVP_NAME_STR;
00037 sp->pvp.pvn.u.isname.name.s = *in;
00038 return 0;
00039 }
00040
00041
00042 int pv_get_stat(struct sip_msg *msg, pv_param_t *param, pv_value_t *res)
00043 {
00044 stat_var *stat;
00045
00046 stat = get_stat(¶m->pvn.u.isname.name.s);
00047 if (stat == NULL) {
00048 LM_WARN("No stat variable ``%.*s''\n",
00049 param->pvn.u.isname.name.s.len, param->pvn.u.isname.name.s.s);
00050 return pv_get_null(msg, param, res);
00051 }
00052 return pv_get_uintval(msg, param, res,
00053 (unsigned int)get_stat_val(stat));
00054 }
00055