#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>

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_root * | mi_check_hash (struct mi_root *cmd, void *param) |
| static struct mi_root * | mi_get_gflags (struct mi_root *cmd, void *param) |
| static struct mi_root * | mi_get_hash (struct mi_root *cmd, void *param) |
| static struct mi_root * | mi_get_prob (struct mi_root *cmd, void *param) |
| static struct mi_root * | mi_is_gflag (struct mi_root *cmd, void *param) |
| static struct mi_root * | mi_reset_gflag (struct mi_root *cmd, void *param) |
| static struct mi_root * | mi_reset_prob (struct mi_root *cmd, void *param) |
| static struct mi_root * | mi_set_gflag (struct mi_root *cmd, void *param) |
| static struct mi_root * | mi_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 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.
| static int cfg_lock | ( | struct sip_msg * | msg, | |
| char * | key, | |||
| char * | s2 | |||
| ) | [static] |
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] |
| static int dbg_abort | ( | struct sip_msg * | msg, | |
| char * | foo, | |||
| char * | bar | |||
| ) | [static] |
| static int dbg_pkg_status | ( | struct sip_msg * | msg, | |
| char * | foo, | |||
| char * | bar | |||
| ) | [static] |
| static int dbg_shm_status | ( | struct sip_msg * | msg, | |
| char * | foo, | |||
| char * | bar | |||
| ) | [static] |
| static int fixup_gflags | ( | void ** | param, | |
| int | param_no | |||
| ) | [static] |
| static int fixup_prob | ( | void ** | param, | |
| int | param_no | |||
| ) | [static] |
| static int get_prob | ( | struct sip_msg * | bar, | |
| char * | foo1, | |||
| char * | foo2 | |||
| ) | [static] |
| static int is_gflag | ( | struct sip_msg * | bar, | |
| char * | flag, | |||
| char * | foo | |||
| ) | [static] |
| static int m_sleep | ( | struct sip_msg * | msg, | |
| char * | time, | |||
| char * | str2 | |||
| ) | [static] |
| static int m_usleep | ( | struct sip_msg * | msg, | |
| char * | time, | |||
| char * | str2 | |||
| ) | [static] |
Definition at line 476 of file cfgutils.c.
References addf_mi_node_child(), config_hash, free_mi_tree(), hash_file, init_mi_tree(), LM_ERR, LM_INFO, MD5_LEN, MD5File(), MI_INTERNAL_ERR_LEN, MI_INTERNAL_ERR_S, MI_OK_LEN, MI_OK_S, mi_root::node, and NULL.
Definition at line 382 of file cfgutils.c.
References addf_mi_node_child(), free_mi_tree(), gflags, init_mi_tree(), MI_OK_LEN, MI_OK_S, mi_root::node, and NULL.
Definition at line 453 of file cfgutils.c.
References addf_mi_node_child(), config_hash, free_mi_tree(), hash_file, init_mi_tree(), LM_INFO, MD5_LEN, MI_OK_LEN, MI_OK_S, mi_root::node, and NULL.
Definition at line 435 of file cfgutils.c.
References addf_mi_node_child(), free_mi_tree(), init_mi_tree(), MI_OK_LEN, MI_OK_S, mi_root::node, NULL, and probability.
Definition at line 342 of file cfgutils.c.
References add_mi_node_child(), free_mi_tree(), gflags, init_mi_tree(), mi_node::kids, LM_ERR, MI_BAD_PARM_LEN, MI_BAD_PARM_S, MI_MISSING_PARM_LEN, MI_MISSING_PARM_S, MI_OK_LEN, MI_OK_S, mi_root::node, NULL, strno2int(), and mi_node::value.
Definition at line 317 of file cfgutils.c.
References init_mi_tree(), mi_node::kids, LM_ERR, MI_BAD_PARM_LEN, MI_BAD_PARM_S, MI_MISSING_PARM_LEN, MI_MISSING_PARM_S, MI_OK_LEN, MI_OK_S, mi_root::node, NULL, strno2int(), and mi_node::value.
Definition at line 428 of file cfgutils.c.
References init_mi_tree(), initial_prob, MI_OK_LEN, MI_OK_S, and probability.
Definition at line 292 of file cfgutils.c.
References init_mi_tree(), mi_node::kids, LM_ERR, MI_BAD_PARM_LEN, MI_BAD_PARM_S, MI_MISSING_PARM_LEN, MI_MISSING_PARM_S, MI_OK_LEN, MI_OK_S, mi_root::node, NULL, strno2int(), and mi_node::value.
Definition at line 406 of file cfgutils.c.
References init_mi_tree(), mi_node::kids, LM_ERR, MI_BAD_PARM_LEN, MI_BAD_PARM_S, MI_MISSING_PARM_LEN, MI_MISSING_PARM_S, MI_OK_LEN, MI_OK_S, mi_root::node, NULL, probability, str2int(), and mi_node::value.
| 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] |
Definition at line 636 of file cfgutils.c.
References _cfg_lock_set, _cfg_lock_size, config_hash, gflags, hash_file, initial_gflags, initial_prob, LM_DBG, LM_ERR, LM_INFO, MD5_LEN, MD5File(), NULL, probability, and shm_malloc().
| static int pv_get_random_val | ( | struct sip_msg * | msg, | |
| pv_param_t * | param, | |||
| pv_value_t * | res | |||
| ) | [static] |
Definition at line 550 of file cfgutils.c.
References _pv_value::flags, int2str(), _str::len, NULL, PV_TYPE_INT, PV_VAL_INT, PV_VAL_STR, _pv_value::ri, _pv_value::rs, and _str::s.
| static int rand_event | ( | struct sip_msg * | bar, | |
| char * | foo1, | |||
| char * | foo2 | |||
| ) | [static] |
| 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] |
| 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] |
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] |
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().
| struct module_exports exports |
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] |
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] |
Definition at line 118 of file cfgutils.c.
Referenced by get_prob(), mi_get_prob(), mi_reset_prob(), mi_set_prob(), mod_destroy(), mod_init(), rand_event(), reset_prob(), and set_prob().
1.5.6