cfgutils.c File Reference

#include "../../sr_module.h"
#include "../../error.h"
#include "../../pvar.h"
#include "../../ut.h"
#include "../../mem/mem.h"
#include "../../mem/shm_mem.h"
#include "../../mi/mi.h"
#include "../../mod_fix.h"
#include "../../md5utils.h"
#include "../../globals.h"
#include "../../hash_func.h"
#include "../../locking.h"
#include <stdio.h>
#include <stdlib.h>

Include dependency graph for cfgutils.c:

Go to the source code of this file.

Defines

#define FIFO_CHECK_HASH   "check_config_hash"
#define FIFO_GET_GFLAGS   "get_gflags"
#define FIFO_GET_HASH   "get_config_hash"
#define FIFO_GET_PROB   "rand_get_prob"
#define FIFO_IS_GFLAG   "is_gflag"
#define FIFO_RESET_GFLAG   "reset_gflag"
#define FIFO_RESET_PROB   "rand_reset_prob"
#define FIFO_SET_GFLAG   "set_gflag"
#define FIFO_SET_PROB   "rand_set_prob"
#define MAX_FLAG_LEN   12

Functions

static int cfg_lock (struct sip_msg *, char *, char *)
int cfg_lock_helper (struct sip_msg *msg, gparam_p key, int mode)
static int cfg_unlock (struct sip_msg *, char *, char *)
static int dbg_abort (struct sip_msg *, char *, char *)
static int dbg_pkg_status (struct sip_msg *, char *, char *)
static int dbg_shm_status (struct sip_msg *, char *, char *)
static int fixup_gflags (void **param, int param_no)
static int fixup_prob (void **param, int param_no)
static int get_prob (struct sip_msg *, char *, char *)
static int is_gflag (struct sip_msg *, char *, char *)
static int m_sleep (struct sip_msg *, char *, char *)
static int m_usleep (struct sip_msg *, char *, char *)
static struct mi_rootmi_check_hash (struct mi_root *cmd, void *param)
static struct mi_rootmi_get_gflags (struct mi_root *cmd, void *param)
static struct mi_rootmi_get_hash (struct mi_root *cmd, void *param)
static struct mi_rootmi_get_prob (struct mi_root *cmd, void *param)
static struct mi_rootmi_is_gflag (struct mi_root *cmd, void *param)
static struct mi_rootmi_reset_gflag (struct mi_root *cmd, void *param)
static struct mi_rootmi_reset_prob (struct mi_root *cmd, void *param)
static struct mi_rootmi_set_gflag (struct mi_root *cmd, void *param)
static struct mi_rootmi_set_prob (struct mi_root *cmd, void *param)
static void mod_destroy (void)
static int mod_init (void)
static int pv_get_random_val (struct sip_msg *msg, pv_param_t *param, pv_value_t *res)
static int rand_event (struct sip_msg *, char *, char *)
static int reset_gflag (struct sip_msg *, char *, char *)
static int reset_prob (struct sip_msg *, char *, char *)
static int set_gflag (struct sip_msg *, char *, char *)
static MODULE_VERSION int set_prob (struct sip_msg *, char *, char *)

Variables

static gen_lock_set_t * _cfg_lock_set = NULL
static unsigned int _cfg_lock_size = 0
static cmd_export_t cmds []
static char config_hash [MD5_LEN]
struct module_exports exports
static unsigned int * gflags = 0
static char * hash_file = NULL
static int initial_gflags = 0
static int initial_prob = 10
static mi_export_t mi_cmds []
static pv_export_t mod_items []
static param_export_t params []
static int * probability


Define Documentation

#define FIFO_CHECK_HASH   "check_config_hash"

Definition at line 50 of file cfgutils.c.

#define FIFO_GET_GFLAGS   "get_gflags"

Definition at line 58 of file cfgutils.c.

#define FIFO_GET_HASH   "get_config_hash"

Definition at line 49 of file cfgutils.c.

#define FIFO_GET_PROB   "rand_get_prob"

Definition at line 48 of file cfgutils.c.

#define FIFO_IS_GFLAG   "is_gflag"

Definition at line 56 of file cfgutils.c.

#define FIFO_RESET_GFLAG   "reset_gflag"

Definition at line 57 of file cfgutils.c.

#define FIFO_RESET_PROB   "rand_reset_prob"

Definition at line 47 of file cfgutils.c.

#define FIFO_SET_GFLAG   "set_gflag"

Definition at line 55 of file cfgutils.c.

#define FIFO_SET_PROB   "rand_set_prob"

Definition at line 46 of file cfgutils.c.

#define MAX_FLAG_LEN   12

Definition at line 53 of file cfgutils.c.


Function Documentation

static int cfg_lock ( struct sip_msg msg,
char *  key,
char *  s2 
) [static]

Definition at line 621 of file cfgutils.c.

References _cfg_lock_set, cfg_lock_helper(), and NULL.

int cfg_lock_helper ( struct sip_msg msg,
gparam_p  key,
int  mode 
)

Definition at line 603 of file cfgutils.c.

References _cfg_lock_set, _cfg_lock_size, core_case_hash(), fixup_get_svalue(), LM_DBG, LM_ERR, and s.

Referenced by cfg_lock(), and cfg_unlock().

static int cfg_unlock ( struct sip_msg msg,
char *  key,
char *  s2 
) [static]

Definition at line 628 of file cfgutils.c.

References _cfg_lock_set, cfg_lock_helper(), and NULL.

static int dbg_abort ( struct sip_msg msg,
char *  foo,
char *  bar 
) [static]

Definition at line 584 of file cfgutils.c.

References LM_CRIT.

static int dbg_pkg_status ( struct sip_msg msg,
char *  foo,
char *  bar 
) [static]

Definition at line 591 of file cfgutils.c.

References pkg_status.

static int dbg_shm_status ( struct sip_msg msg,
char *  foo,
char *  bar 
) [static]

Definition at line 597 of file cfgutils.c.

References shm_status.

static int fixup_gflags ( void **  param,
int  param_no 
) [static]

convert char* to int and do bitwise right-shift char* must be pkg_alloced and will be freed by the function

Definition at line 240 of file cfgutils.c.

References E_CFG, gflags, _str::len, LM_ERR, pkg_free, _str::s, and str2int().

static int fixup_prob ( void **  param,
int  param_no 
) [static]

Definition at line 213 of file cfgutils.c.

References E_CFG, _str::len, LM_ERR, pkg_free, _str::s, and str2int().

static int get_prob ( struct sip_msg bar,
char *  foo1,
char *  foo2 
) [static]

Definition at line 526 of file cfgutils.c.

References probability.

static int is_gflag ( struct sip_msg bar,
char *  flag,
char *  foo 
) [static]

Definition at line 286 of file cfgutils.c.

References gflags.

static int m_sleep ( struct sip_msg msg,
char *  time,
char *  str2 
) [static]

Definition at line 570 of file cfgutils.c.

References LM_DBG.

static int m_usleep ( struct sip_msg msg,
char *  time,
char *  str2 
) [static]

Definition at line 577 of file cfgutils.c.

References LM_DBG, and sleep_us().

static struct mi_root * mi_check_hash ( struct mi_root cmd,
void *  param 
) [static, read]

static struct mi_root * mi_get_gflags ( struct mi_root cmd,
void *  param 
) [static, read]

static struct mi_root * mi_get_hash ( struct mi_root cmd,
void *  param 
) [static, read]

static struct mi_root * mi_get_prob ( struct mi_root cmd,
void *  param 
) [static, read]

static struct mi_root * mi_is_gflag ( struct mi_root cmd,
void *  param 
) [static, read]

static struct mi_root * mi_reset_gflag ( struct mi_root cmd,
void *  param 
) [static, read]

static struct mi_root * mi_reset_prob ( struct mi_root cmd,
void *  param 
) [static, read]

Definition at line 428 of file cfgutils.c.

References init_mi_tree(), initial_prob, MI_OK_LEN, MI_OK_S, and probability.

static struct mi_root * mi_set_gflag ( struct mi_root cmd,
void *  param 
) [static, read]

static struct mi_root * mi_set_prob ( struct mi_root cmd,
void *  param 
) [static, read]

static void mod_destroy ( void   )  [static]

Definition at line 682 of file cfgutils.c.

References _cfg_lock_set, gflags, NULL, probability, and shm_free.

static int mod_init ( void   )  [static]

static int pv_get_random_val ( struct sip_msg msg,
pv_param_t param,
pv_value_t res 
) [static]

static int rand_event ( struct sip_msg bar,
char *  foo1,
char *  foo2 
) [static]

Definition at line 531 of file cfgutils.c.

References LM_DBG, and probability.

static int reset_gflag ( struct sip_msg bar,
char *  flag,
char *  foo 
) [static]

Definition at line 279 of file cfgutils.c.

static int reset_prob ( struct sip_msg bar,
char *  percent_par,
char *  foo 
) [static]

Definition at line 520 of file cfgutils.c.

References initial_prob, and probability.

static int set_gflag ( struct sip_msg bar,
char *  flag,
char *  foo 
) [static]

Definition at line 272 of file cfgutils.c.

static int set_prob ( struct sip_msg bar,
char *  percent_par,
char *  foo 
) [static]

Definition at line 514 of file cfgutils.c.

References probability.


Variable Documentation

gen_lock_set_t* _cfg_lock_set = NULL [static]

Definition at line 126 of file cfgutils.c.

Referenced by cfg_lock(), cfg_lock_helper(), cfg_unlock(), mod_destroy(), and mod_init().

unsigned int _cfg_lock_size = 0 [static]

Definition at line 127 of file cfgutils.c.

Referenced by cfg_lock_helper(), and mod_init().

cmd_export_t cmds[] [static]

Definition at line 129 of file cfgutils.c.

char config_hash[MD5_LEN] [static]

Definition at line 120 of file cfgutils.c.

Referenced by mi_check_hash(), mi_get_hash(), and mod_init().

Definition at line 196 of file cfgutils.c.

unsigned int* gflags = 0 [static]

Definition at line 124 of file cfgutils.c.

Referenced by fixup_gflags(), is_gflag(), mi_get_gflags(), mi_is_gflag(), mod_destroy(), and mod_init().

char* hash_file = NULL [static]

Definition at line 121 of file cfgutils.c.

Referenced by mi_check_hash(), mi_get_hash(), and mod_init().

int initial_gflags = 0 [static]

Definition at line 123 of file cfgutils.c.

Referenced by mod_init().

int initial_prob = 10 [static]

Definition at line 117 of file cfgutils.c.

Referenced by mi_reset_prob(), mod_init(), and reset_prob().

mi_export_t mi_cmds[] [static]

Definition at line 175 of file cfgutils.c.

pv_export_t mod_items[] [static]

Initial value:

 {
   { {"RANDOM", sizeof("RANDOM")-1}, PVT_OTHER, pv_get_random_val, 0,
      0, 0, 0, 0 },
   { {0, 0}, 0, 0, 0, 0, 0, 0, 0 }
}

Definition at line 189 of file cfgutils.c.

param_export_t params[] [static]

Definition at line 166 of file cfgutils.c.

int* probability [static]


Generated on Mon May 21 16:00:35 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6