| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #ifndef _TRANSP_V6_H
 | 
					
						
							|  |  |  | #define _TRANSP_V6_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <net/checksum.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | /* IPv6 transport protocols */ | 
					
						
							|  |  |  | extern struct proto rawv6_prot; | 
					
						
							|  |  |  | extern struct proto udpv6_prot; | 
					
						
							|  |  |  | extern struct proto udplitev6_prot; | 
					
						
							|  |  |  | extern struct proto tcpv6_prot; | 
					
						
							|  |  |  | extern struct proto pingv6_prot; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-12 16:22:43 -05:00
										 |  |  | struct flowi6; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-30 22:57:33 -03:00
										 |  |  | /* extension headers */ | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | int ipv6_exthdrs_init(void); | 
					
						
							|  |  |  | void ipv6_exthdrs_exit(void); | 
					
						
							|  |  |  | int ipv6_frag_init(void); | 
					
						
							|  |  |  | void ipv6_frag_exit(void); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* transport protocols */ | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | int pingv6_init(void); | 
					
						
							|  |  |  | void pingv6_exit(void); | 
					
						
							|  |  |  | int rawv6_init(void); | 
					
						
							|  |  |  | void rawv6_exit(void); | 
					
						
							|  |  |  | int udpv6_init(void); | 
					
						
							|  |  |  | void udpv6_exit(void); | 
					
						
							|  |  |  | int udplitev6_init(void); | 
					
						
							|  |  |  | void udplitev6_exit(void); | 
					
						
							|  |  |  | int tcpv6_init(void); | 
					
						
							|  |  |  | void tcpv6_exit(void); | 
					
						
							| 
									
										
										
										
											2013-05-31 15:05:47 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | int udpv6_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len); | 
					
						
							| 
									
										
										
										
											2013-05-31 15:05:47 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-20 03:43:08 +01:00
										 |  |  | /* this does all the common and the specific ctl work */ | 
					
						
							|  |  |  | void ip6_datagram_recv_ctl(struct sock *sk, struct msghdr *msg, | 
					
						
							|  |  |  | 			   struct sk_buff *skb); | 
					
						
							|  |  |  | void ip6_datagram_recv_common_ctl(struct sock *sk, struct msghdr *msg, | 
					
						
							|  |  |  | 				  struct sk_buff *skb); | 
					
						
							|  |  |  | void ip6_datagram_recv_specific_ctl(struct sock *sk, struct msghdr *msg, | 
					
						
							|  |  |  | 				    struct sk_buff *skb); | 
					
						
							| 
									
										
										
										
											2013-05-31 15:05:47 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | int ip6_datagram_send_ctl(struct net *net, struct sock *sk, struct msghdr *msg, | 
					
						
							|  |  |  | 			  struct flowi6 *fl6, struct ipv6_txoptions *opt, | 
					
						
							|  |  |  | 			  int *hlimit, int *tclass, int *dontfrag); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | void ip6_dgram_sock_seq_show(struct seq_file *seq, struct sock *sp, | 
					
						
							|  |  |  | 			     __u16 srcp, __u16 destp, int bucket); | 
					
						
							| 
									
										
										
										
											2013-05-31 15:05:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | #define LOOPBACK4_IPV6 cpu_to_be32(0x7f000006)
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | /* address family specific functions */ | 
					
						
							| 
									
										
										
										
											2009-09-01 19:25:04 +00:00
										 |  |  | extern const struct inet_connection_sock_af_ops ipv4_specific; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | void inet6_destroy_sock(struct sock *sk); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-02 07:04:26 +00:00
										 |  |  | #define IPV6_SEQ_DGRAM_HEADER					       \
 | 
					
						
							|  |  |  | 	"  sl  "						       \ | 
					
						
							|  |  |  | 	"local_address                         "		       \ | 
					
						
							|  |  |  | 	"remote_address                        "		       \ | 
					
						
							|  |  |  | 	"st tx_queue rx_queue tr tm->when retrnsmt"		       \ | 
					
						
							|  |  |  | 	"   uid  timeout inode ref pointer drops\n" | 
					
						
							| 
									
										
										
										
											2013-05-31 15:05:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #endif
 |