|  | #ifndef _TRANSP_V6_H | 
|  | #define _TRANSP_V6_H | 
|  |  | 
|  | #include <net/checksum.h> | 
|  |  | 
|  | /* | 
|  | *	IPv6 transport protocols | 
|  | */ | 
|  |  | 
|  | #ifdef __KERNEL__ | 
|  |  | 
|  | extern struct proto rawv6_prot; | 
|  | extern struct proto udpv6_prot; | 
|  | extern struct proto udplitev6_prot; | 
|  | extern struct proto tcpv6_prot; | 
|  |  | 
|  | struct flowi; | 
|  |  | 
|  | /* extention headers */ | 
|  | extern int				ipv6_exthdrs_init(void); | 
|  | extern void				ipv6_exthdrs_exit(void); | 
|  | extern int				ipv6_frag_init(void); | 
|  | extern void				ipv6_frag_exit(void); | 
|  |  | 
|  | /* transport protocols */ | 
|  | extern int				rawv6_init(void); | 
|  | extern void				rawv6_exit(void); | 
|  | extern int				udpv6_init(void); | 
|  | extern void				udpv6_exit(void); | 
|  | extern int 				udplitev6_init(void); | 
|  | extern void 				udplitev6_exit(void); | 
|  | extern int				tcpv6_init(void); | 
|  | extern void				tcpv6_exit(void); | 
|  |  | 
|  | extern int				udpv6_connect(struct sock *sk, | 
|  | struct sockaddr *uaddr, | 
|  | int addr_len); | 
|  |  | 
|  | extern int			datagram_recv_ctl(struct sock *sk, | 
|  | struct msghdr *msg, | 
|  | struct sk_buff *skb); | 
|  |  | 
|  | extern int			datagram_send_ctl(struct net *net, | 
|  | struct msghdr *msg, | 
|  | struct flowi *fl, | 
|  | struct ipv6_txoptions *opt, | 
|  | int *hlimit, int *tclass); | 
|  |  | 
|  | #define		LOOPBACK4_IPV6		cpu_to_be32(0x7f000006) | 
|  |  | 
|  | /* | 
|  | *	address family specific functions | 
|  | */ | 
|  | extern const struct inet_connection_sock_af_ops ipv4_specific; | 
|  |  | 
|  | extern void inet6_destroy_sock(struct sock *sk); | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #endif |