#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "../../dprint.h"
#include "../../ut.h"
#include "../../usr_avp.h"
#include "../../mem/mem.h"
#include "acc_extra.h"

Go to the source code of this file.
Defines | |
| #define | EQUAL '=' |
| #define | MAX_ACC_INT_BUF MAX_ACC_EXTRA |
| #define | SEPARATOR ';' |
Functions | |
| void | destroy_extras (struct acc_extra *extra) |
| int | extra2int (struct acc_extra *extra, int *attrs) |
| converts the name of the extra from str to integer and stores it over str.len ; str.s is freed and made zero | |
| int | extra2strar (struct acc_extra *extra, struct sip_msg *rq, str *val_arr, int *int_arr, char *type_arr) |
| void | init_acc_extra (void) |
| int | legs2strar (struct acc_extra *legs, struct sip_msg *rq, str *val_arr, int *int_arr, char *type_arr, int start) |
| struct acc_extra * | parse_acc_extra (char *extra_str) |
| struct acc_extra * | parse_acc_leg (char *extra_str) |
Variables | |
| static char | int_buf [INT2STR_MAX_LEN *MAX_ACC_INT_BUF] |
| static char * | static_detector = 0 |
Definition in file acc_extra.c.
| #define EQUAL '=' |
| #define MAX_ACC_INT_BUF MAX_ACC_EXTRA |
Definition at line 60 of file acc_extra.c.
| #define SEPARATOR ';' |
| void destroy_extras | ( | struct acc_extra * | extra | ) |
Definition at line 200 of file acc_extra.c.
References acc_extra::next, and pkg_free.
Referenced by destroy(), parse_acc_extra(), parse_acc_leg(), and parse_extra_str().
| int extra2int | ( | struct acc_extra * | extra, | |
| int * | attrs | |||
| ) |
converts the name of the extra from str to integer and stores it over str.len ; str.s is freed and made zero
Definition at line 231 of file acc_extra.c.
References LM_ERR, acc_extra::next, and str2int().
| int extra2strar | ( | struct acc_extra * | extra, | |
| struct sip_msg * | rq, | |||
| str * | val_arr, | |||
| int * | int_arr, | |||
| char * | type_arr | |||
| ) |
Definition at line 248 of file acc_extra.c.
References _pv_value::flags, INT2STR_MAX_LEN, int_buf, _str::len, LM_ERR, LM_WARN, MAX_ACC_EXTRA, acc_extra::name, acc_extra::next, pv_get_spec_value(), PV_VAL_INT, PV_VAL_NULL, _pv_value::ri, _pv_value::rs, s, _str::s, acc_extra::spec, static_detector, TYPE_INT, TYPE_NULL, and TYPE_STR.
Referenced by acc_log_request(), radius_authorize_sterman(), radius_does_uri_user_exist(), radius_does_uri_user_host_exist(), radius_is_user_in(), radius_load_callee_avps(), and radius_load_caller_avps().
| void init_acc_extra | ( | void | ) |
Definition at line 67 of file acc_extra.c.
References int2str(), and static_detector.
Referenced by mod_init().
| int legs2strar | ( | struct acc_extra * | legs, | |
| struct sip_msg * | rq, | |||
| str * | val_arr, | |||
| int * | int_arr, | |||
| char * | type_arr, | |||
| int | start | |||
| ) |
Definition at line 302 of file acc_extra.c.
References AVP_VAL_STR, int2bstr(), INT2STR_MAX_LEN, int_buf, _str::len, MAX_ACC_LEG, int_str::n, acc_extra::next, pv_get_avp_name(), _pv_spec::pvp, _str::s, int_str::s, search_first_avp(), search_next_avp(), acc_extra::spec, TYPE_INT, TYPE_NULL, and TYPE_STR.
Referenced by acc_log_request().
| struct acc_extra* parse_acc_extra | ( | char * | extra_str | ) | [read] |
Definition at line 106 of file acc_extra.c.
References destroy_extras(), EQUAL, _str::len, LM_ERR, MAX_ACC_EXTRA, acc_extra::name, acc_extra::next, pkg_malloc, pv_parse_spec(), _str::s, s, SEPARATOR, and acc_extra::spec.
Referenced by mod_init(), and parse_acc_leg().
| struct acc_extra* parse_acc_leg | ( | char * | extra_str | ) | [read] |
Definition at line 75 of file acc_extra.c.
References destroy_extras(), LM_ERR, MAX_ACC_LEG, acc_extra::next, parse_acc_extra(), PVT_AVP, acc_extra::spec, and _pv_spec::type.
Referenced by mod_init().
char int_buf[INT2STR_MAX_LEN *MAX_ACC_INT_BUF] [static] |
char* static_detector = 0 [static] |
Definition at line 65 of file acc_extra.c.
Referenced by extra2strar(), init_acc_extra(), and init_extra_engine().
1.5.6