/* * Copyright (C) 2010 iptelorg GmbH * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /** Kamailio Core :: kamailio statistics types. * This file contains type declaration for kamailio statistics. * They are needed when modules are loaded (sr_module.c). * The rest of kamailio stats are in lib/kcore (include * lib/kcore/kstats_wrapper.h or lib/kcore/statistics.h and link with * libkcore). * Note: kamailio statistics are obsolete. Use sr counters in new code * (counters.h). * @file kstats_types.h * @ingroup core * @author andrei */ #ifndef __kstats_types_h #define __kstats_types_h #include "counters.h" /* types */ typedef counter_val_t stat_val; /* stat_var is always used as a pointer in k, we missuse stat_var* for holding out counter id */ typedef void stat_var; /* get val callback * TODO: change it to counter_cbk_f compatible callback? */ typedef counter_val_t (*stat_function)(void); /* statistic module interface */ struct stat_export_s { char* name; int flags; stat_var** stat_pointer; /* pointer to the memory location (where a counter handle will be stored) Note: it's a double pointer because of the original k version which needed it allocated in shm. This version will store the counter id at *stat_pointer. */ }; typedef struct stat_export_s stat_export_t; #endif /*__kstats_types_h*/ /* vi: set ts=4 sw=4 tw=79:ai:cindent: */