rawv6.h 954 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef _NET_RAWV6_H
  2. #define _NET_RAWV6_H
  3. #ifdef __KERNEL__
  4. #include <net/protocol.h>
  5. #define RAWV6_HTABLE_SIZE MAX_INET_PROTOS
  6. extern struct hlist_head raw_v6_htable[RAWV6_HTABLE_SIZE];
  7. extern rwlock_t raw_v6_lock;
  8. extern int ipv6_raw_deliver(struct sk_buff *skb, int nexthdr);
  9. extern struct sock *__raw_v6_lookup(struct sock *sk, unsigned short num,
  10. struct in6_addr *loc_addr, struct in6_addr *rmt_addr,
  11. int dif);
  12. extern int rawv6_rcv(struct sock *sk,
  13. struct sk_buff *skb);
  14. extern void rawv6_err(struct sock *sk,
  15. struct sk_buff *skb,
  16. struct inet6_skb_parm *opt,
  17. int type, int code,
  18. int offset, __be32 info);
  19. #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
  20. int rawv6_mh_filter_register(int (*filter)(struct sock *sock,
  21. struct sk_buff *skb));
  22. int rawv6_mh_filter_unregister(int (*filter)(struct sock *sock,
  23. struct sk_buff *skb));
  24. #endif
  25. #endif
  26. #endif