]>
git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - include/linux/netfilter/nf_conntrack_h323.h
1 #ifndef _NF_CONNTRACK_H323_H
2 #define _NF_CONNTRACK_H323_H
6 #include <linux/netfilter/nf_conntrack_h323_asn1.h>
10 #define H323_RTP_CHANNEL_MAX 4 /* Audio, video, FAX and other */
12 /* This structure exists only once per master */
13 struct nf_ct_h323_master
{
15 /* Original and NATed Q.931 or H.245 signal ports */
16 __be16 sig_port
[IP_CT_DIR_MAX
];
18 /* Original and NATed RTP ports */
19 __be16 rtp_port
[H323_RTP_CHANNEL_MAX
][IP_CT_DIR_MAX
];
22 /* RAS connection timeout */
25 /* Next TPKT length (for separate TPKT header and data) */
26 u_int16_t tpkt_len
[IP_CT_DIR_MAX
];
32 extern int get_h225_addr(struct nf_conn
*ct
, unsigned char *data
,
33 TransportAddress
*taddr
,
34 union nf_inet_addr
*addr
, __be16
*port
);
35 extern void nf_conntrack_h245_expect(struct nf_conn
*new,
36 struct nf_conntrack_expect
*this);
37 extern void nf_conntrack_q931_expect(struct nf_conn
*new,
38 struct nf_conntrack_expect
*this);
39 extern int (*set_h245_addr_hook
) (struct sk_buff
*skb
, unsigned int protoff
,
40 unsigned char **data
, int dataoff
,
41 H245_TransportAddress
*taddr
,
42 union nf_inet_addr
*addr
,
44 extern int (*set_h225_addr_hook
) (struct sk_buff
*skb
, unsigned int protoff
,
45 unsigned char **data
, int dataoff
,
46 TransportAddress
*taddr
,
47 union nf_inet_addr
*addr
,
49 extern int (*set_sig_addr_hook
) (struct sk_buff
*skb
,
51 enum ip_conntrack_info ctinfo
,
52 unsigned int protoff
, unsigned char **data
,
53 TransportAddress
*taddr
, int count
);
54 extern int (*set_ras_addr_hook
) (struct sk_buff
*skb
,
56 enum ip_conntrack_info ctinfo
,
57 unsigned int protoff
, unsigned char **data
,
58 TransportAddress
*taddr
, int count
);
59 extern int (*nat_rtp_rtcp_hook
) (struct sk_buff
*skb
,
61 enum ip_conntrack_info ctinfo
,
62 unsigned int protoff
, unsigned char **data
,
64 H245_TransportAddress
*taddr
,
65 __be16 port
, __be16 rtp_port
,
66 struct nf_conntrack_expect
*rtp_exp
,
67 struct nf_conntrack_expect
*rtcp_exp
);
68 extern int (*nat_t120_hook
) (struct sk_buff
*skb
, struct nf_conn
*ct
,
69 enum ip_conntrack_info ctinfo
,
71 unsigned char **data
, int dataoff
,
72 H245_TransportAddress
*taddr
, __be16 port
,
73 struct nf_conntrack_expect
*exp
);
74 extern int (*nat_h245_hook
) (struct sk_buff
*skb
, struct nf_conn
*ct
,
75 enum ip_conntrack_info ctinfo
,
77 unsigned char **data
, int dataoff
,
78 TransportAddress
*taddr
, __be16 port
,
79 struct nf_conntrack_expect
*exp
);
80 extern int (*nat_callforwarding_hook
) (struct sk_buff
*skb
,
82 enum ip_conntrack_info ctinfo
,
84 unsigned char **data
, int dataoff
,
85 TransportAddress
*taddr
,
87 struct nf_conntrack_expect
*exp
);
88 extern int (*nat_q931_hook
) (struct sk_buff
*skb
, struct nf_conn
*ct
,
89 enum ip_conntrack_info ctinfo
,
91 unsigned char **data
, TransportAddress
*taddr
,
93 struct nf_conntrack_expect
*exp
);