162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * NET		Generic infrastructure for INET6 connection oriented protocols.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Authors:	Many people, see the TCPv6 sources
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * 		From code originally in TCPv6
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci#ifndef _INET6_CONNECTION_SOCK_H
1062306a36Sopenharmony_ci#define _INET6_CONNECTION_SOCK_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include <linux/types.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cistruct flowi;
1562306a36Sopenharmony_cistruct flowi6;
1662306a36Sopenharmony_cistruct request_sock;
1762306a36Sopenharmony_cistruct sk_buff;
1862306a36Sopenharmony_cistruct sock;
1962306a36Sopenharmony_cistruct sockaddr;
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cistruct dst_entry *inet6_csk_route_req(const struct sock *sk, struct flowi6 *fl6,
2262306a36Sopenharmony_ci				      const struct request_sock *req, u8 proto);
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_civoid inet6_csk_addr2sockaddr(struct sock *sk, struct sockaddr *uaddr);
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciint inet6_csk_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl);
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_cistruct dst_entry *inet6_csk_update_pmtu(struct sock *sk, u32 mtu);
2962306a36Sopenharmony_ci#endif /* _INET6_CONNECTION_SOCK_H */
30