]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/net/rawv6.h
ipv6: Use correct data types for ICMPv6 type and code
[net-next-2.6.git] / include / net / rawv6.h
index 14476a71725e56467fe934611d3ec2f7e659abb6..f6b9b830df8c445e3ce88f0ff45d27fc07908c2c 100644 (file)
@@ -3,25 +3,21 @@
 
 #ifdef __KERNEL__
 
-#define RAWV6_HTABLE_SIZE      MAX_INET_PROTOS
-extern struct hlist_head raw_v6_htable[RAWV6_HTABLE_SIZE];
-extern rwlock_t raw_v6_lock;
+#include <net/protocol.h>
 
-extern int ipv6_raw_deliver(struct sk_buff *skb, int nexthdr);
-
-extern struct sock *__raw_v6_lookup(struct sock *sk, unsigned short num,
-                                   struct in6_addr *loc_addr, struct in6_addr *rmt_addr,
-                                   int dif);
+void raw6_icmp_error(struct sk_buff *, int nexthdr,
+               u8 type, u8 code, int inner_offset, __be32);
+int raw6_local_deliver(struct sk_buff *, int);
 
 extern int                     rawv6_rcv(struct sock *sk,
                                          struct sk_buff *skb);
 
-
-extern void                    rawv6_err(struct sock *sk,
-                                         struct sk_buff *skb,
-                                         struct inet6_skb_parm *opt,
-                                         int type, int code, 
-                                         int offset, u32 info);
+#if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
+int rawv6_mh_filter_register(int (*filter)(struct sock *sock,
+                                          struct sk_buff *skb));
+int rawv6_mh_filter_unregister(int (*filter)(struct sock *sock,
+                                            struct sk_buff *skb));
+#endif
 
 #endif