]> err.no Git - linux-2.6/blobdiff - include/linux/netfilter_ipv4/ip_conntrack_h323.h
[NETFILTER]: nf_conntrack/nf_nat: add H.323 helper port
[linux-2.6] / include / linux / netfilter_ipv4 / ip_conntrack_h323.h
index 0987cea538403cd8a31d54219e788a7e15fc3b40..18f769818f4ee45964798ab4e69750c61b91096a 100644 (file)
@@ -3,6 +3,8 @@
 
 #ifdef __KERNEL__
 
+#include <linux/netfilter/nf_conntrack_h323_asn1.h>
+
 #define RAS_PORT 1719
 #define Q931_PORT 1720
 #define H323_RTP_CHANNEL_MAX 4 /* Audio, video, FAX and other */
@@ -25,6 +27,63 @@ struct ip_ct_h323_master {
        };
 };
 
+struct ip_conntrack_expect;
+
+extern int get_h225_addr(unsigned char *data, TransportAddress * addr,
+                        __be32 * ip, u_int16_t * port);
+extern void ip_conntrack_h245_expect(struct ip_conntrack *new,
+                                    struct ip_conntrack_expect *this);
+extern void ip_conntrack_q931_expect(struct ip_conntrack *new,
+                                    struct ip_conntrack_expect *this);
+extern int (*set_h245_addr_hook) (struct sk_buff ** pskb,
+                                 unsigned char **data, int dataoff,
+                                 H245_TransportAddress * addr,
+                                 __be32 ip, u_int16_t port);
+extern int (*set_h225_addr_hook) (struct sk_buff ** pskb,
+                                 unsigned char **data, int dataoff,
+                                 TransportAddress * addr,
+                                 __be32 ip, u_int16_t port);
+extern int (*set_sig_addr_hook) (struct sk_buff ** pskb,
+                                struct ip_conntrack * ct,
+                                enum ip_conntrack_info ctinfo,
+                                unsigned char **data,
+                                TransportAddress * addr, int count);
+extern int (*set_ras_addr_hook) (struct sk_buff ** pskb,
+                                struct ip_conntrack * ct,
+                                enum ip_conntrack_info ctinfo,
+                                unsigned char **data,
+                                TransportAddress * addr, int count);
+extern int (*nat_rtp_rtcp_hook) (struct sk_buff ** pskb,
+                                struct ip_conntrack * ct,
+                                enum ip_conntrack_info ctinfo,
+                                unsigned char **data, int dataoff,
+                                H245_TransportAddress * addr,
+                                u_int16_t port, u_int16_t rtp_port,
+                                struct ip_conntrack_expect * rtp_exp,
+                                struct ip_conntrack_expect * rtcp_exp);
+extern int (*nat_t120_hook) (struct sk_buff ** pskb, struct ip_conntrack * ct,
+                            enum ip_conntrack_info ctinfo,
+                            unsigned char **data, int dataoff,
+                            H245_TransportAddress * addr, u_int16_t port,
+                            struct ip_conntrack_expect * exp);
+extern int (*nat_h245_hook) (struct sk_buff ** pskb, struct ip_conntrack * ct,
+                            enum ip_conntrack_info ctinfo,
+                            unsigned char **data, int dataoff,
+                            TransportAddress * addr, u_int16_t port,
+                            struct ip_conntrack_expect * exp);
+extern int (*nat_callforwarding_hook) (struct sk_buff ** pskb,
+                                      struct ip_conntrack * ct,
+                                      enum ip_conntrack_info ctinfo,
+                                      unsigned char **data, int dataoff,
+                                      TransportAddress * addr,
+                                      u_int16_t port,
+                                      struct ip_conntrack_expect * exp);
+extern int (*nat_q931_hook) (struct sk_buff ** pskb, struct ip_conntrack * ct,
+                            enum ip_conntrack_info ctinfo,
+                            unsigned char **data, TransportAddress * addr,
+                            int idx, u_int16_t port,
+                            struct ip_conntrack_expect * exp);
+
 #endif
 
 #endif