Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

dset.c File Reference

#include <string.h>
#include "dprint.h"
#include "config.h"
#include "parser/parser_f.h"
#include "parser/msg_parser.h"
#include "ut.h"
#include "hash_func.h"
#include "error.h"
#include "dset.h"
#include "mem/mem.h"
#include "ip_addr.h"

Go to the source code of this file.

Data Structures

struct  branch

Defines

#define CONTACT   "Contact: "
#define CONTACT_LEN   (sizeof(CONTACT) - 1)
#define CONTACT_DELIM   ", "
#define CONTACT_DELIM_LEN   (sizeof(CONTACT_DELIM) - 1)
#define Q_PARAM   ">;q="
#define Q_PARAM_LEN   (sizeof(Q_PARAM) - 1)

Functions

void init_branch_iterator (void)
char * next_branch (int *len, qvalue_t *q, char **dst_uri, int *dst_len, struct socket_info **force_socket)
void clear_branches (void)
int append_branch (struct sip_msg *msg, char *uri, int uri_len, char *dst_uri, int dst_uri_len, qvalue_t q, struct socket_info *force_socket)
char * print_dset (struct sip_msg *msg, int *len)
void set_ruri_q (qvalue_t q)
qvalue_t get_ruri_q (void)
int get_request_uri (struct sip_msg *_m, str *_u)
int rewrite_uri (struct sip_msg *_m, str *_s)

Variables

branch branches [MAX_BRANCHES-1]
unsigned int nr_branches = 0
int branch_iterator = 0
qvalue_t ruri_q = Q_UNSPECIFIED


Define Documentation

#define CONTACT   "Contact: "
 

Definition at line 42 of file dset.c.

Referenced by print_dset().

#define CONTACT_DELIM   ", "
 

Definition at line 45 of file dset.c.

Referenced by print_dset().

#define CONTACT_DELIM_LEN   (sizeof(CONTACT_DELIM) - 1)
 

Definition at line 46 of file dset.c.

Referenced by print_dset().

#define CONTACT_LEN   (sizeof(CONTACT) - 1)
 

Definition at line 43 of file dset.c.

Referenced by print_dset().

#define Q_PARAM   ">;q="
 

Definition at line 48 of file dset.c.

Referenced by build_contact(), print_dset(), select_branch_uri(), and xl_get_branches().

#define Q_PARAM_LEN   (sizeof(Q_PARAM) - 1)
 

Definition at line 49 of file dset.c.

Referenced by build_contact(), calc_buf_len(), print_dset(), select_branch_uri(), and xl_get_branches().


Function Documentation

int append_branch struct sip_msg msg,
char *  uri,
int  uri_len,
char *  dst_uri,
int  dst_uri_len,
qvalue_t  q,
struct socket_info force_socket
 

Definition at line 143 of file dset.c.

References branches, branch::dst_uri, branch::dst_uri_len, sip_msg::first_line, branch::force_send_socket, L_ERR, _str::len, branch::len, LOG, MAX_BRANCHES, MAX_URI_SIZE, sip_msg::new_uri, nr_branches, branch::q, msg_start::request, _str::s, ser_error, msg_start::u, msg_start::uri, branch::uri, and ZSW.

Referenced by cpl_proxy_to_loc_set(), do_action(), enum_query(), exec_str(), lookup(), lookup2(), ops_pushto_avp(), and ospPrepareDestination().

void clear_branches void   ) 
 

Definition at line 133 of file dset.c.

References nr_branches, and ruri_q.

Referenced by load_contacts(), receive_msg(), t_forward_nonack(), and timer_handler().

int get_request_uri struct sip_msg _m,
str _u
 

Definition at line 316 of file dset.c.

References sip_msg::first_line, _str::len, sip_msg::new_uri, msg_start::request, _str::s, str, msg_start::u, and msg_start::uri.

qvalue_t get_ruri_q void   ) 
 

Definition at line 306 of file dset.c.

References qvalue_t.

Referenced by load_contacts().

void init_branch_iterator void   ) 
 

Definition at line 87 of file dset.c.

References branch_iterator.

Referenced by check_routing(), load_contacts(), print_dset(), select_branch_uri(), t_forward_nonack(), xl_get_branch(), and xl_get_branches().

char* next_branch int len,
qvalue_t q,
char **  dst_uri,
int dst_len,
struct socket_info **  force_socket
 

Definition at line 98 of file dset.c.

References branch_iterator, branches, branch::dst_uri, branch::dst_uri_len, branch::force_send_socket, force_socket, len, branch::len, branch::q, and branch::uri.

Referenced by check_routing(), load_contacts(), print_dset(), select_branch_uri(), t_forward_nonack(), xl_get_branch(), and xl_get_branches().

char* print_dset struct sip_msg msg,
int len
 

Definition at line 204 of file dset.c.

References CONTACT, CONTACT_DELIM, CONTACT_DELIM_LEN, CONTACT_LEN, CRLF, CRLF_LEN, init_branch_iterator(), L_ERR, len, _str::len, len_q(), LOG, sip_msg::new_uri, next_branch(), q2str(), Q_PARAM, Q_PARAM_LEN, qvalue_t, ruri_q, _str::s, and str.

Referenced by _reply(), sl_send_reply(), and xl_get_dset().

int rewrite_uri struct sip_msg _m,
str _s
 

Definition at line 334 of file dset.c.

References buf, DBG, L_ERR, _str::len, LOG, sip_msg::new_uri, sip_msg::parsed_uri_ok, pkg_free, pkg_malloc, _str::s, and str.

Referenced by add_uri_param(), after_strict(), enum_query(), handle_sr(), lookup(), lookup2(), ospPrepareDestination(), sd_lookup(), and tel2sip().

void set_ruri_q qvalue_t  q  ) 
 

Definition at line 297 of file dset.c.

References ruri_q.

Referenced by enum_query(), lookup(), and lookup2().


Variable Documentation

int branch_iterator = 0 [static]
 

Definition at line 76 of file dset.c.

Referenced by init_branch_iterator(), and next_branch().

struct branch branches[MAX_BRANCHES-1] [static]
 

Definition at line 70 of file dset.c.

Referenced by append_branch(), and next_branch().

unsigned int nr_branches = 0
 

Definition at line 73 of file dset.c.

Referenced by append_branch(), clear_branches(), load_contacts(), select_branch_count(), and select_branch_uri().

qvalue_t ruri_q = Q_UNSPECIFIED [static]
 

Definition at line 79 of file dset.c.

Referenced by clear_branches(), print_dset(), and set_ruri_q().


Generated on Thu Jul 29 04:15:54 2010 for SIPExpressRouter by  doxygen 1.3.9.1