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