[NETFILTER]: nf_conntrack/nf_nat: add SIP helper port
[linux-2.6.git] / include / linux / netfilter / nf_conntrack_sip.h
1 #ifndef __NF_CONNTRACK_SIP_H__
2 #define __NF_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_IP4,
18         POS_CONNECTION_IP4,
19         POS_OWNER_IP6,
20         POS_CONNECTION_IP6,
21         POS_SDP_HEADER,
22 };
23
24 extern unsigned int (*nf_nat_sip_hook)(struct sk_buff **pskb,
25                                        enum ip_conntrack_info ctinfo,
26                                        struct nf_conn *ct,
27                                        const char **dptr);
28 extern unsigned int (*nf_nat_sdp_hook)(struct sk_buff **pskb,
29                                        enum ip_conntrack_info ctinfo,
30                                        struct nf_conntrack_expect *exp,
31                                        const char *dptr);
32
33 extern int ct_sip_get_info(struct nf_conn *ct, const char *dptr, size_t dlen,
34                            unsigned int *matchoff, unsigned int *matchlen,
35                            enum sip_header_pos pos);
36 extern int ct_sip_lnlen(const char *line, const char *limit);
37 extern const char *ct_sip_search(const char *needle, const char *haystack,
38                                  size_t needle_len, size_t haystack_len,
39                                  int case_sensitive);
40 #endif /* __KERNEL__ */
41 #endif /* __NF_CONNTRACK_SIP_H__ */