remove some unused crap
SVN-Revision: 11472
This commit is contained in:
parent
ddd809f9e5
commit
f2e997ac38
12 changed files with 0 additions and 2361 deletions
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_ */
|
|
Loading…
Reference in a new issue