net: ipv6: Add IPv6 support to the ping socket.
[linux-2.6.git] / include / net / transp_v6.h
index 902e6c6..48b42ea 100644 (file)
@@ -7,33 +7,29 @@
  *     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;
+extern struct proto pingv6_prot;
 
-struct flowi;
+struct flowi6;
 
-/* extention headers */
+/* extension 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                             pingv6_init(void);
+extern void                            pingv6_exit(void);
 extern int                             rawv6_init(void);
 extern void                            rawv6_exit(void);
 extern int                             udpv6_init(void);
 extern void                            udpv6_exit(void);
-#ifdef CONFIG_IP_UDPLITE
 extern int                             udplitev6_init(void);
 extern void                            udplitev6_exit(void);
-#else
-static inline int udplitev6_init(void) { return 0; }
-static inline void udplitev6_exit(void) { }
-#endif
 extern int                             tcpv6_init(void);
 extern void                            tcpv6_exit(void);
 
@@ -45,20 +41,21 @@ extern int                  datagram_recv_ctl(struct sock *sk,
                                                  struct msghdr *msg,
                                                  struct sk_buff *skb);
 
-extern int                     datagram_send_ctl(struct msghdr *msg,
-                                                 struct flowi *fl,
+extern int                     datagram_send_ctl(struct net *net,
+                                                 struct sock *sk,
+                                                 struct msghdr *msg,
+                                                 struct flowi6 *fl6,
                                                  struct ipv6_txoptions *opt,
-                                                 int *hlimit, int *tclass);
+                                                 int *hlimit, int *tclass,
+                                                 int *dontfrag);
 
-#define                LOOPBACK4_IPV6          __constant_htonl(0x7f000006)
+#define                LOOPBACK4_IPV6          cpu_to_be32(0x7f000006)
 
 /*
  *     address family specific functions
  */
-extern struct inet_connection_sock_af_ops ipv4_specific;
+extern const struct inet_connection_sock_af_ops ipv4_specific;
 
-extern int inet6_destroy_sock(struct sock *sk);
-
-#endif
+extern void inet6_destroy_sock(struct sock *sk);
 
 #endif