1 #ifndef _NF_CONNTRACK_DCCP_H
2 #define _NF_CONNTRACK_DCCP_H
3 
4 /* Exposed to userspace over nfnetlink */
5 enum ct_dccp_states {
6 	CT_DCCP_NONE,
7 	CT_DCCP_REQUEST,
8 	CT_DCCP_RESPOND,
9 	CT_DCCP_PARTOPEN,
10 	CT_DCCP_OPEN,
11 	CT_DCCP_CLOSEREQ,
12 	CT_DCCP_CLOSING,
13 	CT_DCCP_TIMEWAIT,
14 	CT_DCCP_IGNORE,
15 	CT_DCCP_INVALID,
16 	__CT_DCCP_MAX
17 };
18 #define CT_DCCP_MAX		(__CT_DCCP_MAX - 1)
19 
20 enum ct_dccp_roles {
21 	CT_DCCP_ROLE_CLIENT,
22 	CT_DCCP_ROLE_SERVER,
23 	__CT_DCCP_ROLE_MAX
24 };
25 #define CT_DCCP_ROLE_MAX	(__CT_DCCP_ROLE_MAX - 1)
26 
27 #ifdef __KERNEL__
28 #include <net/netfilter/nf_conntrack_tuple.h>
29 
30 struct nf_ct_dccp {
31 	u_int8_t	role[IP_CT_DIR_MAX];
32 	u_int8_t	state;
33 	u_int8_t	last_pkt;
34 	u_int8_t	last_dir;
35 	u_int64_t	handshake_seq;
36 };
37 
38 #endif /* __KERNEL__ */
39 
40 #endif /* _NF_CONNTRACK_DCCP_H */
41