GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / staging / vt6655 / key.h
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__ */