block: change the tag sync vs async restriction logic
[safe/jmp/linux-2.6] / include / linux / if_tr.h
index a2b01e1..fc23aeb 100644 (file)
@@ -19,6 +19,9 @@
 #ifndef _LINUX_IF_TR_H
 #define _LINUX_IF_TR_H
 
+#include <linux/types.h>
+#include <asm/byteorder.h>     /* For __be16 */
+
 /* IEEE 802.5 Token-Ring magic constants.  The frame sizes omit the preamble
    and FCS/CRC (frame check sequence). */
 #define TR_ALEN                6               /* Octets in one token-ring addr */
@@ -36,8 +39,8 @@ struct trh_hdr {
        __u8  fc;                       /* frame control field */
        __u8  daddr[TR_ALEN];           /* destination address */
        __u8  saddr[TR_ALEN];           /* source address */
-       __u16 rcf;                      /* route control field */
-       __u16 rseg[8];                  /* routing registers */
+       __be16 rcf;                     /* route control field */
+       __be16 rseg[8];                 /* routing registers */
 };
 
 #ifdef __KERNEL__
@@ -45,7 +48,7 @@ struct trh_hdr {
 
 static inline struct trh_hdr *tr_hdr(const struct sk_buff *skb)
 {
-       return (struct trh_hdr *)skb->mac.raw;
+       return (struct trh_hdr *)skb_mac_header(skb);
 }
 #endif
 
@@ -55,7 +58,7 @@ struct trllc {
        __u8  ssap;                     /* source SAP */
        __u8  llc;                      /* LLC control field */
        __u8  protid[3];                /* protocol id */
-       __u16 ethertype;                /* ether type field */
+       __be16 ethertype;               /* ether type field */
 };
 
 /* Token-Ring statistics collection data. */