kstats_types.h
742ce3ae
 /* 
  * $Id$
  * 
  * 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 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
  */
 /*
  * History:
  * --------
  *  2010-08-18  initial version (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: */