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