2005-12-13 23:15:24 -08:00
/*
* NET Generic infrastructure for INET6 connection oriented protocols .
*
* Authors : Many people , see the TCPv6 sources
*
* From code originally in TCPv6
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version
* 2 of the License , or ( at your option ) any later version .
*/
# ifndef _INET6_CONNECTION_SOCK_H
# define _INET6_CONNECTION_SOCK_H
# include <linux/types.h>
2005-12-13 23:22:54 -08:00
struct in6_addr ;
struct inet_bind_bucket ;
2005-12-13 23:15:24 -08:00
struct request_sock ;
2005-12-13 23:22:54 -08:00
struct sk_buff ;
struct sock ;
struct sockaddr ;
2013-09-21 10:22:41 -07:00
int inet6_csk_bind_conflict ( const struct sock * sk ,
const struct inet_bind_bucket * tb , bool relax ) ;
2005-12-13 23:15:24 -08:00
2013-09-21 10:22:41 -07:00
struct dst_entry * inet6_csk_route_req ( struct sock * sk , struct flowi6 * fl6 ,
const struct request_sock * req ) ;
2010-12-02 10:59:22 -08:00
2013-09-21 10:22:41 -07:00
struct request_sock * inet6_csk_search_req ( const struct sock * sk ,
struct request_sock * * * prevp ,
const __be16 rport ,
const struct in6_addr * raddr ,
const struct in6_addr * laddr ,
const int iif ) ;
2005-12-13 23:15:24 -08:00
2013-09-21 10:22:41 -07:00
void inet6_csk_reqsk_queue_hash_add ( struct sock * sk , struct request_sock * req ,
const unsigned long timeout ) ;
2005-12-13 23:22:54 -08:00
2013-09-21 10:22:41 -07:00
void inet6_csk_addr2sockaddr ( struct sock * sk , struct sockaddr * uaddr ) ;
2005-12-13 23:22:54 -08:00
2014-04-15 12:58:34 -04:00
int inet6_csk_xmit ( struct sock * sk , struct sk_buff * skb , struct flowi * fl ) ;
2012-07-16 03:44:56 -07:00
2013-09-21 10:22:41 -07:00
struct dst_entry * inet6_csk_update_pmtu ( struct sock * sk , u32 mtu ) ;
2005-12-13 23:15:24 -08:00
# endif /* _INET6_CONNECTION_SOCK_H */