/** @file keyMgmtstaType.h
|
*
|
* @brief This file defines data types structrue for key managment.
|
*
|
* Copyright (C) 2014-2017, Marvell International Ltd.
|
*
|
* This software file (the "File") is distributed by Marvell International
|
* Ltd. under the terms of the GNU General Public License Version 2, June 1991
|
* (the "License"). You may use, redistribute and/or modify this File in
|
* accordance with the terms and conditions of the License, a copy of which
|
* is available by writing to the Free Software Foundation, Inc.,
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
|
* worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
*
|
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
|
* ARE EXPRESSLY DISCLAIMED. The License provides additional details about
|
* this warranty disclaimer.
|
*/
|
|
/******************************************************
|
Change log:
|
03/07/2014: Initial version
|
******************************************************/
|
#ifndef _KEYMGMTSTATYPES_H_
|
#define _KEYMGMTSTATYPES_H_
|
|
#define WPA_AES_KEY_LEN 16
|
#define WPA_TKIP_KEY_LEN 32
|
#define WPA_WEP104_KEY_LEN 13
|
#define WPA_WEP40_KEY_LEN 5
|
|
#define KEY_TYPE_WEP 0
|
#define KEY_TYPE_TKIP 1
|
#define KEY_TYPE_AES 2
|
#define KEY_TYPE_WAPI 3
|
#define KEY_TYPE_AES_CMAC 4
|
|
/* This struct definition is used in ROM and should be kept intact */
|
typedef struct {
|
UINT8 wep40:1;
|
UINT8 wep104:1;
|
UINT8 tkip:1;
|
UINT8 ccmp:1;
|
|
UINT8 rsvd:4;
|
|
} Cipher_t;
|
|
/* This struct definition is used in ROM and should be kept intact */
|
typedef MLAN_PACK_START struct {
|
UINT16 noRsn:1;
|
UINT16 wepStatic:1;
|
UINT16 wepDynamic:1;
|
UINT16 wpa:1;
|
UINT16 wpaNone:1;
|
UINT16 wpa2:1;
|
UINT16 cckm:1;
|
UINT16 wapi:1;
|
UINT16 rsvd:8;
|
|
} MLAN_PACK_END SecurityMode_t;
|
|
typedef MLAN_PACK_START enum {
|
AKM_NONE = 0,
|
|
AKM_1X = 1,
|
AKM_PSK = 2,
|
AKM_FT_1X = 3,
|
AKM_FT_PSK = 4,
|
AKM_SHA256_1X = 5,
|
AKM_SHA256_PSK = 6,
|
AKM_TDLS = 7,
|
|
AKM_CCKM = 99, /* Make CCKM a unique AKM enumeration */
|
|
AKM_WPA_MAX = 2, /* Only AKM types 1 and 2 are expected for WPA */
|
AKM_RSN_MAX = 6, /* AKM types 1 to 6 are valid for RSN */
|
|
AKM_SUITE_MAX = 5 /* Used to size max parsing of AKMs from a BCN */
|
} MLAN_PACK_END AkmType_e;
|
|
typedef AkmType_e AkmTypePacked_e;
|
|
typedef struct {
|
UINT8 akmOui[3];
|
AkmTypePacked_e akmType;
|
|
} AkmSuite_t;
|
|
typedef struct {
|
SecurityMode_t wpaType;
|
Cipher_t mcstCipher;
|
Cipher_t ucstCipher;
|
|
} SecurityParams_t;
|
|
typedef enum {
|
host_PSK_SUPP_MIC_FAIL_TIMEOUT = 0x0001,
|
host_PSK_SUPP_FOURWAY_HANDSHAKE_FAIL = 0x0002
|
} host_psk_suppMsg_e;
|
|
typedef struct {
|
UINT8 keyId[2];
|
UINT8 IPN[6];
|
UINT8 IGtk[32];
|
} IGtkKde_t;
|
|
#endif
|