1#ifndef _NET_SECURE_SEQ
2#define _NET_SECURE_SEQ
3
4#include <linux/types.h>
5
6extern u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport);
7extern u32 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr,
8 __be16 dport);
9extern __u32 secure_tcp_sequence_number(__be32 saddr, __be32 daddr,
10 __be16 sport, __be16 dport);
11extern __u32 secure_tcpv6_sequence_number(const __be32 *saddr, const __be32 *daddr,
12 __be16 sport, __be16 dport);
13extern u64 secure_dccp_sequence_number(__be32 saddr, __be32 daddr,
14 __be16 sport, __be16 dport);
15extern u64 secure_dccpv6_sequence_number(__be32 *saddr, __be32 *daddr,
16 __be16 sport, __be16 dport);
17
18static inline u32
19secure_tcp_seq(__be32 saddr, __be32 daddr, __be16 sport, __be16 dport)
20{
21 return secure_tcp_sequence_number(saddr, daddr, sport, dport);
22}
23
24static inline u32
25secure_tcpv6_seq(const __be32 *saddr, const __be32 *daddr,
26 __be16 sport, __be16 dport)
27{
28 return secure_tcpv6_sequence_number(saddr, daddr, sport, dport);
29}
30#endif
31