]> err.no Git - linux-2.6/blobdiff - include/linux/ipv6.h
[ALSA] Fix snd_xxx_t typedefs
[linux-2.6] / include / linux / ipv6.h
index 7d3908594fac9dca0a2dc3f529e075cf0f500ee1..9c8f4c9ed4298d35d90e08f00ec9274370acf50d 100644 (file)
@@ -171,12 +171,13 @@ enum {
 };
 
 #ifdef __KERNEL__
-#include <linux/in6.h>          /* struct sockaddr_in6 */
 #include <linux/icmpv6.h>
-#include <net/if_inet6.h>       /* struct ipv6_mc_socklist */
 #include <linux/tcp.h>
 #include <linux/udp.h>
 
+#include <net/if_inet6.h>       /* struct ipv6_mc_socklist */
+#include <net/inet_sock.h>
+
 /* 
    This structure contains results of exthdrs parsing
    as offsets from skb->nh.
@@ -190,6 +191,10 @@ struct inet6_skb_parm {
        __u16                   srcrt;
        __u16                   dst1;
        __u16                   lastopt;
+       __u32                   nhoff;
+       __u16                   flags;
+
+#define IP6SKB_XFRM_TRANSFORMED        1
 };
 
 #define IP6CB(skb)     ((struct inet6_skb_parm*)((skb)->cb))
@@ -346,8 +351,6 @@ static inline void inet_sk_copy_descendant(struct sock *sk_to,
 #define __ipv6_only_sock(sk)   (inet6_sk(sk)->ipv6only)
 #define ipv6_only_sock(sk)     ((sk)->sk_family == PF_INET6 && __ipv6_only_sock(sk))
 
-#include <linux/tcp.h>
-
 struct inet6_timewait_sock {
        struct in6_addr tw_v6_daddr;
        struct in6_addr tw_v6_rcv_saddr;
@@ -360,7 +363,8 @@ struct tcp6_timewait_sock {
 
 static inline u16 inet6_tw_offset(const struct proto *prot)
 {
-       return prot->twsk_obj_size - sizeof(struct inet6_timewait_sock);
+       return prot->twsk_prot->twsk_obj_size -
+                       sizeof(struct inet6_timewait_sock);
 }
 
 static inline struct inet6_timewait_sock *inet6_twsk(const struct sock *sk)