cam.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /******************************************************************************
  2. *
  3. * Copyright(c) 2009-2010 Realtek Corporation.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of version 2 of the GNU General Public License as
  7. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12. * more details.
  13. *
  14. * You should have received a copy of the GNU General Public License along with
  15. * this program; if not, write to the Free Software Foundation, Inc.,
  16. * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
  17. *
  18. * The full GNU General Public License is included in this distribution in the
  19. * file called LICENSE.
  20. *
  21. * Contact Information:
  22. * wlanfae <wlanfae@realtek.com>
  23. * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
  24. * Hsinchu 300, Taiwan.
  25. *
  26. * Larry Finger <Larry.Finger@lwfinger.net>
  27. *
  28. *****************************************************************************/
  29. #ifndef __RTL_CAM_H_
  30. #define __RTL_CAM_H_
  31. #define CAM_CONTENT_COUNT 8
  32. #define CFG_DEFAULT_KEY BIT(5)
  33. #define CFG_VALID BIT(15)
  34. #define PAIRWISE_KEYIDX 0
  35. #define CAM_PAIRWISE_KEY_POSITION 4
  36. #define CAM_CONFIG_USEDK 1
  37. #define CAM_CONFIG_NO_USEDK 0
  38. extern void rtl_cam_reset_all_entry(struct ieee80211_hw *hw);
  39. extern u8 rtl_cam_add_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,
  40. u32 ul_key_id, u32 ul_entry_idx, u32 ul_enc_alg,
  41. u32 ul_default_key, u8 *key_content);
  42. int rtl_cam_delete_one_entry(struct ieee80211_hw *hw, u8 *mac_addr,
  43. u32 ul_key_id);
  44. void rtl_cam_mark_invalid(struct ieee80211_hw *hw, u8 uc_index);
  45. void rtl_cam_empty_entry(struct ieee80211_hw *hw, u8 uc_index);
  46. void rtl_cam_reset_sec_info(struct ieee80211_hw *hw);
  47. u8 rtl_cam_get_free_entry(struct ieee80211_hw *hw, u8 *sta_addr);
  48. void rtl_cam_del_entry(struct ieee80211_hw *hw, u8 *sta_addr);
  49. #endif