1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _NET_SECURE_SEQ 3*4882a593Smuzhiyun #define _NET_SECURE_SEQ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/types.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun u64 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport); 8*4882a593Smuzhiyun u64 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr, 9*4882a593Smuzhiyun __be16 dport); 10*4882a593Smuzhiyun u32 secure_tcp_seq(__be32 saddr, __be32 daddr, 11*4882a593Smuzhiyun __be16 sport, __be16 dport); 12*4882a593Smuzhiyun u32 secure_tcp_ts_off(const struct net *net, __be32 saddr, __be32 daddr); 13*4882a593Smuzhiyun u32 secure_tcpv6_seq(const __be32 *saddr, const __be32 *daddr, 14*4882a593Smuzhiyun __be16 sport, __be16 dport); 15*4882a593Smuzhiyun u32 secure_tcpv6_ts_off(const struct net *net, 16*4882a593Smuzhiyun const __be32 *saddr, const __be32 *daddr); 17*4882a593Smuzhiyun u64 secure_dccp_sequence_number(__be32 saddr, __be32 daddr, 18*4882a593Smuzhiyun __be16 sport, __be16 dport); 19*4882a593Smuzhiyun u64 secure_dccpv6_sequence_number(__be32 *saddr, __be32 *daddr, 20*4882a593Smuzhiyun __be16 sport, __be16 dport); 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #endif /* _NET_SECURE_SEQ */ 23