[NETFILTER]: sip conntrack: better NAT handling
[linux-2.6.git] / include / linux / netfilter_ipv4 / ip_conntrack_sip.h
1 #ifndef __IP_CONNTRACK_SIP_H__
2 #define __IP_CONNTRACK_SIP_H__
3 #ifdef __KERNEL__
4
5 #define SIP_PORT        5060
6 #define SIP_TIMEOUT     3600
7
8 enum sip_header_pos {
9         POS_REG_REQ_URI,
10         POS_REQ_URI,
11         POS_FROM,
12         POS_TO,
13         POS_VIA,
14         POS_CONTACT,
15         POS_CONTENT,
16         POS_MEDIA,
17         POS_OWNER,
18         POS_CONNECTION,
19         POS_SDP_HEADER,
20 };
21
22 extern unsigned int (*ip_nat_sip_hook)(struct sk_buff **pskb,
23                                        enum ip_conntrack_info ctinfo,
24                                        struct ip_conntrack *ct,
25                                        const char **dptr);
26 extern unsigned int (*ip_nat_sdp_hook)(struct sk_buff **pskb,
27                                        enum ip_conntrack_info ctinfo,
28                                        struct ip_conntrack_expect *exp,
29                                        const char *dptr);
30
31 extern int ct_sip_get_info(const char *dptr, size_t dlen,
32                            unsigned int *matchoff,
33                            unsigned int *matchlen,
34                            enum sip_header_pos pos);
35 extern int ct_sip_lnlen(const char *line, const char *limit);
36 extern const char *ct_sip_search(const char *needle, const char *haystack,
37                                  size_t needle_len, size_t haystack_len,
38                                  int case_sensitive);
39 #endif /* __KERNEL__ */
40 #endif /* __IP_CONNTRACK_SIP_H__ */