diff options
Diffstat (limited to 'drivers/net/wireless/bcmdhd/include/proto/bcmeth.h')
-rw-r--r-- | drivers/net/wireless/bcmdhd/include/proto/bcmeth.h | 62 |
1 files changed, 46 insertions, 16 deletions
diff --git a/drivers/net/wireless/bcmdhd/include/proto/bcmeth.h b/drivers/net/wireless/bcmdhd/include/proto/bcmeth.h index e54b2e3..50d9bdc 100644 --- a/drivers/net/wireless/bcmdhd/include/proto/bcmeth.h +++ b/drivers/net/wireless/bcmdhd/include/proto/bcmeth.h @@ -1,7 +1,7 @@ /* * Broadcom Ethernettype protocol definitions * - * Copyright (C) 1999-2012, Broadcom Corporation + * Copyright (C) 1999-2014, Broadcom Corporation * * Unless you and Broadcom execute a separate written software license * agreement governing use of this software, this software is licensed to you @@ -21,10 +21,12 @@ * software in any way with any other Broadcom software provided under a license * other than the GPL, without Broadcom's express prior written consent. * - * $Id: bcmeth.h 294352 2011-11-06 19:23:00Z $ + * $Id: bcmeth.h 382882 2013-02-04 23:24:31Z $ */ - +/* + * Broadcom Ethernet protocol defines + */ #ifndef _BCMETH_H_ #define _BCMETH_H_ @@ -33,14 +35,39 @@ #include <typedefs.h> #endif - +/* This marks the start of a packed structure section. */ #include <packed_section_start.h> +/* ETHER_TYPE_BRCM is defined in ethernet.h */ +/* + * Following the 2byte BRCM ether_type is a 16bit BRCM subtype field + * in one of two formats: (only subtypes 32768-65535 are in use now) + * + * subtypes 0-32767: + * 8 bit subtype (0-127) + * 8 bit length in bytes (0-255) + * + * subtypes 32768-65535: + * 16 bit big-endian subtype + * 16 bit big-endian length in bytes (0-65535) + * + * length is the number of additional bytes beyond the 4 or 6 byte header + * + * Reserved values: + * 0 reserved + * 5-15 reserved for iLine protocol assignments + * 17-126 reserved, assignable + * 127 reserved + * 32768 reserved + * 32769-65534 reserved, assignable + * 65535 reserved + */ - - - +/* + * While adding the subtypes and their specific processing code make sure + * bcmeth_bcm_hdr_t is the first data structure in the user specific data structure definition + */ #define BCMILCP_SUBTYPE_RATE 1 #define BCMILCP_SUBTYPE_LINK 2 @@ -57,26 +84,29 @@ #define BCMILCP_BCM_SUBTYPE_RESERVED 0 #define BCMILCP_BCM_SUBTYPE_EVENT 1 #define BCMILCP_BCM_SUBTYPE_SES 2 - - +/* + * The EAPOL type is not used anymore. Instead EAPOL messages are now embedded + * within BCMILCP_BCM_SUBTYPE_EVENT type messages + */ +/* #define BCMILCP_BCM_SUBTYPE_EAPOL 3 */ #define BCMILCP_BCM_SUBTYPE_DPT 4 #define BCMILCP_BCM_SUBTYPEHDR_MINLENGTH 8 #define BCMILCP_BCM_SUBTYPEHDR_VERSION 0 - +/* These fields are stored in network order */ typedef BWL_PRE_PACKED_STRUCT struct bcmeth_hdr { - uint16 subtype; + uint16 subtype; /* Vendor specific..32769 */ uint16 length; - uint8 version; - uint8 oui[3]; - + uint8 version; /* Version is 0 */ + uint8 oui[3]; /* Broadcom OUI */ + /* user specific Data */ uint16 usr_subtype; } BWL_POST_PACKED_STRUCT bcmeth_hdr_t; - +/* This marks the end of a packed structure section. */ #include <packed_section_end.h> -#endif +#endif /* _BCMETH_H_ */ |