]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/net/ipv6.h
[PATCH] frv: clean frv unistd.h
[linux-2.6-omap-h63xx.git] / include / net / ipv6.h
index 0a2ad51cff8223dd1936e958a498d6dbd8644b2d..a8fdf7970b370a8aca9f216a72fec4b7b378d60e 100644 (file)
@@ -104,7 +104,6 @@ struct frag_hdr {
 
 #ifdef __KERNEL__
 
-#include <linux/config.h>
 #include <net/sock.h>
 
 /* sysctls */
@@ -230,7 +229,7 @@ extern int                  ip6_ra_control(struct sock *sk, int sel,
                                               void (*destructor)(struct sock *));
 
 
-extern int                     ipv6_parse_hopopts(struct sk_buff *skb, int);
+extern int                     ipv6_parse_hopopts(struct sk_buff *skb);
 
 extern struct ipv6_txoptions *  ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt);
 extern struct ipv6_txoptions * ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt,
@@ -240,6 +239,8 @@ extern struct ipv6_txoptions *      ipv6_renew_options(struct sock *sk, struct ipv6_t
 struct ipv6_txoptions *ipv6_fixup_options(struct ipv6_txoptions *opt_space,
                                          struct ipv6_txoptions *opt);
 
+extern int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb);
+
 extern int ip6_frag_nqueues;
 extern atomic_t ip6_frag_mem;
 
@@ -280,6 +281,18 @@ static inline int ipv6_addr_cmp(const struct in6_addr *a1, const struct in6_addr
        return memcmp((const void *) a1, (const void *) a2, sizeof(struct in6_addr));
 }
 
+static inline int
+ipv6_masked_addr_cmp(const struct in6_addr *a1, const struct in6_addr *m,
+                    const struct in6_addr *a2)
+{
+       unsigned int i;
+
+       for (i = 0; i < 4; i++)
+               if ((a1->s6_addr32[i] ^ a2->s6_addr32[i]) & m->s6_addr32[i])
+                       return 1;
+       return 0;
+}
+
 static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2)
 {
        memcpy((void *) a1, (const void *) a2, sizeof(struct in6_addr));
@@ -416,6 +429,8 @@ extern int                  ipv6_rcv(struct sk_buff *skb,
                                         struct packet_type *pt,
                                         struct net_device *orig_dev);
 
+extern int                     ip6_rcv_finish(struct sk_buff *skb);
+
 /*
  *     upper-layer output functions
  */
@@ -504,6 +519,16 @@ extern int                 ipv6_getsockopt(struct sock *sk, int level,
                                                int optname,
                                                char __user *optval, 
                                                int __user *optlen);
+extern int                     compat_ipv6_setsockopt(struct sock *sk,
+                                               int level,
+                                               int optname,
+                                               char __user *optval,
+                                               int optlen);
+extern int                     compat_ipv6_getsockopt(struct sock *sk,
+                                               int level,
+                                               int optname,
+                                               char __user *optval,
+                                               int __user *optlen);
 
 extern void                    ipv6_packet_init(void);
 
@@ -525,6 +550,9 @@ extern int inet6_getname(struct socket *sock, struct sockaddr *uaddr,
 extern int inet6_ioctl(struct socket *sock, unsigned int cmd, 
                       unsigned long arg);
 
+extern int inet6_hash_connect(struct inet_timewait_death_row *death_row,
+                             struct sock *sk);
+
 /*
  * reassembly.c
  */
@@ -533,8 +561,11 @@ extern int sysctl_ip6frag_low_thresh;
 extern int sysctl_ip6frag_time;
 extern int sysctl_ip6frag_secret_interval;
 
-extern struct proto_ops inet6_stream_ops;
-extern struct proto_ops inet6_dgram_ops;
+extern const struct proto_ops inet6_stream_ops;
+extern const struct proto_ops inet6_dgram_ops;
+
+struct group_source_req;
+struct group_filter;
 
 extern int ip6_mc_source(int add, int omode, struct sock *sk,
                         struct group_source_req *pgsr);