vserver 1.9.3
[linux-2.6.git] / include / net / ipv6.h
index b647b04..a3f4475 100644 (file)
@@ -16,7 +16,7 @@
 #define _NET_IPV6_H
 
 #include <linux/ipv6.h>
-#include <asm/hardirq.h>
+#include <linux/hardirq.h>
 #include <net/ndisc.h>
 #include <net/flow.h>
 #include <net/snmp.h>
@@ -111,7 +111,7 @@ extern int sysctl_ipv6_bindv6only;
 extern int sysctl_mld_max_msf;
 
 /* MIBs */
-DECLARE_SNMP_STAT(struct ipv6_mib, ipv6_statistics);
+DECLARE_SNMP_STAT(struct ipstats_mib, ipv6_statistics);
 #define IP6_INC_STATS(field)           SNMP_INC_STATS(ipv6_statistics, field)
 #define IP6_INC_STATS_BH(field)                SNMP_INC_STATS_BH(ipv6_statistics, field)
 #define IP6_INC_STATS_USER(field)      SNMP_INC_STATS_USER(ipv6_statistics, field)
@@ -215,7 +215,7 @@ extern struct ipv6_txoptions        *fl6_merge_options(struct ipv6_txoptions * opt_spac
                                                   struct ip6_flowlabel * fl,
                                                   struct ipv6_txoptions * fopt);
 extern void                    fl6_free_socklist(struct sock *sk);
-extern int                     ipv6_flowlabel_opt(struct sock *sk, char *optval, int optlen);
+extern int                     ipv6_flowlabel_opt(struct sock *sk, char __user *optval, int optlen);
 extern void                    ip6_flowlabel_init(void);
 extern void                    ip6_flowlabel_cleanup(void);
 
@@ -355,8 +355,7 @@ extern int                  ip6_dst_lookup(struct sock *sk,
  *     skb processing functions
  */
 
-extern int                     ip6_output(struct sk_buff *skb);
-extern int                     ip6_output2(struct sk_buff *skb);
+extern int                     ip6_output(struct sk_buff **pskb);
 extern int                     ip6_forward(struct sk_buff *skb);
 extern int                     ip6_input(struct sk_buff *skb);
 extern int                     ip6_mc_input(struct sk_buff *skb);
@@ -395,16 +394,21 @@ extern struct ipv6_txoptions *    ipv6_invert_rthdr(struct sock *sk,
  */
 
 extern int                     ipv6_setsockopt(struct sock *sk, int level, 
-                                               int optname, char *optval, 
+                                               int optname,
+                                               char __user *optval, 
                                                int optlen);
 extern int                     ipv6_getsockopt(struct sock *sk, int level, 
-                                               int optname, char *optval, 
-                                               int *optlen);
+                                               int optname,
+                                               char __user *optval, 
+                                               int __user *optlen);
 
 extern void                    ipv6_packet_init(void);
 
 extern void                    ipv6_packet_cleanup(void);
 
+extern int                     ip6_datagram_connect(struct sock *sk, 
+                                                    struct sockaddr *addr, int addr_len);
+
 extern int                     ipv6_recv_error(struct sock *sk, struct msghdr *msg, int len);
 extern void                    ipv6_icmp_error(struct sock *sk, struct sk_buff *skb, int err, u16 port,
                                                u32 info, u8 *payload);