xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/mvl88w8977/mlan/esa/keyMgmtApTypes_rom.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /** @file KeyMgmtApTypes_rom.h
2  *
3  *  @brief This file contains the key management type for ap
4  *
5  * Copyright (C) 2014-2017, Marvell International Ltd.
6  *
7  * This software file (the "File") is distributed by Marvell International
8  * Ltd. under the terms of the GNU General Public License Version 2, June 1991
9  * (the "License").  You may use, redistribute and/or modify this File in
10  * accordance with the terms and conditions of the License, a copy of which
11  * is available by writing to the Free Software Foundation, Inc.,
12  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
13  * worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
14  *
15  * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
17  * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
18  * this warranty disclaimer.
19  */
20 
21 /******************************************************
22 Change log:
23     03/07/2014: Initial version
24 ******************************************************/
25 #ifndef _KEYMGMTAPTYPES_ROM_H_
26 #define _KEYMGMTAPTYPES_ROM_H_
27 
28 #include "wltypes.h"
29 #include "keyMgmtStaTypes.h"
30 
31 #define KDE_IE_SIZE  (2)	// type+length of KDE_t
32 #define KDE_SIZE     (KDE_IE_SIZE + 4 )	// OUI+datatype of KDE_t
33 #define GTK_IE_SIZE (2)
34 #define KEYDATA_SIZE (4 + GTK_IE_SIZE + TK_SIZE)	//OUI+datatype+ GTK_IE+ GTK
35 
36 typedef enum {
37 	HSK_NOT_STARTED,
38 	MSG1_PENDING,
39 	WAITING_4_MSG2,
40 	MSG3_PENDING,
41 	WAITING_4_MSG4,
42 	GRPMSG1_PENDING,
43 	WAITING_4_GRPMSG2,
44 	GRP_REKEY_MSG1_PENDING,
45 	WAITING_4_GRP_REKEY_MSG2,
46 	/* the relative positions of the different enum elements
47 	 ** should not be changed since FW code checks for even/odd
48 	 ** values at certain places.
49 	 */
50 	HSK_DUMMY_STATE,
51 	HSK_END
52 } keyMgmtState_e;
53 
54 /* This sturcture is being accessed in rom code and should be kept intact. */
55 typedef struct {
56 	UINT16 staRsnCap;
57 	SecurityMode_t staSecType;
58 	Cipher_t staUcstCipher;
59 	UINT8 staAkmType;
60 	keyMgmtState_e keyMgmtState;
61 } apKeyMgmtInfoStaRom_t;
62 
63 #endif
64