2024-09-09 08:52:07 +00:00
|
|
|
/******************************************************************************
|
|
|
|
*
|
|
|
|
* Copyright(c) 2009-2012 Realtek Corporation.
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
|
|
* under the terms of version 2 of the GNU General Public License as
|
|
|
|
* published by the Free Software Foundation.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
|
|
* more details.
|
|
|
|
*
|
|
|
|
* The full GNU General Public License is included in this distribution in the
|
|
|
|
* file called LICENSE.
|
|
|
|
*
|
|
|
|
* Contact Information:
|
|
|
|
* wlanfae <wlanfae@realtek.com>
|
|
|
|
* Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
|
|
|
|
* Hsinchu 300, Taiwan.
|
|
|
|
*
|
|
|
|
* Larry Finger <Larry.Finger@lwfinger.net>
|
|
|
|
*
|
|
|
|
*****************************************************************************/
|
|
|
|
|
|
|
|
#ifndef __RTL_CAM_H_
|
|
|
|
#define __RTL_CAM_H_
|
|
|
|
|
|
|
|
#define CAM_CONTENT_COUNT 8
|
|
|
|
|
|
|
|
#define CFG_DEFAULT_KEY BIT(5)
|
|
|
|
#define CFG_VALID BIT(15)
|
|
|
|
|
|
|
|
#define PAIRWISE_KEYIDX 0
|
2024-09-09 08:57:42 +00:00
|
|
|
#define CAM_PAIRWISE_KEY_POSITION 4
|
2024-09-09 08:52:07 +00:00
|
|
|
|
|
|
|
#define CAM_CONFIG_USEDK 1
|
|
|
|
#define CAM_CONFIG_NO_USEDK 0
|
|
|
|
|
2024-09-09 08:57:42 +00:00
|
|
|
void rtl_cam_reset_all_entry(struct ieee80211_hw *hw);
|
|
|
|
u8 rtl_cam_add_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,
|
|
|
|
u32 ul_key_id, u32 ul_entry_idx, u32 ul_enc_alg,
|
|
|
|
u32 ul_default_key, u8 *key_content);
|
2024-09-09 08:52:07 +00:00
|
|
|
int rtl_cam_delete_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,
|
2024-09-09 08:57:42 +00:00
|
|
|
u32 ul_key_id);
|
2024-09-09 08:52:07 +00:00
|
|
|
void rtl_cam_mark_invalid(struct ieee80211_hw *hw, u8 uc_index);
|
|
|
|
void rtl_cam_empty_entry(struct ieee80211_hw *hw, u8 uc_index);
|
|
|
|
void rtl_cam_reset_sec_info(struct ieee80211_hw *hw);
|
|
|
|
u8 rtl_cam_get_free_entry(struct ieee80211_hw *hw, u8 *sta_addr);
|
|
|
|
void rtl_cam_del_entry(struct ieee80211_hw *hw, u8 *sta_addr);
|
|
|
|
|
|
|
|
#endif
|