@cfg_get.<group_name>.<var_name> is documented
[sip-router] / dset.h
1 /*
2  * $Id$
3  *
4  * Copyright (C) 2001-2004 FhG FOKUS
5  *
6  * This file is part of ser, a free SIP server.
7  *
8  * ser is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version
12  *
13  * For a license to use the ser software under conditions
14  * other than those described here, or to purchase support for this
15  * software, please contact iptel.org by e-mail at the following addresses:
16  *    info@iptel.org
17  *
18  * ser is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License 
24  * along with this program; if not, write to the Free Software 
25  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26  */
27
28 #ifndef _DSET_H
29 #define _DSET_H
30
31 #include "ip_addr.h"
32 #include "qvalue.h"
33
34 struct sip_msg;
35
36 extern unsigned int nr_branches;
37
38
39 /* 
40  * Add a new branch to current transaction 
41  */
42 int append_branch(struct sip_msg* msg, char* uri, int uri_len, char* dst_uri, int dst_uri_len, 
43                   qvalue_t q, struct socket_info* force_socket);
44
45
46 /* 
47  * Iterate through the list of transaction branches 
48  */
49 void init_branch_iterator(void);
50
51
52 /*
53  * Get the next branch in the current transaction
54  */
55 char* next_branch(int* len, qvalue_t* q, char** dst_uri, int* dst_len, struct socket_info** force_socket);
56
57
58 /*
59  * Empty the array of branches
60  */
61 void clear_branches(void);
62
63
64 /*
65  * Create a Contact header field from the
66  * list of current branches
67  */
68 char* print_dset(struct sip_msg* msg, int* len);
69
70
71 /* 
72  * Set the q value of the Request-URI
73  */
74 void set_ruri_q(qvalue_t q);
75
76
77 /* 
78  * Get the q value of the Request-URI
79  */
80 qvalue_t get_ruri_q(void);
81
82 int get_request_uri(struct sip_msg* _m, str* _u);
83 int rewrite_uri(struct sip_msg* _m, str* _s);
84
85
86 #endif /* _DSET_H */