1 /* 2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc. 3 * All rights reserved. 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * 20 * File: key.h 21 * 22 * Purpose: Implement functions for 802.11i Key management 23 * 24 * Author: Jerry Chen 25 * 26 * Date: May 29, 2003 27 * 28 */ 29 30 #ifndef __KEY_H__ 31 #define __KEY_H__ 32 33 #include <net/mac80211.h> 34 35 #include "ttype.h" 36 37 /*--------------------- Export Definitions -------------------------*/ 38 #define MAX_GROUP_KEY 4 39 #define MAX_KEY_TABLE 11 40 #define MAX_KEY_LEN 32 41 #define AES_KEY_LEN 16 42 43 #define AUTHENTICATOR_KEY 0x10000000 44 #define USE_KEYRSC 0x20000000 45 #define PAIRWISE_KEY 0x40000000 46 #define TRANSMIT_KEY 0x80000000 47 48 #define GROUP_KEY 0x00000000 49 50 #define KEY_CTL_WEP 0x00 51 #define KEY_CTL_NONE 0x01 52 #define KEY_CTL_TKIP 0x02 53 #define KEY_CTL_CCMP 0x03 54 #define KEY_CTL_INVALID 0xFF 55 56 #define VNT_KEY_DEFAULTKEY 0x1 57 #define VNT_KEY_GROUP_ADDRESS 0x2 58 #define VNT_KEY_ALLGROUP 0x4 59 #define VNT_KEY_GROUP 0x40 60 #define VNT_KEY_PAIRWISE 0x00 61 #define VNT_KEY_ONFLY 0x8000 62 #define VNT_KEY_ONFLY_ALL 0x4000 63 64 struct vnt_private; 65 66 int vnt_key_init_table(struct vnt_private *); 67 68 int vnt_set_keys(struct ieee80211_hw *hw, struct ieee80211_sta *sta, 69 struct ieee80211_vif *vif, struct ieee80211_key_conf *key); 70 71 #endif // __KEY_H__ 72