Core Update of doxygen, removal of history, changing "ser" to "kamailio"
[sip-router] / kstats_types.h
1 /* 
2  * Copyright (C) 2010 iptelorg GmbH
3  *
4  * Permission to use, copy, modify, and distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16
17 /** Kamailio Core :: kamailio statistics types.
18  * This file contains type declaration for kamailio statistics.
19  * They are needed when modules are loaded (sr_module.c).
20  * The rest of kamailio stats are in lib/kcore (include
21  * lib/kcore/kstats_wrapper.h or lib/kcore/statistics.h and link with
22  * libkcore).
23  * Note: kamailio statistics are obsolete. Use sr counters in new code
24  * (counters.h).
25  * @file kstats_types.h
26  * @ingroup core
27  * @author andrei
28  */
29
30 #ifndef __kstats_types_h
31 #define __kstats_types_h
32
33 #include "counters.h"
34
35 /* types */
36
37 typedef counter_val_t    stat_val;
38 /* stat_var is always used as a pointer in k, we missuse
39    stat_var* for holding out counter id */
40 typedef void stat_var;
41 /* get val callback
42  * TODO: change it to counter_cbk_f compatible callback?
43  */
44 typedef counter_val_t (*stat_function)(void);
45
46 /* statistic module interface */
47 struct stat_export_s {
48         char* name;
49         int flags;
50         stat_var** stat_pointer; /* pointer to the memory location
51                                                                 (where a counter handle will be stored)
52                                                                 Note: it's a double pointer because of
53                                                                 the original k version which needed it
54                                                                 allocated in shm. This version
55                                                                 will store the counter id at *stat_pointer.
56                                                           */
57 };
58
59 typedef struct stat_export_s stat_export_t;
60
61
62 #endif /*__kstats_types_h*/
63
64 /* vi: set ts=4 sw=4 tw=79:ai:cindent: */