source: G950FXXS5DSI1
[GitHub/exynos8895/android_kernel_samsung_universal8895.git] / drivers / net / wireless / bcmdhd4361 / include / eapol.h
index 6227dbe02c7f0d91e73b41d6af352c7d26849044..903cf3dba7871e6e5b2045a59d7b0eafdf07faf8 100755 (executable)
@@ -28,7 +28,7 @@
  *
  * <<Broadcom-WL-IPTag/Open:>>
  *
- * $Id: eapol.h 758863 2018-04-21 00:29:12Z $
+ * $Id: eapol.h 767212 2018-06-13 00:17:23Z $
  */
 
 #ifndef _eapol_h_
@@ -62,30 +62,30 @@ typedef struct {
        unsigned short length;          /* Length of body */
 } eapol_hdr_t;
 
-#define EAPOL_HDR_LEN 4
+#define EAPOL_HDR_LEN 4u
 
 /* EAPOL version */
-#define WPA2_EAPOL_VERSION     2
-#define WPA_EAPOL_VERSION      1
-#define LEAP_EAPOL_VERSION     1
-#define SES_EAPOL_VERSION      1
+#define WPA2_EAPOL_VERSION     2u
+#define WPA_EAPOL_VERSION      1u
+#define LEAP_EAPOL_VERSION     1u
+#define SES_EAPOL_VERSION      1u
 
 /* EAPOL types */
 #define EAP_PACKET             0
-#define EAPOL_START            1
-#define EAPOL_LOGOFF           2
-#define EAPOL_KEY              3
-#define EAPOL_ASF              4
+#define EAPOL_START            1u
+#define EAPOL_LOGOFF           2u
+#define EAPOL_KEY              3u
+#define EAPOL_ASF              4u
 
 /* EAPOL-Key types */
-#define EAPOL_RC4_KEY          1
-#define EAPOL_WPA2_KEY         2       /* 802.11i/WPA2 */
-#define EAPOL_WPA_KEY          254     /* WPA */
+#define EAPOL_RC4_KEY          1u
+#define EAPOL_WPA2_KEY         2u      /* 802.11i/WPA2 */
+#define EAPOL_WPA_KEY          254u    /* 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
+#define EAPOL_KEY_REPLAY_LEN   8u
+#define EAPOL_KEY_IV_LEN       16u
+#define EAPOL_KEY_SIG_LEN      16u
 
 /* RC4 EAPOL-Key */
 typedef BWL_PRE_PACKED_STRUCT struct {
@@ -98,27 +98,42 @@ typedef BWL_PRE_PACKED_STRUCT struct {
        unsigned char key[1];                           /* Key (optional) */
 } BWL_POST_PACKED_STRUCT eapol_key_header_t;
 
-#define EAPOL_KEY_HEADER_LEN   44
+#define EAPOL_KEY_HEADER_LEN   44u
 
 /* RC4 EAPOL-Key flags */
-#define EAPOL_KEY_FLAGS_MASK   0x80
-#define EAPOL_KEY_BROADCAST    0
-#define EAPOL_KEY_UNICAST      0x80
+#define EAPOL_KEY_FLAGS_MASK   0x80u
+#define EAPOL_KEY_BROADCAST    0u
+#define EAPOL_KEY_UNICAST      0x80u
 
 /* RC4 EAPOL-Key index */
-#define EAPOL_KEY_INDEX_MASK   0x7f
+#define EAPOL_KEY_INDEX_MASK   0x7fu
 
 /* WPA/802.11i/WPA2 EAPOL-Key header field sizes */
 #define EAPOL_AKW_BLOCK_LEN 8
-#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 /* deprecated */
+#define EAPOL_WPA_KEY_REPLAY_LEN       8u
+#define EAPOL_WPA_KEY_NONCE_LEN                32u
+#define EAPOL_WPA_KEY_IV_LEN           16u
+#define EAPOL_WPA_KEY_RSC_LEN          8u
+#define EAPOL_WPA_KEY_ID_LEN           8u
 #define EAPOL_WPA_KEY_DATA_LEN         (EAPOL_WPA_MAX_KEY_SIZE + EAPOL_AKW_BLOCK_LEN)
-#define EAPOL_WPA_MAX_KEY_SIZE         32
+#define EAPOL_WPA_MAX_KEY_SIZE         32u
+#define EAPOL_WPA_KEY_MAX_MIC_LEN      32u
+#define EAPOL_WPA_ENCR_KEY_MAX_LEN     64u
+#define EAPOL_WPA_TEMP_ENCR_KEY_MAX_LEN        32u
+
+#define EAPOL_WPA_PMK_MAX_LEN           64u
+#define EAPOL_WPA_PMK_SHA384_LEN        48u
+#define EAPOL_WPA_PMK_DEFAULT_LEN      32u
+#define EAPOL_WPA_KCK_DEFAULT_LEN      16u
+#define EAPOL_WPA_KCK_MIC_DEFAULT_LEN  16u
+#define EAPOL_WPA_ENCR_KEY_DEFAULT_LEN 16u
+
+#ifndef EAPOL_KEY_HDR_VER_V2
+#define EAPOL_WPA_KEY_MIC_LEN          16u /* deprecated */
+#define EAPOL_WPA_KEY_LEN              95u /* deprecated */
+#endif // endif
 
+#ifndef EAPOL_KEY_HDR_VER_V2
 /* WPA EAPOL-Key : deprecated */
 typedef BWL_PRE_PACKED_STRUCT struct {
        unsigned char type;             /* Key Descriptor Type */
@@ -133,7 +148,7 @@ typedef BWL_PRE_PACKED_STRUCT struct {
        unsigned short data_len;                        /* Key Data Length */
        unsigned char data[EAPOL_WPA_KEY_DATA_LEN];     /* Key data */
 } BWL_POST_PACKED_STRUCT eapol_wpa_key_header_t;
-
+#else
 /* WPA EAPOL-Key : new structure to consider dynamic MIC length */
 typedef BWL_PRE_PACKED_STRUCT struct {
        unsigned char type;             /* Key Descriptor Type */
@@ -146,9 +161,12 @@ typedef BWL_PRE_PACKED_STRUCT struct {
        unsigned char id[EAPOL_WPA_KEY_ID_LEN];         /* WPA:Key ID, 802.11i/WPA2: Reserved */
 } BWL_POST_PACKED_STRUCT eapol_wpa_key_header_v2_t;
 
-#define EAPOL_WPA_KEY_LEN              95 /* deprecated */
-#define EAPOL_WPA_KEY_DATA_LEN_SIZE    2
+typedef eapol_wpa_key_header_v2_t eapol_wpa_key_header_t;
+#endif /* EAPOL_KEY_HDR_VER_V2 */
+
+#define EAPOL_WPA_KEY_DATA_LEN_SIZE    2u
 
+#ifdef  EAPOL_KEY_HDR_VER_V2
 #define EAPOL_WPA_KEY_HDR_SIZE(mic_len) (sizeof(eapol_wpa_key_header_v2_t) \
        + mic_len + EAPOL_WPA_KEY_DATA_LEN_SIZE)
 
@@ -158,6 +176,12 @@ typedef BWL_PRE_PACKED_STRUCT struct {
        ((uint8 *)pos + sizeof(eapol_wpa_key_header_v2_t) + mic_len)
 #define EAPOL_WPA_KEY_HDR_DATA_PTR(pos, mic_len) \
        ((uint8 *)pos + EAPOL_WPA_KEY_HDR_SIZE(mic_len))
+#else
+#define EAPOL_WPA_KEY_HDR_SIZE(mic_len) EAPOL_WPA_KEY_LEN
+#define EAPOL_WPA_KEY_HDR_MIC_PTR(pos) ((uint8 *)&pos->mic)
+#define EAPOL_WPA_KEY_HDR_DATA_LEN_PTR(pos, mic_len) ((uint8 *)&pos->data_len)
+#define EAPOL_WPA_KEY_HDR_DATA_PTR(pos, mic_len) ((uint8 *)&pos->data)
+#endif /* EAPOL_KEY_HDR_VER_V2 */
 
 /* WPA/802.11i/WPA2 KEY KEY_INFO bits */
 #define WPA_KEY_DESC_OSEN      0x0