GPLization banner introduced to *.[hc] files
[sip-router] / modules / tm / t_msgbuilder.h
1 /*
2  * $Id$
3  *
4  *
5  * Copyright (C) 2001-2003 Fhg Fokus
6  *
7  * This file is part of ser, a free SIP server.
8  *
9  * ser is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version
13  *
14  * For a license to use the ser software under conditions
15  * other than those described here, or to purchase support for this
16  * software, please contact iptel.org by e-mail at the following addresses:
17  *    info@iptel.org
18  *
19  * ser is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License 
25  * along with this program; if not, write to the Free Software 
26  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
27  */
28
29
30 #ifndef _MSGBUILDER_H
31 #define _MSGBUILDER_H
32
33 #define CSEQ "CSeq: "
34 #define CSEQ_LEN 6
35 #define TO "To: "
36 #define TO_LEN 4
37 #define CALLID "Call-ID: "
38 #define CALLID_LEN 9
39 #define CONTENT_LENGTH "Content-Length: "
40 #define CONTENT_LENGTH_LEN 16
41 #define FROM "From: "
42 #define FROM_LEN 6
43 #define FROMTAG ";tag="
44 #define FROMTAG_LEN 5
45
46 #define UAC_CSEQNR "1"
47 #define UAC_CSEQNR_LEN 1
48
49 #define UAC_CSEQNR "1"
50 #define UAC_CSEQNR_LEN 1
51
52 /* convenience macros */
53 #define memapp(_d,_s,_len) \
54         do{\
55                 memcpy((_d),(_s),(_len));\
56                 (_d) += (_len);\
57         }while(0);
58
59 #define  append_mem_block(_d,_s,_len) \
60         do{\
61                 memcpy((_d),(_s),(_len));\
62                 (_d) += (_len);\
63         }while(0);
64
65 #ifdef _OBSO
66 #define append_str(_p,_str) \
67         do{ \
68                 memcpy((_p), (_str).s, (_str).len); \
69                 (_p)+=(_str).len); \
70         } while(0);
71 #endif
72
73 char *build_local(struct cell *Trans, unsigned int branch,
74         unsigned int *len, char *method, int method_len, str *to);
75
76 char *build_uac_request(  str msg_type, str dst, str from,
77         str headers, str body, int branch,
78         struct cell *t, int *len);
79
80 int t_calc_branch(struct cell *t,
81         int b, char *branch, int *branch_len);
82 int t_setbranch( struct cell *t, struct sip_msg *msg, int b );
83
84
85 #endif