1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
4  * All rights reserved.
5  *
6  * Purpose: Implement functions for 802.11i Key management
7  *
8  * Author: Jerry Chen
9  *
10  * Date: May 29, 2003
11  *
12  */
13 
14 #ifndef __KEY_H__
15 #define __KEY_H__
16 
17 #include <net/mac80211.h>
18 
19 /*---------------------  Export Definitions -------------------------*/
20 #define MAX_GROUP_KEY       4
21 #define MAX_KEY_TABLE       11
22 #define MAX_KEY_LEN         32
23 #define AES_KEY_LEN         16
24 
25 #define AUTHENTICATOR_KEY   0x10000000
26 #define USE_KEYRSC          0x20000000
27 #define PAIRWISE_KEY        0x40000000
28 #define TRANSMIT_KEY        0x80000000
29 
30 #define GROUP_KEY           0x00000000
31 
32 #define KEY_CTL_WEP         0x00
33 #define KEY_CTL_NONE        0x01
34 #define KEY_CTL_TKIP        0x02
35 #define KEY_CTL_CCMP        0x03
36 #define KEY_CTL_INVALID     0xFF
37 
38 #define VNT_KEY_DEFAULTKEY	0x1
39 #define VNT_KEY_GROUP_ADDRESS	0x2
40 #define VNT_KEY_ALLGROUP	0x4
41 #define VNT_KEY_GROUP		0x40
42 #define VNT_KEY_PAIRWISE	0x00
43 #define VNT_KEY_ONFLY		0x8000
44 #define VNT_KEY_ONFLY_ALL	0x4000
45 
46 struct vnt_private;
47 
48 int vnt_set_keys(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
49 		 struct ieee80211_vif *vif, struct ieee80211_key_conf *key);
50 
51 #endif /* __KEY_H__ */
52