Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
[safe/jmp/linux-2.6] / include / linux / atalk.h
index 09a1451..e9ebac2 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef __LINUX_ATALK_H__
 #define __LINUX_ATALK_H__
 
+#include <asm/byteorder.h>
+
 /*
  * AppleTalk networking structures
  *
@@ -83,18 +85,8 @@ static inline struct atalk_sock *at_sk(struct sock *sk)
        return (struct atalk_sock *)sk;
 }
 
-#include <asm/byteorder.h>
-
 struct ddpehdr {
-#ifdef __LITTLE_ENDIAN_BITFIELD
-       __u16   deh_len:10,
-               deh_hops:4,
-               deh_pad:2;
-#else
-       __u16   deh_pad:2,
-               deh_hops:4,
-               deh_len:10;
-#endif
+       __be16  deh_len_hops;   /* lower 10 bits are length, next 4 - hops */
        __be16  deh_sum;
        __be16  deh_dnet;
        __be16  deh_snet;
@@ -107,39 +99,9 @@ struct ddpehdr {
 
 static __inline__ struct ddpehdr *ddp_hdr(struct sk_buff *skb)
 {
-       return (struct ddpehdr *)skb->h.raw;
+       return (struct ddpehdr *)skb_transport_header(skb);
 }
 
-/*
- *     Don't drop the struct into the struct above.  You'll get some
- *     surprise padding.
- */
-struct ddpebits {
-#ifdef __LITTLE_ENDIAN_BITFIELD
-       __u16   deh_len:10,
-               deh_hops:4,
-               deh_pad:2;
-#else
-       __u16   deh_pad:2,
-               deh_hops:4,
-               deh_len:10;
-#endif
-};
-
-/* Short form header */
-struct ddpshdr {
-#ifdef __LITTLE_ENDIAN_BITFIELD
-       __u16   dsh_len:10,
-               dsh_pad:6;
-#else
-       __u16   dsh_pad:6,
-               dsh_len:10;
-#endif
-       __u8    dsh_dport;
-       __u8    dsh_sport;
-       /* And netatalk apps expect to stick the type in themselves */
-};
-
 /* AppleTalk AARP headers */
 struct elapaarp {
        __be16  hw_type;
@@ -153,19 +115,19 @@ struct elapaarp {
 #define AARP_REQUEST                   1
 #define AARP_REPLY                     2
 #define AARP_PROBE                     3
-       __u8    hw_src[ETH_ALEN]        __attribute__ ((packed));
-       __u8    pa_src_zero             __attribute__ ((packed));
-       __be16  pa_src_net              __attribute__ ((packed));
-       __u8    pa_src_node             __attribute__ ((packed));
-       __u8    hw_dst[ETH_ALEN]        __attribute__ ((packed));
-       __u8    pa_dst_zero             __attribute__ ((packed));
-       __be16  pa_dst_net              __attribute__ ((packed));
-       __u8    pa_dst_node             __attribute__ ((packed));       
-};
+       __u8    hw_src[ETH_ALEN];
+       __u8    pa_src_zero;
+       __be16  pa_src_net;
+       __u8    pa_src_node;
+       __u8    hw_dst[ETH_ALEN];
+       __u8    pa_dst_zero;
+       __be16  pa_dst_net;
+       __u8    pa_dst_node;
+} __attribute__ ((packed));
 
 static __inline__ struct elapaarp *aarp_hdr(struct sk_buff *skb)
 {
-       return (struct elapaarp *)skb->h.raw;
+       return (struct elapaarp *)skb_transport_header(skb);
 }
 
 /* Not specified - how long till we drop a resolved entry */
@@ -218,7 +180,7 @@ extern rwlock_t atalk_interfaces_lock;
 
 extern struct atalk_route atrtr_default;
 
-extern struct file_operations atalk_seq_arp_fops;
+extern const struct file_operations atalk_seq_arp_fops;
 
 extern int sysctl_aarp_expiry_time;
 extern int sysctl_aarp_tick_time;