]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/staging/brcm80211/include/proto/ethernet.h
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / staging / brcm80211 / include / proto / ethernet.h
index cc17b428dd3ff64b6461931e7af1ddbba5d02804..567407de020ef7a520bfa3fffbc660e5f7375368 100644 (file)
 #ifndef _NET_ETHERNET_H_
 #define _NET_ETHERNET_H_
 
+#include <linux/if_ether.h>
+
 #include <packed_section_start.h>
 
-#define        ETHER_ADDR_LEN          6
 #define        ETHER_TYPE_LEN          2
 #define        ETHER_CRC_LEN           4
-#define        ETHER_HDR_LEN           (ETHER_ADDR_LEN * 2 + ETHER_TYPE_LEN)
 #define        ETHER_MIN_LEN           64
 #define        ETHER_MIN_DATA          46
 #define        ETHER_MAX_LEN           1518
 #define        ETHER_MAX_DATA          1500
 
-#define ETHER_TYPE_MIN         0x0600
-#define        ETHER_TYPE_IP           0x0800
-#define ETHER_TYPE_ARP         0x0806
-#define ETHER_TYPE_8021Q       0x8100
 #define        ETHER_TYPE_BRCM         0x886c
-#define        ETHER_TYPE_802_1X       0x888e
-#define        ETHER_TYPE_802_1X_PREAUTH 0x88c7
 
-#define ETHER_DEST_OFFSET      (0 * ETHER_ADDR_LEN)
-#define ETHER_SRC_OFFSET       (1 * ETHER_ADDR_LEN)
-#define ETHER_TYPE_OFFSET      (2 * ETHER_ADDR_LEN)
+#define ETHER_DEST_OFFSET      (0 * ETH_ALEN)
+#define ETHER_SRC_OFFSET       (1 * ETH_ALEN)
+#define ETHER_TYPE_OFFSET      (2 * ETH_ALEN)
 
 #define        ETHER_IS_VALID_LEN(foo) \
        ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
 }
 
 BWL_PRE_PACKED_STRUCT struct ether_header {
-       u8 ether_dhost[ETHER_ADDR_LEN];
-       u8 ether_shost[ETHER_ADDR_LEN];
+       u8 ether_dhost[ETH_ALEN];
+       u8 ether_shost[ETH_ALEN];
        u16 ether_type;
 } BWL_POST_PACKED_STRUCT;
 
 BWL_PRE_PACKED_STRUCT struct ether_addr {
-       u8 octet[ETHER_ADDR_LEN];
+       u8 octet[ETH_ALEN];
 } BWL_POST_PACKED_STRUCT;
 
-#define ETHER_SET_LOCALADDR(ea)        (((u8 *)(ea))[0] = (((u8 *)(ea))[0] | 2))
-#define ETHER_IS_LOCALADDR(ea)         (((u8 *)(ea))[0] & 2)
-#define ETHER_CLR_LOCALADDR(ea)        (((u8 *)(ea))[0] = \
-       (((u8 *)(ea))[0] & 0xd))
-#define ETHER_TOGGLE_LOCALADDR(ea)     (((u8 *)(ea))[0] = \
-       (((u8 *)(ea))[0] ^ 2))
-
 #define ETHER_SET_UNICAST(ea)  (((u8 *)(ea))[0] = (((u8 *)(ea))[0] & ~1))
 
-#define ETHER_ISMULTI(ea) (((const u8 *)(ea))[0] & 1)
-
-#define        ether_cmp(a, b) (!(((short *)a)[0] == ((short *)b)[0]) | \
-                        !(((short *)a)[1] == ((short *)b)[1]) | \
-                        !(((short *)a)[2] == ((short *)b)[2]))
-
-#define        ether_copy(s, d) { \
-               ((short *)d)[0] = ((short *)s)[0]; \
-               ((short *)d)[1] = ((short *)s)[1]; \
-               ((short *)d)[2] = ((short *)s)[2]; }
-
 static const struct ether_addr ether_bcast = { {255, 255, 255, 255, 255, 255} };
-static const struct ether_addr ether_null = { {0, 0, 0, 0, 0, 0} };
-
-#define ETHER_ISBCAST(ea)      ((((u8 *)(ea))[0] &             \
-       ((u8 *)(ea))[1] &               \
-       ((u8 *)(ea))[2] &               \
-       ((u8 *)(ea))[3] &               \
-       ((u8 *)(ea))[4] &               \
-       ((u8 *)(ea))[5]) == 0xff)
-#define ETHER_ISNULLADDR(ea)   ((((u8 *)(ea))[0] |             \
-       ((u8 *)(ea))[1] |               \
-       ((u8 *)(ea))[2] |               \
-       ((u8 *)(ea))[3] |               \
-       ((u8 *)(ea))[4] |               \
-       ((u8 *)(ea))[5]) == 0)
 
 #define ETHER_MOVE_HDR(d, s) \
 do { \