remove some unused crap
SVN-Revision: 11472
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,123 +0,0 @@ | |||||||
| /* |  | ||||||
|  * 802.11e protocol header file |  | ||||||
|  * |  | ||||||
|  * Copyright 2007, Broadcom Corporation |  | ||||||
|  * All Rights Reserved. |  | ||||||
|  *  |  | ||||||
|  * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY |  | ||||||
|  * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM |  | ||||||
|  * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS |  | ||||||
|  * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. |  | ||||||
|  * |  | ||||||
|  * $Id: 802.11e.h,v 1.1.1.2 2007/05/31 08:00:41 michael Exp $ |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _802_11e_H_ |  | ||||||
| #define _802_11e_H_ |  | ||||||
|  |  | ||||||
| /* enable structure packing */ |  | ||||||
| #if defined(__GNUC__) |  | ||||||
| #define	PACKED	__attribute__((packed)) |  | ||||||
| #else |  | ||||||
| #pragma pack(1) |  | ||||||
| #define	PACKED |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #ifdef BCMDBG |  | ||||||
| extern const char *aci_names[]; |  | ||||||
| #endif /* BCMDBG */ |  | ||||||
|  |  | ||||||
| /* WME Traffic Specification (TSPEC) element */ |  | ||||||
| #define WME_TSPEC_HDR_LEN           2           /* WME TSPEC header length */ |  | ||||||
| #define WME_TSPEC_BODY_OFF          2           /* WME TSPEC body offset */ |  | ||||||
|  |  | ||||||
| #define WME_CATEGORY_CODE_OFFSET	0		/* WME Category code offset */ |  | ||||||
| #define WME_ACTION_CODE_OFFSET		1		/* WME Action code offset */ |  | ||||||
| #define WME_TOKEN_CODE_OFFSET		2		/* WME Token code offset */ |  | ||||||
| #define WME_STATUS_CODE_OFFSET		3		/* WME Status code offset */ |  | ||||||
|  |  | ||||||
| struct tsinfo { |  | ||||||
| 	uint8 octets[3]; |  | ||||||
| } PACKED; |  | ||||||
|  |  | ||||||
| typedef struct tsinfo tsinfo_t; |  | ||||||
|  |  | ||||||
| /* 802.11e TSPEC IE */ |  | ||||||
| typedef struct tspec { |  | ||||||
| 	uint8 oui[DOT11_OUI_LEN];	/* WME_OUI */ |  | ||||||
| 	uint8 type;					/* WME_TYPE */ |  | ||||||
| 	uint8 subtype;				/* WME_SUBTYPE_TSPEC */ |  | ||||||
| 	uint8 version;				/* WME_VERSION */ |  | ||||||
| 	tsinfo_t tsinfo;			/* TS Info bit field */ |  | ||||||
| 	uint16 nom_msdu_size;		/* (Nominal or fixed) MSDU Size (bytes) */ |  | ||||||
| 	uint16 max_msdu_size;		/* Maximum MSDU Size (bytes) */ |  | ||||||
| 	uint32 min_srv_interval;	/* Minimum Service Interval (us) */ |  | ||||||
| 	uint32 max_srv_interval;	/* Maximum Service Interval (us) */ |  | ||||||
| 	uint32 inactivity_interval;	/* Inactivity Interval (us) */ |  | ||||||
| 	uint32 suspension_interval; /* Suspension Interval (us) */ |  | ||||||
| 	uint32 srv_start_time;		/* Service Start Time (us) */ |  | ||||||
| 	uint32 min_data_rate;		/* Minimum Data Rate (bps) */ |  | ||||||
| 	uint32 mean_data_rate;		/* Mean Data Rate (bps) */ |  | ||||||
| 	uint32 peak_data_rate;		/* Peak Data Rate (bps) */ |  | ||||||
| 	uint32 max_burst_size;		/* Maximum Burst Size (bytes) */ |  | ||||||
| 	uint32 delay_bound;			/* Delay Bound (us) */ |  | ||||||
| 	uint32 min_phy_rate;		/* Minimum PHY Rate (bps) */ |  | ||||||
| 	uint16 surplus_bw;			/* Surplus Bandwidth Allowance Factor */ |  | ||||||
| 	uint16 medium_time;			/* Medium Time (32 us/s periods) */ |  | ||||||
| } PACKED tspec_t; |  | ||||||
|  |  | ||||||
| #define WME_TSPEC_LEN	(sizeof(tspec_t))		/* not including 2-bytes of header */ |  | ||||||
|  |  | ||||||
| /* ts_info */ |  | ||||||
| /* 802.1D priority is duplicated - bits 13-11 AND bits 3-1 */ |  | ||||||
| #define TS_INFO_TID_SHIFT		1	/* TS info. TID shift */ |  | ||||||
| #define TS_INFO_TID_MASK		(0xf << TS_INFO_TID_SHIFT)	/* TS info. TID mask */ |  | ||||||
| #define TS_INFO_CONTENTION_SHIFT	7	/* TS info. contention shift */ |  | ||||||
| #define TS_INFO_CONTENTION_MASK	(0x1 << TS_INFO_CONTENTION_SHIFT) /* TS info. contention mask */ |  | ||||||
| #define TS_INFO_DIRECTION_SHIFT	5	/* TS info. direction shift */ |  | ||||||
| #define TS_INFO_DIRECTION_MASK	(0x3 << TS_INFO_DIRECTION_SHIFT) /* TS info. direction mask */ |  | ||||||
| #define TS_INFO_PSB_SHIFT		2		/* TS info. PSB bit Shift */ |  | ||||||
| #define TS_INFO_PSB_MASK		(1 << TS_INFO_PSB_SHIFT)	/* TS info. PSB mask */ |  | ||||||
| #define TS_INFO_UPLINK			(0 << TS_INFO_DIRECTION_SHIFT)	/* TS info. uplink */ |  | ||||||
| #define TS_INFO_DOWNLINK		(1 << TS_INFO_DIRECTION_SHIFT)	/* TS info. downlink */ |  | ||||||
| #define TS_INFO_BIDIRECTIONAL	(3 << TS_INFO_DIRECTION_SHIFT)	/* TS info. bidirectional */ |  | ||||||
| #define TS_INFO_USER_PRIO_SHIFT	3	/* TS info. user priority shift */ |  | ||||||
| /* TS info. user priority mask */ |  | ||||||
| #define TS_INFO_USER_PRIO_MASK	(0x7 << TS_INFO_USER_PRIO_SHIFT) |  | ||||||
|  |  | ||||||
| /* Macro to get/set bit(s) field in TSINFO */ |  | ||||||
| #define WLC_CAC_GET_TID(pt)	((((pt).octets[0]) & TS_INFO_TID_MASK) >> TS_INFO_TID_SHIFT) |  | ||||||
| #define WLC_CAC_GET_DIR(pt)	((((pt).octets[0]) & \ |  | ||||||
| 	TS_INFO_DIRECTION_MASK) >> TS_INFO_DIRECTION_SHIFT) |  | ||||||
| #define WLC_CAC_GET_PSB(pt)	((((pt).octets[1]) & WLC_CAC_PSB_MASK) >> WLC_CAC_PSB_SHIFT) |  | ||||||
| #define WLC_CAC_GET_USER_PRIO(pt)	((((pt).octets[1]) & \ |  | ||||||
| 	TS_INFO_USER_PRIO_MASK) >> TS_INFO_USER_PRIO_SHIFT) |  | ||||||
|  |  | ||||||
| #define WLC_CAC_SET_TID(pt, id)	((((pt).octets[0]) & (~TS_INFO_TID_MASK)) | \ |  | ||||||
| 	((id) << TS_INFO_TID_SHIFT)) |  | ||||||
| #define WLC_CAC_SET_USER_PRIO(pt, prio)	((((pt).octets[0]) & (~TS_INFO_USER_PRIO_MASK)) | \ |  | ||||||
| 	((prio) << TS_INFO_USER_PRIO_SHIFT)) |  | ||||||
|  |  | ||||||
| /* 802.11e QBSS Load IE */ |  | ||||||
| #define QBSS_LOAD_IE_LEN		5	/* QBSS Load IE length */ |  | ||||||
| #define QBSS_LOAD_AAC_OFF		3	/* AAC offset in IE */ |  | ||||||
|  |  | ||||||
| #define CAC_ADDTS_RESP_TIMEOUT		300	/* default ADDTS response timeout in ms */ |  | ||||||
|  |  | ||||||
| /* 802.11e ADDTS status code */ |  | ||||||
| #define DOT11E_STATUS_ADMISSION_ACCEPTED	0	/* TSPEC Admission accepted status */ |  | ||||||
| #define DOT11E_STATUS_ADDTS_INVALID_PARAM	1	/* TSPEC invalid parameter status */ |  | ||||||
| #define DOT11E_STATUS_ADDTS_REFUSED_NSBW	3	/* ADDTS refused (non-sufficient BW) */ |  | ||||||
|  |  | ||||||
| /* 802.11e DELTS status code */ |  | ||||||
| #define DOT11E_STATUS_QSTA_LEAVE_QBSS		36	/* STA leave QBSS */ |  | ||||||
| #define DOT11E_STATUS_END_TS				37	/* END TS */ |  | ||||||
| #define DOT11E_STATUS_UNKNOWN_TS			38	/* UNKNOWN TS */ |  | ||||||
| #define DOT11E_STATUS_QSTA_REQ_TIMEOUT		39	/* STA ADDTS request timeout */ |  | ||||||
|  |  | ||||||
| #undef PACKED |  | ||||||
| #if !defined(__GNUC__) |  | ||||||
| #pragma pack() |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #endif /* _802_11e_CAC_H_ */ |  | ||||||
| @@ -1,38 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Copyright 2007, Broadcom Corporation |  | ||||||
|  * All Rights Reserved. |  | ||||||
|  *  |  | ||||||
|  * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY |  | ||||||
|  * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM |  | ||||||
|  * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS |  | ||||||
|  * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. |  | ||||||
|  * |  | ||||||
|  * Fundamental types and constants relating to 802.1D |  | ||||||
|  * |  | ||||||
|  * $Id: 802.1d.h,v 1.1.1.2 2007/05/31 08:00:41 michael Exp $ |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _802_1_D_ |  | ||||||
| #define _802_1_D_ |  | ||||||
|  |  | ||||||
| /* 802.1D priority defines */ |  | ||||||
| #define	PRIO_8021D_NONE		2	/* None = - */ |  | ||||||
| #define	PRIO_8021D_BK		1	/* BK - Background */ |  | ||||||
| #define	PRIO_8021D_BE		0	/* BE - Best-effort */ |  | ||||||
| #define	PRIO_8021D_EE		3	/* EE - Excellent-effort */ |  | ||||||
| #define	PRIO_8021D_CL		4	/* CL - Controlled Load */ |  | ||||||
| #define	PRIO_8021D_VI		5	/* Vi - Video */ |  | ||||||
| #define	PRIO_8021D_VO		6	/* Vo - Voice */ |  | ||||||
| #define	PRIO_8021D_NC		7	/* NC - Network Control */ |  | ||||||
| #define	MAXPRIO			7	/* 0-7 */ |  | ||||||
| #define NUMPRIO			(MAXPRIO + 1) |  | ||||||
|  |  | ||||||
| #define ALLPRIO		-1	/* All prioirty */ |  | ||||||
|  |  | ||||||
| /* Converts prio to precedence since the numerical value of |  | ||||||
|  * PRIO_8021D_BE and PRIO_8021D_NONE are swapped. |  | ||||||
|  */ |  | ||||||
| #define PRIO2PREC(prio) \ |  | ||||||
| 	(((prio) == PRIO_8021D_NONE || (prio) == PRIO_8021D_BE) ? ((prio^2)) : (prio)) |  | ||||||
|  |  | ||||||
| #endif /* _802_1_D__ */ |  | ||||||
| @@ -1,20 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Copyright 2007, Broadcom Corporation |  | ||||||
|  * All Rights Reserved.                 |  | ||||||
|  *                                      |  | ||||||
|  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;    |  | ||||||
|  * the contents of this file may not be disclosed to third parties, copied |  | ||||||
|  * or duplicated in any form, in whole or in part, without the prior       |  | ||||||
|  * written permission of Broadcom Corporation.                             |  | ||||||
|  * |  | ||||||
|  * Fundamental constants relating to 802.3 |  | ||||||
|  * |  | ||||||
|  * $Id: 802.3.h,v 1.1.1.1 2007/05/31 08:00:41 michael Exp $ |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _802_3_h_ |  | ||||||
| #define _802_3_h_ |  | ||||||
|  |  | ||||||
| #define SNAP_HDR_LEN	6	/* 802.3 LLC/SNAP header length */ |  | ||||||
|  |  | ||||||
| #endif	/* #ifndef _802_3_h_ */ |  | ||||||
| @@ -1,60 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Copyright 2007, Broadcom Corporation |  | ||||||
|  * All Rights Reserved.                 |  | ||||||
|  *                                      |  | ||||||
|  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;    |  | ||||||
|  * the contents of this file may not be disclosed to third parties, copied |  | ||||||
|  * or duplicated in any form, in whole or in part, without the prior       |  | ||||||
|  * written permission of Broadcom Corporation.                             |  | ||||||
|  * |  | ||||||
|  * Fundamental constants relating to ARP Protocol |  | ||||||
|  * |  | ||||||
|  * $Id: bcmarp.h,v 1.1.1.1 2007/05/31 08:00:41 michael Exp $ |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _bcmarp_h_ |  | ||||||
| #define _bcmarp_h_ |  | ||||||
|  |  | ||||||
| /* enable structure packing */ |  | ||||||
| #if defined(__GNUC__) |  | ||||||
| #define	PACKED	__attribute__((packed)) |  | ||||||
| #else |  | ||||||
| #pragma pack(1) |  | ||||||
| #define	PACKED |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #define ARP_OPC_OFFSET		6		/* option code offset */ |  | ||||||
| #define ARP_SRC_ETH_OFFSET	8		/* src h/w address offset */ |  | ||||||
| #define ARP_SRC_IP_OFFSET	14		/* src IP address offset */ |  | ||||||
| #define ARP_TGT_ETH_OFFSET	18		/* target h/w address offset */ |  | ||||||
| #define ARP_TGT_IP_OFFSET	24		/* target IP address offset */ |  | ||||||
|  |  | ||||||
| #define ARP_OPC_REQUEST		1		/* ARP request */ |  | ||||||
| #define ARP_OPC_REPLY		2		/* ARP reply */ |  | ||||||
|  |  | ||||||
| #define ARP_DATA_LEN		28		/* ARP data length */ |  | ||||||
|  |  | ||||||
| struct bcmarp { |  | ||||||
| 	uint16	htype;				/* Header type (1 = ethernet) */ |  | ||||||
| 	uint16	ptype;				/* Protocol type (0x800 = IP) */ |  | ||||||
| 	uint8	hlen;				/* Hardware address length (Eth = 6) */ |  | ||||||
| 	uint8	plen;				/* Protocol address length (IP = 4) */ |  | ||||||
| 	uint16	oper;				/* ARP_OPC_... */ |  | ||||||
| 	uint8	src_eth[ETHER_ADDR_LEN];	/* Source hardware address */ |  | ||||||
| 	uint8	src_ip[IPV4_ADDR_LEN];		/* Source protocol address (not aligned) */ |  | ||||||
| 	uint8	dst_eth[ETHER_ADDR_LEN];	/* Destination hardware address */ |  | ||||||
| 	uint8	dst_ip[IPV4_ADDR_LEN];		/* Destination protocol address */ |  | ||||||
| } PACKED; |  | ||||||
|  |  | ||||||
| /* Ethernet header + Arp message */ |  | ||||||
| struct bcmetharp { |  | ||||||
| 	struct ether_header	eh; |  | ||||||
| 	struct bcmarp	arp; |  | ||||||
| } PACKED; |  | ||||||
|  |  | ||||||
| #undef PACKED |  | ||||||
| #if !defined(__GNUC__) |  | ||||||
| #pragma pack() |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #endif	/* !defined(_bcmarp_h_) */ |  | ||||||
| @@ -1,36 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Copyright 2007, Broadcom Corporation |  | ||||||
|  * All Rights Reserved.                 |  | ||||||
|  *                                      |  | ||||||
|  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;    |  | ||||||
|  * the contents of this file may not be disclosed to third parties, copied |  | ||||||
|  * or duplicated in any form, in whole or in part, without the prior       |  | ||||||
|  * written permission of Broadcom Corporation.                             |  | ||||||
|  * |  | ||||||
|  * Fundamental constants relating to DHCP Protocol |  | ||||||
|  * |  | ||||||
|  * $Id: bcmdhcp.h,v 1.1.1.1 2007/05/31 08:00:41 michael Exp $ |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _bcmdhcp_h_ |  | ||||||
| #define _bcmdhcp_h_ |  | ||||||
|  |  | ||||||
| /* DHCP params */ |  | ||||||
| #define DHCP_TYPE_OFFSET	0	/* DHCP type (request|reply) offset */ |  | ||||||
| #define DHCP_FLAGS_OFFSET	10	/* DHCP flags offset */ |  | ||||||
| #define DHCP_CIADDR_OFFSET	12	/* DHCP client IP address offset */ |  | ||||||
| #define DHCP_YIADDR_OFFSET	16	/* DHCP your IP address offset */ |  | ||||||
| #define DHCP_GIADDR_OFFSET	24	/* DHCP relay agent IP address offset */ |  | ||||||
| #define DHCP_CHADDR_OFFSET	28	/* DHCP client h/w address offset */ |  | ||||||
|  |  | ||||||
| #define DHCP_TYPE_REQUEST	1	/* DHCP request (discover|request) */ |  | ||||||
| #define DHCP_TYPE_REPLY		2	/* DHCP reply (offset|ack) */ |  | ||||||
|  |  | ||||||
| #define DHCP_PORT_SERVER	67	/* DHCP server UDP port */ |  | ||||||
| #define DHCP_PORT_CLIENT	68	/* DHCP client UDP port */ |  | ||||||
|  |  | ||||||
| #define DHCP_FLAG_BCAST	0x8000	/* DHCP broadcast flag */ |  | ||||||
|  |  | ||||||
| #define DHCP_FLAGS_LEN	2	/* DHCP flags field length */ |  | ||||||
|  |  | ||||||
| #endif	/* #ifndef _bcmdhcp_h_ */ |  | ||||||
| @@ -1,101 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Broadcom Ethernettype  protocol definitions |  | ||||||
|  * |  | ||||||
|  * Copyright 2007, Broadcom Corporation |  | ||||||
|  * All Rights Reserved. |  | ||||||
|  *  |  | ||||||
|  * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY |  | ||||||
|  * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM |  | ||||||
|  * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS |  | ||||||
|  * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. |  | ||||||
|  * |  | ||||||
|  * $Id: bcmeth.h,v 1.1.1.5 2007/05/31 08:00:41 michael Exp $ |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| /* |  | ||||||
|  * Broadcom Ethernet protocol defines |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _BCMETH_H_ |  | ||||||
| #define _BCMETH_H_ |  | ||||||
|  |  | ||||||
| /* enable structure packing */ |  | ||||||
| #if defined(__GNUC__) |  | ||||||
| #define	PACKED	__attribute__((packed)) |  | ||||||
| #else |  | ||||||
| #pragma pack(1) |  | ||||||
| #define	PACKED |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* 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 |  | ||||||
| #define	BCMILCP_SUBTYPE_CSA		3 |  | ||||||
| #define	BCMILCP_SUBTYPE_LARQ		4 |  | ||||||
| #define BCMILCP_SUBTYPE_VENDOR		5 |  | ||||||
| #define	BCMILCP_SUBTYPE_FLH		17 |  | ||||||
|  |  | ||||||
| #define BCMILCP_SUBTYPE_VENDOR_LONG	32769 |  | ||||||
| #define BCMILCP_SUBTYPE_CERT		32770 |  | ||||||
| #define BCMILCP_SUBTYPE_SES		32771 |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #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_SUBTYPEHDR_MINLENGTH	8 |  | ||||||
| #define BCMILCP_BCM_SUBTYPEHDR_VERSION		0 |  | ||||||
|  |  | ||||||
| /* These fields are stored in network order */ |  | ||||||
| typedef  struct bcmeth_hdr |  | ||||||
| { |  | ||||||
| 	uint16	subtype;	/* Vendor specific..32769 */ |  | ||||||
| 	uint16	length; |  | ||||||
| 	uint8	version;	/* Version is 0 */ |  | ||||||
| 	uint8	oui[3];		/* Broadcom OUI */ |  | ||||||
| 	/* user specific Data */ |  | ||||||
| 	uint16	usr_subtype; |  | ||||||
| } PACKED bcmeth_hdr_t; |  | ||||||
|  |  | ||||||
| #undef PACKED |  | ||||||
| #if !defined(__GNUC__) |  | ||||||
| #pragma pack() |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #endif	/*  _BCMETH_H_ */ |  | ||||||
| @@ -1,166 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Broadcom Event  protocol definitions |  | ||||||
|  * |  | ||||||
|  * Copyright 2007, Broadcom Corporation |  | ||||||
|  * All Rights Reserved. |  | ||||||
|  *  |  | ||||||
|  * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY |  | ||||||
|  * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM |  | ||||||
|  * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS |  | ||||||
|  * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. |  | ||||||
|  * |  | ||||||
|  * |  | ||||||
|  * Dependencies: proto/bcmeth.h |  | ||||||
|  * |  | ||||||
|  * $Id: bcmevent.h,v 1.1.1.11 2007/05/31 08:00:41 michael Exp $ |  | ||||||
|  * |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| /* |  | ||||||
|  * Broadcom Ethernet Events protocol defines |  | ||||||
|  * |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _BCMEVENT_H_ |  | ||||||
| #define _BCMEVENT_H_ |  | ||||||
|  |  | ||||||
| /* enable structure packing */ |  | ||||||
| #if defined(__GNUC__) |  | ||||||
| #define	PACKED	__attribute__((packed)) |  | ||||||
| #else |  | ||||||
| #pragma pack(1) |  | ||||||
| #define	PACKED |  | ||||||
| #endif /* defined(__GNUC__) */ |  | ||||||
|  |  | ||||||
| #define BCM_EVENT_MSG_VERSION		1	/* wl_event_msg_t struct version */ |  | ||||||
| #define BCM_MSG_IFNAME_MAX		16	/* max length of interface name */ |  | ||||||
|  |  | ||||||
| /* flags */ |  | ||||||
| #define WLC_EVENT_MSG_LINK		0x01	/* link is up */ |  | ||||||
| #define WLC_EVENT_MSG_FLUSHTXQ		0x02	/* flush tx queue on MIC error */ |  | ||||||
| #define WLC_EVENT_MSG_GROUP		0x04	/* group MIC error */ |  | ||||||
|  |  | ||||||
| /* these fields are stored in network order */ |  | ||||||
| typedef struct |  | ||||||
| { |  | ||||||
| 	uint16	version; |  | ||||||
| 	uint16	flags;			/* see flags below */ |  | ||||||
| 	uint32	event_type;		/* Message (see below) */ |  | ||||||
| 	uint32	status;			/* Status code (see below) */ |  | ||||||
| 	uint32	reason;			/* Reason code (if applicable) */ |  | ||||||
| 	uint32	auth_type;		/* WLC_E_AUTH */ |  | ||||||
| 	uint32	datalen;		/* data buf */ |  | ||||||
| 	struct ether_addr	addr;	/* Station address (if applicable) */ |  | ||||||
| 	char	ifname[BCM_MSG_IFNAME_MAX]; /* name of the packet incoming interface */ |  | ||||||
| } PACKED wl_event_msg_t; |  | ||||||
|  |  | ||||||
| /* used by driver msgs */ |  | ||||||
| typedef struct bcm_event { |  | ||||||
| 	struct ether_header eth; |  | ||||||
| 	bcmeth_hdr_t		bcm_hdr; |  | ||||||
| 	wl_event_msg_t		event; |  | ||||||
| 	/* data portion follows */ |  | ||||||
| } PACKED bcm_event_t; |  | ||||||
|  |  | ||||||
| #define BCM_MSG_LEN	(sizeof(bcm_event_t) - sizeof(bcmeth_hdr_t) - sizeof(struct ether_header)) |  | ||||||
|  |  | ||||||
| /* Event messages */ |  | ||||||
| #define WLC_E_SET_SSID		0	/* indicates status of set SSID */ |  | ||||||
| #define WLC_E_JOIN		1	/* differentiates join IBSS from found (WLC_E_START) IBSS */ |  | ||||||
| #define WLC_E_START		2	/* STA founded an IBSS or AP started a BSS */ |  | ||||||
| #define WLC_E_AUTH		3	/* 802.11 AUTH request */ |  | ||||||
| #define WLC_E_AUTH_IND		4	/* 802.11 AUTH indication */ |  | ||||||
| #define WLC_E_DEAUTH		5	/* 802.11 DEAUTH request */ |  | ||||||
| #define WLC_E_DEAUTH_IND	6	/* 802.11 DEAUTH indication */ |  | ||||||
| #define WLC_E_ASSOC		7	/* 802.11 ASSOC request */ |  | ||||||
| #define WLC_E_ASSOC_IND		8	/* 802.11 ASSOC indication */ |  | ||||||
| #define WLC_E_REASSOC		9	/* 802.11 REASSOC request */ |  | ||||||
| #define WLC_E_REASSOC_IND	10	/* 802.11 REASSOC indication */ |  | ||||||
| #define WLC_E_DISASSOC		11	/* 802.11 DISASSOC request */ |  | ||||||
| #define WLC_E_DISASSOC_IND	12	/* 802.11 DISASSOC indication */ |  | ||||||
| #define WLC_E_QUIET_START	13	/* 802.11h Quiet period started */ |  | ||||||
| #define WLC_E_QUIET_END		14	/* 802.11h Quiet period ended */ |  | ||||||
| #define WLC_E_BEACON_RX		15	/* BEACONS received/lost indication */ |  | ||||||
| #define WLC_E_LINK		16	/* generic link indication */ |  | ||||||
| #define WLC_E_MIC_ERROR		17	/* TKIP MIC error occurred */ |  | ||||||
| #define WLC_E_NDIS_LINK		18	/* NDIS style link indication */ |  | ||||||
| #define WLC_E_ROAM		19	/* roam attempt occurred: indicate status & reason */ |  | ||||||
| #define WLC_E_TXFAIL		20	/* change in dot11FailedCount (txfail) */ |  | ||||||
| #define WLC_E_PMKID_CACHE	21	/* WPA2 pmkid cache indication */ |  | ||||||
| #define WLC_E_RETROGRADE_TSF	22	/* current AP's TSF value went backward */ |  | ||||||
| #define WLC_E_PRUNE		23	/* AP was pruned from join list for reason */ |  | ||||||
| #define WLC_E_AUTOAUTH		24	/* report AutoAuth table entry match for join attempt */ |  | ||||||
| #define WLC_E_EAPOL_MSG		25	/* Event encapsulating an EAPOL message */ |  | ||||||
| #define WLC_E_SCAN_COMPLETE	26	/* Scan results are ready or scan was aborted */ |  | ||||||
| #define WLC_E_ADDTS_IND		27	/* indicate to host addts fail/success */ |  | ||||||
| #define WLC_E_DELTS_IND		28	/* indicate to host delts fail/success */ |  | ||||||
| #define WLC_E_BCNSENT_IND	29	/* indicate to host of beacon transmit */ |  | ||||||
| #define WLC_E_BCNRX_MSG		30	/* Send the received beacon up to the host */ |  | ||||||
| #define WLC_E_BCNLOST_MSG	31	/* indicate to host loss of beacon */ |  | ||||||
| #define WLC_E_ROAM_PREP		32	/* before attempting to roam */ |  | ||||||
| #define WLC_E_PFN_NET_FOUND	33	/* PFN network found event */ |  | ||||||
| #define WLC_E_PFN_NET_LOST	34	/* PFN network lost event */ |  | ||||||
|  |  | ||||||
| #ifdef EXT_STA |  | ||||||
| #define WLC_E_RESET_COMPLETE	35 |  | ||||||
| #define WLC_E_JOIN_START	36 |  | ||||||
| #define WLC_E_ROAM_START	37 |  | ||||||
| #define WLC_E_ASSOC_START	38 |  | ||||||
| #define WLC_E_IBSS_ASSOC	39 |  | ||||||
| #define WLC_E_RADIO		40 |  | ||||||
| #define WLC_E_LAST		41 /* highest val + 1 for range checking */ |  | ||||||
| #else /* EXT_STA */ |  | ||||||
| #define WLC_E_LAST		35	/* highest val + 1 for range checking */ |  | ||||||
| #endif /* EXT_STA */ |  | ||||||
|  |  | ||||||
| /* Event status codes */ |  | ||||||
| #define WLC_E_STATUS_SUCCESS		0	/* operation was successful */ |  | ||||||
| #define WLC_E_STATUS_FAIL		1	/* operation failed */ |  | ||||||
| #define WLC_E_STATUS_TIMEOUT		2	/* operation timed out */ |  | ||||||
| #define WLC_E_STATUS_NO_NETWORKS	3	/* failed due to no matching network found */ |  | ||||||
| #define WLC_E_STATUS_ABORT		4	/* operation was aborted */ |  | ||||||
| #define WLC_E_STATUS_NO_ACK		5	/* protocol failure: packet not ack'd */ |  | ||||||
| #define WLC_E_STATUS_UNSOLICITED	6	/* AUTH or ASSOC packet was unsolicited */ |  | ||||||
| #define WLC_E_STATUS_ATTEMPT		7	/* attempt to assoc to an auto auth configuration */ |  | ||||||
| #define WLC_E_STATUS_PARTIAL		8	/* scan results are incomplete */ |  | ||||||
| #define WLC_E_STATUS_NEWSCAN	9	/* scan aborted by another scan */ |  | ||||||
| #define WLC_E_STATUS_NEWASSOC	10	/* scan aborted due to assoc in progress */ |  | ||||||
| #define WLC_E_STATUS_11HQUIET	11	/* 802.11h quiet period started */ |  | ||||||
| #define WLC_E_STATUS_SUPPRESS	12	/* user disabled scanning (WLC_SET_SCANSUPPRESS) */ |  | ||||||
| #define WLC_E_STATUS_NOCHANS	13	/* no allowable channels to scan */ |  | ||||||
| #define WLC_E_STATUS_CCXFASTRM	14	/* scan aborted due to CCX fast roam */ |  | ||||||
|  |  | ||||||
| /* roam reason codes */ |  | ||||||
| #define WLC_E_REASON_INITIAL_ASSOC	0	/* initial assoc */ |  | ||||||
| #define WLC_E_REASON_LOW_RSSI		1	/* roamed due to low RSSI */ |  | ||||||
| #define WLC_E_REASON_DEAUTH		2	/* roamed due to DEAUTH indication */ |  | ||||||
| #define WLC_E_REASON_DISASSOC		3	/* roamed due to DISASSOC indication */ |  | ||||||
| #define WLC_E_REASON_BCNS_LOST		4	/* roamed due to lost beacons */ |  | ||||||
| #define WLC_E_REASON_FAST_ROAM_FAILED	5	/* roamed due to fast roam failure */ |  | ||||||
| #define WLC_E_REASON_DIRECTED_ROAM	6	/* roamed due to request by AP */ |  | ||||||
| #define WLC_E_REASON_TSPEC_REJECTED	7	/* roamed due to TSPEC rejection */ |  | ||||||
| #define WLC_E_REASON_BETTER_AP		8	/* roamed due to finding better AP */ |  | ||||||
|  |  | ||||||
| /* prune reason codes */ |  | ||||||
| #define WLC_E_PRUNE_ENCR_MISMATCH	1	/* encryption mismatch */ |  | ||||||
| #define WLC_E_PRUNE_BCAST_BSSID		2	/* AP uses a broadcast BSSID */ |  | ||||||
| #define WLC_E_PRUNE_MAC_DENY		3	/* STA's MAC addr is in AP's MAC deny list */ |  | ||||||
| #define WLC_E_PRUNE_MAC_NA		4	/* STA's MAC addr is not in AP's MAC allow list */ |  | ||||||
| #define WLC_E_PRUNE_REG_PASSV		5	/* AP not allowed due to regulatory restriction */ |  | ||||||
| #define WLC_E_PRUNE_SPCT_MGMT		6	/* AP does not support STA locale spectrum mgmt */ |  | ||||||
| #define WLC_E_PRUNE_RADAR		7	/* AP is on a radar channel of STA locale */ |  | ||||||
| #define WLC_E_RSN_MISMATCH		8	/* STA does not support AP's RSN */ |  | ||||||
| #define WLC_E_PRUNE_NO_COMMON_RATES	9	/* No rates in common with AP */ |  | ||||||
| #define WLC_E_PRUNE_BASIC_RATES		10	/* STA does not support all basic rates of BSS */ |  | ||||||
| #define WLC_E_PRUNE_CIPHER_NA		12	/* BSS's cipher not supported */ |  | ||||||
| #define WLC_E_PRUNE_KNOWN_STA		13	/* AP is already known to us as a STA */ |  | ||||||
| #define WLC_E_PRUNE_WDS_PEER		15	/* AP is already known to us as a WDS peer */ |  | ||||||
| #define WLC_E_PRUNE_QBSS_LOAD		16	/* QBSS LOAD - AAC is too low */ |  | ||||||
| #define WLC_E_PRUNE_HOME_AP		17	/* prune home AP */ |  | ||||||
|  |  | ||||||
| #undef PACKED |  | ||||||
| #if !defined(__GNUC__) |  | ||||||
| #pragma pack() |  | ||||||
| #endif /* PACKED */ |  | ||||||
|  |  | ||||||
| #endif /* _BCMEVENT_H_ */ |  | ||||||
| @@ -1,48 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Copyright 2007, Broadcom Corporation |  | ||||||
|  * All Rights Reserved.                 |  | ||||||
|  *                                      |  | ||||||
|  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;    |  | ||||||
|  * the contents of this file may not be disclosed to third parties, copied |  | ||||||
|  * or duplicated in any form, in whole or in part, without the prior       |  | ||||||
|  * written permission of Broadcom Corporation.                             |  | ||||||
|  * |  | ||||||
|  * Fundamental constants relating to UDP Protocol |  | ||||||
|  * |  | ||||||
|  * $Id: bcmudp.h,v 1.1.1.1 2007/05/31 08:00:41 michael Exp $ |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _bcmudp_h_ |  | ||||||
| #define _bcmudp_h_ |  | ||||||
|  |  | ||||||
| /* enable structure packing */ |  | ||||||
| #if defined(__GNUC__) |  | ||||||
| #define	PACKED	__attribute__((packed)) |  | ||||||
| #else |  | ||||||
| #pragma pack(1) |  | ||||||
| #define	PACKED |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* UDP header */ |  | ||||||
| #define UDP_DEST_PORT_OFFSET	2	/* UDP dest port offset */ |  | ||||||
| #define UDP_LEN_OFFSET		4	/* UDP length offset */ |  | ||||||
| #define UDP_CHKSUM_OFFSET	6	/* UDP body checksum offset */ |  | ||||||
|  |  | ||||||
| #define UDP_HDR_LEN	8	/* UDP header length */ |  | ||||||
| #define UDP_PORT_LEN	2	/* UDP port length */ |  | ||||||
|  |  | ||||||
| /* These fields are stored in network order */ |  | ||||||
| struct bcmudp_hdr |  | ||||||
| { |  | ||||||
| 	uint16	src_port;	/* Source Port Address */ |  | ||||||
| 	uint16	dst_port;	/* Destination Port Address */ |  | ||||||
| 	uint16	len;		/* Number of bytes in datagram including header */ |  | ||||||
| 	uint16	chksum;		/* entire datagram checksum with pseudoheader */ |  | ||||||
| } PACKED; |  | ||||||
|  |  | ||||||
| #undef PACKED |  | ||||||
| #if !defined(__GNUC__) |  | ||||||
| #pragma pack() |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #endif	/* #ifndef _bcmudp_h_ */ |  | ||||||
| @@ -1,45 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Extensible Authentication Protocol (EAP) definitions |  | ||||||
|  * |  | ||||||
|  * See |  | ||||||
|  * RFC 2284: PPP Extensible Authentication Protocol (EAP) |  | ||||||
|  * |  | ||||||
|  * Copyright (C) 2002 Broadcom Corporation |  | ||||||
|  * |  | ||||||
|  * $Id: eap.h,v 1.2 2007/04/17 08:52:47 yogo Exp $ |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _eap_h_														 |  | ||||||
| #define _eap_h_ |  | ||||||
|  |  | ||||||
| /* EAP packet format */ |  | ||||||
| typedef struct { |  | ||||||
| 	unsigned char code;	/* EAP code */ |  | ||||||
| 	unsigned char id;	/* Current request ID */ |  | ||||||
| 	unsigned short length;	/* Length including header */ |  | ||||||
| 	unsigned char type;	/* EAP type (optional) */ |  | ||||||
| 	unsigned char data[1];	/* Type data (optional) */ |  | ||||||
| } eap_header_t; |  | ||||||
|  |  | ||||||
| #define EAP_HEADER_LEN 4 |  | ||||||
|  |  | ||||||
| /* EAP codes */ |  | ||||||
| #define EAP_REQUEST	1 |  | ||||||
| #define EAP_RESPONSE	2 |  | ||||||
| #define EAP_SUCCESS	3 |  | ||||||
| #define EAP_FAILURE	4 |  | ||||||
|  |  | ||||||
| /* EAP types */ |  | ||||||
| #define EAP_IDENTITY		1 |  | ||||||
| #define EAP_NOTIFICATION	2 |  | ||||||
| #define EAP_NAK			3 |  | ||||||
| #define EAP_MD5			4 |  | ||||||
| #define EAP_OTP			5 |  | ||||||
| #define EAP_GTC			6 |  | ||||||
| #define EAP_TLS			13 |  | ||||||
| #define EAP_EXPANDED		254 |  | ||||||
| #define BCM_EAP_SES		10 |  | ||||||
| #define BCM_EAP_EXP_LEN		12  /* EAP_LEN 5 + 3 bytes for SMI ID + 4 bytes for ven type */ |  | ||||||
| #define BCM_SMI_ID		0x113d |  | ||||||
|  |  | ||||||
| #endif /* _eap_h_ */ |  | ||||||
| @@ -1,179 +0,0 @@ | |||||||
| /* |  | ||||||
|  * 802.1x EAPOL definitions |  | ||||||
|  * |  | ||||||
|  * See |  | ||||||
|  * IEEE Std 802.1X-2001 |  | ||||||
|  * IEEE 802.1X RADIUS Usage Guidelines |  | ||||||
|  * |  | ||||||
|  * Copyright (C) 2002 Broadcom Corporation |  | ||||||
|  * |  | ||||||
|  * eapol.h,v 9.17 2004/12/13 22:36:09 davidm Exp |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _eapol_h_ |  | ||||||
| #define _eapol_h_ |  | ||||||
|  |  | ||||||
| /* enable structure packing */ |  | ||||||
| #if defined(__GNUC__) |  | ||||||
| #define	PACKED	__attribute__((packed)) |  | ||||||
| #else |  | ||||||
| #pragma pack(1) |  | ||||||
| #define	PACKED |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #include <bcmcrypto/aeskeywrap.h> |  | ||||||
|  |  | ||||||
| /* EAPOL for 802.3/Ethernet */ |  | ||||||
| typedef struct { |  | ||||||
| 	struct ether_header eth;	/* 802.3/Ethernet header */ |  | ||||||
| 	unsigned char version;		/* EAPOL protocol version */ |  | ||||||
| 	unsigned char type;		/* EAPOL type */ |  | ||||||
| 	unsigned short length;		/* Length of body */ |  | ||||||
| 	unsigned char body[1];		/* Body (optional) */ |  | ||||||
| } eapol_header_t; |  | ||||||
|  |  | ||||||
| #define EAPOL_HEADER_LEN 18 |  | ||||||
|  |  | ||||||
| /* EAPOL version */ |  | ||||||
| #define WPA2_EAPOL_VERSION	2 |  | ||||||
| #define WPA_EAPOL_VERSION	1 |  | ||||||
| #define LEAP_EAPOL_VERSION	1 |  | ||||||
| #define SES_EAPOL_VERSION	1 |  | ||||||
|  |  | ||||||
| /* EAPOL types */ |  | ||||||
| #define EAP_PACKET		0 |  | ||||||
| #define EAPOL_START		1 |  | ||||||
| #define EAPOL_LOGOFF		2 |  | ||||||
| #define EAPOL_KEY		3 |  | ||||||
| #define EAPOL_ASF		4 |  | ||||||
|  |  | ||||||
| /* EAPOL-Key types */ |  | ||||||
| #define EAPOL_RC4_KEY		1 |  | ||||||
| #ifdef BCMWPA2 |  | ||||||
| #define EAPOL_WPA2_KEY		2	/* 802.11i/WPA2 */ |  | ||||||
| #endif |  | ||||||
| #define EAPOL_WPA_KEY		254	/* WPA */ |  | ||||||
|  |  | ||||||
| /* RC4 EAPOL-Key header field sizes */ |  | ||||||
| #define EAPOL_KEY_REPLAY_LEN	8 |  | ||||||
| #define EAPOL_KEY_IV_LEN	16 |  | ||||||
| #define EAPOL_KEY_SIG_LEN	16 |  | ||||||
|  |  | ||||||
| /* RC4 EAPOL-Key */ |  | ||||||
| typedef struct { |  | ||||||
| 	unsigned char type;			/* Key Descriptor Type */ |  | ||||||
| 	unsigned short length;			/* Key Length (unaligned) */ |  | ||||||
| 	unsigned char replay[EAPOL_KEY_REPLAY_LEN];	/* Replay Counter */ |  | ||||||
| 	unsigned char iv[EAPOL_KEY_IV_LEN];		/* Key IV */ |  | ||||||
| 	unsigned char index;				/* Key Flags & Index */ |  | ||||||
| 	unsigned char signature[EAPOL_KEY_SIG_LEN];	/* Key Signature */ |  | ||||||
| 	unsigned char key[1];				/* Key (optional) */ |  | ||||||
| } PACKED eapol_key_header_t; |  | ||||||
|  |  | ||||||
| #define EAPOL_KEY_HEADER_LEN 	44 |  | ||||||
|  |  | ||||||
| /* RC4 EAPOL-Key flags */ |  | ||||||
| #define EAPOL_KEY_FLAGS_MASK	0x80 |  | ||||||
| #define EAPOL_KEY_BROADCAST	0 |  | ||||||
| #define EAPOL_KEY_UNICAST	0x80 |  | ||||||
|  |  | ||||||
| /* RC4 EAPOL-Key index */ |  | ||||||
| #define EAPOL_KEY_INDEX_MASK	0x7f |  | ||||||
|  |  | ||||||
| /* WPA/802.11i/WPA2 EAPOL-Key header field sizes */ |  | ||||||
| #define EAPOL_WPA_KEY_REPLAY_LEN	8 |  | ||||||
| #define EAPOL_WPA_KEY_NONCE_LEN		32 |  | ||||||
| #define EAPOL_WPA_KEY_IV_LEN		16 |  | ||||||
| #define EAPOL_WPA_KEY_RSC_LEN		8 |  | ||||||
| #define EAPOL_WPA_KEY_ID_LEN		8 |  | ||||||
| #define EAPOL_WPA_KEY_MIC_LEN		16 |  | ||||||
| #define EAPOL_WPA_KEY_DATA_LEN		(EAPOL_WPA_MAX_KEY_SIZE + AKW_BLOCK_LEN) |  | ||||||
| #define EAPOL_WPA_MAX_KEY_SIZE		32 |  | ||||||
|  |  | ||||||
| /* WPA EAPOL-Key */ |  | ||||||
| typedef struct { |  | ||||||
| 	unsigned char type;		/* Key Descriptor Type */ |  | ||||||
| 	unsigned short key_info;	/* Key Information (unaligned) */ |  | ||||||
| 	unsigned short key_len;		/* Key Length (unaligned) */ |  | ||||||
| 	unsigned char replay[EAPOL_WPA_KEY_REPLAY_LEN];	/* Replay Counter */ |  | ||||||
| 	unsigned char nonce[EAPOL_WPA_KEY_NONCE_LEN];	/* Nonce */ |  | ||||||
| 	unsigned char iv[EAPOL_WPA_KEY_IV_LEN];		/* Key IV */ |  | ||||||
| 	unsigned char rsc[EAPOL_WPA_KEY_RSC_LEN];	/* Key RSC */ |  | ||||||
| 	unsigned char id[EAPOL_WPA_KEY_ID_LEN];		/* WPA:Key ID, 802.11i/WPA2: Reserved */ |  | ||||||
| 	unsigned char mic[EAPOL_WPA_KEY_MIC_LEN];	/* Key MIC */ |  | ||||||
| 	unsigned short data_len;			/* Key Data Length */ |  | ||||||
| 	unsigned char data[EAPOL_WPA_KEY_DATA_LEN];	/* Key data */ |  | ||||||
| } PACKED eapol_wpa_key_header_t; |  | ||||||
|  |  | ||||||
| #define EAPOL_WPA_KEY_LEN 		95 |  | ||||||
|  |  | ||||||
| /* WPA/802.11i/WPA2 KEY KEY_INFO bits */ |  | ||||||
| #define WPA_KEY_DESC_V1		0x01 |  | ||||||
| #define WPA_KEY_DESC_V2		0x02 |  | ||||||
| #define WPA_KEY_PAIRWISE	0x08 |  | ||||||
| #define WPA_KEY_INSTALL		0x40 |  | ||||||
| #define WPA_KEY_ACK		0x80 |  | ||||||
| #define WPA_KEY_MIC		0x100 |  | ||||||
| #define WPA_KEY_SECURE		0x200 |  | ||||||
| #define WPA_KEY_ERROR		0x400 |  | ||||||
| #define WPA_KEY_REQ		0x800 |  | ||||||
|  |  | ||||||
| /* WPA-only KEY KEY_INFO bits */ |  | ||||||
| #define WPA_KEY_INDEX_0		0x00		 |  | ||||||
| #define WPA_KEY_INDEX_1		0x10 |  | ||||||
| #define WPA_KEY_INDEX_2		0x20 |  | ||||||
| #define WPA_KEY_INDEX_3		0x30 |  | ||||||
| #define WPA_KEY_INDEX_MASK	0x30 |  | ||||||
| #define WPA_KEY_INDEX_SHIFT	0x04 |  | ||||||
|  |  | ||||||
| #ifdef BCMWPA2 |  | ||||||
| /* 802.11i/WPA2-only KEY KEY_INFO bits */ |  | ||||||
| #define WPA_KEY_ENCRYPTED_DATA	0x1000 |  | ||||||
|  |  | ||||||
| /* Key Data encapsulation */ |  | ||||||
| typedef struct { |  | ||||||
| 	uint8 type; |  | ||||||
| 	uint8 length; |  | ||||||
| 	uint8 oui[3]; |  | ||||||
| 	uint8 subtype; |  | ||||||
| 	uint8 data[1]; |  | ||||||
| } PACKED eapol_wpa2_encap_data_t; |  | ||||||
|  |  | ||||||
| #define EAPOL_WPA2_ENCAP_DATA_HDR_LEN 	6 |  | ||||||
|  |  | ||||||
| #define WPA2_KEY_DATA_SUBTYPE_GTK	1	 |  | ||||||
| #define WPA2_KEY_DATA_SUBTYPE_STAKEY	2	 |  | ||||||
| #define WPA2_KEY_DATA_SUBTYPE_MAC	3	 |  | ||||||
| #define WPA2_KEY_DATA_SUBTYPE_PMKID	4	 |  | ||||||
|  |  | ||||||
| /* GTK encapsulation */ |  | ||||||
| typedef struct { |  | ||||||
| 	uint8	flags; |  | ||||||
| 	uint8	reserved; |  | ||||||
| 	uint8	gtk[EAPOL_WPA_MAX_KEY_SIZE]; |  | ||||||
| } PACKED eapol_wpa2_key_gtk_encap_t; |  | ||||||
|  |  | ||||||
| #define EAPOL_WPA2_KEY_GTK_ENCAP_HDR_LEN 	2 |  | ||||||
|  |  | ||||||
| #define WPA2_GTK_INDEX_MASK	0x03 |  | ||||||
| #define WPA2_GTK_INDEX_SHIFT	0x00 |  | ||||||
|  |  | ||||||
| #define WPA2_GTK_TRANSMIT	0x04 |  | ||||||
|  |  | ||||||
| /* STAKey encapsulation */ |  | ||||||
| typedef struct { |  | ||||||
| 	uint8	reserved[2]; |  | ||||||
| 	uint8	mac[ETHER_ADDR_LEN]; |  | ||||||
| 	uint8	stakey[EAPOL_WPA_MAX_KEY_SIZE]; |  | ||||||
| } PACKED eapol_wpa2_key_stakey_encap_t; |  | ||||||
|  |  | ||||||
| #define WPA2_KEY_DATA_PAD	0xdd |  | ||||||
|  |  | ||||||
| #endif /* BCMWPA2 */ |  | ||||||
|  |  | ||||||
| #undef PACKED |  | ||||||
| #if !defined(__GNUC__) |  | ||||||
| #pragma pack() |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #endif /* _eapol_h_ */ |  | ||||||
| @@ -1,158 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Fundamental types and constants relating to WPA |  | ||||||
|  * |  | ||||||
|  * Copyright 2007, Broadcom Corporation |  | ||||||
|  * All Rights Reserved. |  | ||||||
|  *  |  | ||||||
|  * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY |  | ||||||
|  * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM |  | ||||||
|  * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS |  | ||||||
|  * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. |  | ||||||
|  * |  | ||||||
|  * $Id: wpa.h,v 1.1.1.6 2007/05/31 08:00:41 michael Exp $ |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #ifndef _proto_wpa_h_ |  | ||||||
| #define _proto_wpa_h_ |  | ||||||
|  |  | ||||||
| #include <typedefs.h> |  | ||||||
| #include <proto/ethernet.h> |  | ||||||
|  |  | ||||||
| /* enable structure packing */ |  | ||||||
| #if defined(__GNUC__) |  | ||||||
| #define	PACKED	__attribute__((packed)) |  | ||||||
| #else |  | ||||||
| #pragma pack(1) |  | ||||||
| #define	PACKED |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* Reason Codes */ |  | ||||||
|  |  | ||||||
| /* 13 through 23 taken from IEEE Std 802.11i-2004 */ |  | ||||||
| #define DOT11_RC_INVALID_WPA_IE		13	/* Invalid info. element */ |  | ||||||
| #define DOT11_RC_MIC_FAILURE		14	/* Michael failure */ |  | ||||||
| #define DOT11_RC_4WH_TIMEOUT		15	/* 4-way handshake timeout */ |  | ||||||
| #define DOT11_RC_GTK_UPDATE_TIMEOUT	16	/* Group key update timeout */ |  | ||||||
| #define DOT11_RC_WPA_IE_MISMATCH	17	/* WPA IE in 4-way handshake differs from |  | ||||||
| 						 * (re-)assoc. request/probe response |  | ||||||
| 						 */ |  | ||||||
| #define DOT11_RC_INVALID_MC_CIPHER	18	/* Invalid multicast cipher */ |  | ||||||
| #define DOT11_RC_INVALID_UC_CIPHER	19	/* Invalid unicast cipher */ |  | ||||||
| #define DOT11_RC_INVALID_AKMP		20	/* Invalid authenticated key management protocol */ |  | ||||||
| #define DOT11_RC_BAD_WPA_VERSION	21	/* Unsupported WPA version */ |  | ||||||
| #define DOT11_RC_INVALID_WPA_CAP	22	/* Invalid WPA IE capabilities */ |  | ||||||
| #define DOT11_RC_8021X_AUTH_FAIL	23	/* 802.1X authentication failure */ |  | ||||||
|  |  | ||||||
| #define WPA2_PMKID_LEN	16 |  | ||||||
|  |  | ||||||
| /* WPA IE fixed portion */ |  | ||||||
| typedef struct |  | ||||||
| { |  | ||||||
| 	uint8 tag;	/* TAG */ |  | ||||||
| 	uint8 length;	/* TAG length */ |  | ||||||
| 	uint8 oui[3];	/* IE OUI */ |  | ||||||
| 	uint8 oui_type;	/* OUI type */ |  | ||||||
| 	struct { |  | ||||||
| 		uint8 low; |  | ||||||
| 		uint8 high; |  | ||||||
| 	} PACKED version;	/* IE version */ |  | ||||||
| } PACKED wpa_ie_fixed_t; |  | ||||||
| #define WPA_IE_OUITYPE_LEN	4 |  | ||||||
| #define WPA_IE_FIXED_LEN	8 |  | ||||||
| #define WPA_IE_TAG_FIXED_LEN	6 |  | ||||||
|  |  | ||||||
| #ifdef BCMWPA2 |  | ||||||
| typedef struct { |  | ||||||
| 	uint8 tag;	/* TAG */ |  | ||||||
| 	uint8 length;	/* TAG length */ |  | ||||||
| 	struct { |  | ||||||
| 		uint8 low; |  | ||||||
| 		uint8 high; |  | ||||||
| 	} PACKED version;	/* IE version */ |  | ||||||
| } PACKED wpa_rsn_ie_fixed_t; |  | ||||||
| #define WPA_RSN_IE_FIXED_LEN	4 |  | ||||||
| #define WPA_RSN_IE_TAG_FIXED_LEN	2 |  | ||||||
| typedef uint8 wpa_pmkid_t[WPA2_PMKID_LEN]; |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* WPA suite/multicast suite */ |  | ||||||
| typedef struct |  | ||||||
| { |  | ||||||
| 	uint8 oui[3]; |  | ||||||
| 	uint8 type; |  | ||||||
| } PACKED wpa_suite_t, wpa_suite_mcast_t; |  | ||||||
| #define WPA_SUITE_LEN	4 |  | ||||||
|  |  | ||||||
| /* WPA unicast suite list/key management suite list */ |  | ||||||
| typedef struct |  | ||||||
| { |  | ||||||
| 	struct { |  | ||||||
| 		uint8 low; |  | ||||||
| 		uint8 high; |  | ||||||
| 	} PACKED count; |  | ||||||
| 	wpa_suite_t list[1]; |  | ||||||
| } PACKED wpa_suite_ucast_t, wpa_suite_auth_key_mgmt_t; |  | ||||||
| #define WPA_IE_SUITE_COUNT_LEN	2 |  | ||||||
| #ifdef BCMWPA2 |  | ||||||
| typedef struct |  | ||||||
| { |  | ||||||
| 	struct { |  | ||||||
| 		uint8 low; |  | ||||||
| 		uint8 high; |  | ||||||
| 	} PACKED count; |  | ||||||
| 	wpa_pmkid_t list[1]; |  | ||||||
| } PACKED wpa_pmkid_list_t; |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* WPA cipher suites */ |  | ||||||
| #define WPA_CIPHER_NONE		0	/* None */ |  | ||||||
| #define WPA_CIPHER_WEP_40	1	/* WEP (40-bit) */ |  | ||||||
| #define WPA_CIPHER_TKIP		2	/* TKIP: default for WPA */ |  | ||||||
| #define WPA_CIPHER_AES_OCB	3	/* AES (OCB) */ |  | ||||||
| #define WPA_CIPHER_AES_CCM	4	/* AES (CCM) */ |  | ||||||
| #define WPA_CIPHER_WEP_104	5	/* WEP (104-bit) */ |  | ||||||
|  |  | ||||||
| #define IS_WPA_CIPHER(cipher)	((cipher) == WPA_CIPHER_NONE || \ |  | ||||||
| 				 (cipher) == WPA_CIPHER_WEP_40 || \ |  | ||||||
| 				 (cipher) == WPA_CIPHER_WEP_104 || \ |  | ||||||
| 				 (cipher) == WPA_CIPHER_TKIP || \ |  | ||||||
| 				 (cipher) == WPA_CIPHER_AES_OCB || \ |  | ||||||
| 				 (cipher) == WPA_CIPHER_AES_CCM) |  | ||||||
|  |  | ||||||
| /* WPA TKIP countermeasures parameters */ |  | ||||||
| #define WPA_TKIP_CM_DETECT	60	/* multiple MIC failure window (seconds) */ |  | ||||||
| #define WPA_TKIP_CM_BLOCK	60	/* countermeasures active window (seconds) */ |  | ||||||
|  |  | ||||||
| /* RSN IE defines */ |  | ||||||
| #define RSN_CAP_LEN		2	/* Length of RSN capabilities field (2 octets) */ |  | ||||||
|  |  | ||||||
| /* RSN Capabilities defined in 802.11i */ |  | ||||||
| #define RSN_CAP_PREAUTH			0x0001 |  | ||||||
| #define RSN_CAP_NOPAIRWISE		0x0002 |  | ||||||
| #define RSN_CAP_PTK_REPLAY_CNTR_MASK	0x000C |  | ||||||
| #define RSN_CAP_PTK_REPLAY_CNTR_SHIFT	2 |  | ||||||
| #define RSN_CAP_GTK_REPLAY_CNTR_MASK	0x0030 |  | ||||||
| #define RSN_CAP_GTK_REPLAY_CNTR_SHIFT	4 |  | ||||||
| #define RSN_CAP_1_REPLAY_CNTR		0 |  | ||||||
| #define RSN_CAP_2_REPLAY_CNTRS		1 |  | ||||||
| #define RSN_CAP_4_REPLAY_CNTRS		2 |  | ||||||
| #define RSN_CAP_16_REPLAY_CNTRS		3 |  | ||||||
|  |  | ||||||
| /* WPA capabilities defined in 802.11i */ |  | ||||||
| #define WPA_CAP_4_REPLAY_CNTRS		RSN_CAP_4_REPLAY_CNTRS |  | ||||||
| #define WPA_CAP_16_REPLAY_CNTRS		RSN_CAP_16_REPLAY_CNTRS |  | ||||||
| #define WPA_CAP_REPLAY_CNTR_SHIFT	RSN_CAP_PTK_REPLAY_CNTR_SHIFT |  | ||||||
| #define WPA_CAP_REPLAY_CNTR_MASK	RSN_CAP_PTK_REPLAY_CNTR_MASK |  | ||||||
|  |  | ||||||
| /* WPA Specific defines */ |  | ||||||
| #define WPA_CAP_LEN	RSN_CAP_LEN	/* Length of RSN capabilities in RSN IE (2 octets) */ |  | ||||||
|  |  | ||||||
| #define	WPA_CAP_WPA2_PREAUTH		RSN_CAP_PREAUTH |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #undef PACKED |  | ||||||
| #if !defined(__GNUC__) |  | ||||||
| #pragma pack() |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #endif /* _proto_wpa_h_ */ |  | ||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau