diff options
Diffstat (limited to 'drivers/net/wireless/bcmdhd/include/proto/eapol.h')
-rw-r--r-- | drivers/net/wireless/bcmdhd/include/proto/eapol.h | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/drivers/net/wireless/bcmdhd/include/proto/eapol.h b/drivers/net/wireless/bcmdhd/include/proto/eapol.h index 92634c1221a..8936d1641a3 100644 --- a/drivers/net/wireless/bcmdhd/include/proto/eapol.h +++ b/drivers/net/wireless/bcmdhd/include/proto/eapol.h @@ -7,7 +7,7 @@ * * Copyright (C) 2002 Broadcom Corporation * - * $Id: eapol.h 277737 2011-08-16 17:54:59Z $ + * $Id: eapol.h 241182 2011-02-17 21:50:03Z $ */ #ifndef _eapol_h_ @@ -23,16 +23,24 @@ #include <bcmcrypto/aeskeywrap.h> /* EAPOL for 802.3/Ethernet */ -typedef struct { +typedef BWL_PRE_PACKED_STRUCT 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; +} BWL_POST_PACKED_STRUCT eapol_header_t; #define EAPOL_HEADER_LEN 18 +typedef struct { + unsigned char version; /* EAPOL protocol version */ + unsigned char type; /* EAPOL type */ + unsigned short length; /* Length of body */ +} eapol_hdr_t; + +#define EAPOL_HDR_LEN 4 + /* EAPOL version */ #define WPA2_EAPOL_VERSION 2 #define WPA_EAPOL_VERSION 1 @@ -116,6 +124,8 @@ typedef BWL_PRE_PACKED_STRUCT struct { #define WPA_KEY_ERROR 0x400 #define WPA_KEY_REQ 0x800 +#define WPA_KEY_DESC_V2_OR_V3 WPA_KEY_DESC_V2 + /* WPA-only KEY KEY_INFO bits */ #define WPA_KEY_INDEX_0 0x00 #define WPA_KEY_INDEX_1 0x10 @@ -142,6 +152,7 @@ typedef BWL_PRE_PACKED_STRUCT struct { #define WPA2_KEY_DATA_SUBTYPE_STAKEY 2 #define WPA2_KEY_DATA_SUBTYPE_MAC 3 #define WPA2_KEY_DATA_SUBTYPE_PMKID 4 +#define WPA2_KEY_DATA_SUBTYPE_IGTK 9 /* GTK encapsulation */ typedef BWL_PRE_PACKED_STRUCT struct { @@ -157,6 +168,15 @@ typedef BWL_PRE_PACKED_STRUCT struct { #define WPA2_GTK_TRANSMIT 0x04 +/* IGTK encapsulation */ +typedef BWL_PRE_PACKED_STRUCT struct { + uint16 key_id; + uint8 ipn[6]; + uint8 key[EAPOL_WPA_MAX_KEY_SIZE]; +} BWL_POST_PACKED_STRUCT eapol_wpa2_key_igtk_encap_t; + +#define EAPOL_WPA2_KEY_IGTK_ENCAP_HDR_LEN 8 + /* STAKey encapsulation */ typedef BWL_PRE_PACKED_STRUCT struct { uint8 reserved[2]; |