hw.h (2284B)
1/* Encapsulate basic setting changes on Hermes hardware 2 * 3 * See copyright notice in main.c 4 */ 5#ifndef _ORINOCO_HW_H_ 6#define _ORINOCO_HW_H_ 7 8#include <linux/types.h> 9#include <linux/wireless.h> 10#include <net/cfg80211.h> 11 12/* Hardware BAPs */ 13#define USER_BAP 0 14#define IRQ_BAP 1 15 16/* WEP key sizes */ 17#define SMALL_KEY_SIZE 5 18#define LARGE_KEY_SIZE 13 19 20/* Number of supported channels */ 21#define NUM_CHANNELS 14 22 23/* Forward declarations */ 24struct orinoco_private; 25 26int determine_fw_capabilities(struct orinoco_private *priv, char *fw_name, 27 size_t fw_name_len, u32 *hw_ver); 28int orinoco_hw_read_card_settings(struct orinoco_private *priv, u8 *dev_addr); 29int orinoco_hw_allocate_fid(struct orinoco_private *priv); 30int orinoco_get_bitratemode(int bitrate, int automatic); 31void orinoco_get_ratemode_cfg(int ratemode, int *bitrate, int *automatic); 32 33int orinoco_hw_program_rids(struct orinoco_private *priv); 34int orinoco_hw_get_tkip_iv(struct orinoco_private *priv, int key, u8 *tsc); 35int __orinoco_hw_set_bitrate(struct orinoco_private *priv); 36int orinoco_hw_get_act_bitrate(struct orinoco_private *priv, int *bitrate); 37int __orinoco_hw_set_wap(struct orinoco_private *priv); 38int __orinoco_hw_setup_wepkeys(struct orinoco_private *priv); 39int __orinoco_hw_setup_enc(struct orinoco_private *priv); 40int __orinoco_hw_set_tkip_key(struct orinoco_private *priv, int key_idx, 41 int set_tx, const u8 *key, size_t key_len, 42 const u8 *rsc, size_t rsc_len, 43 const u8 *tsc, size_t tsc_len); 44int orinoco_clear_tkip_key(struct orinoco_private *priv, int key_idx); 45int __orinoco_hw_set_multicast_list(struct orinoco_private *priv, 46 struct net_device *dev, 47 int mc_count, int promisc); 48int orinoco_hw_get_essid(struct orinoco_private *priv, int *active, 49 char buf[IW_ESSID_MAX_SIZE + 1]); 50int orinoco_hw_get_freq(struct orinoco_private *priv); 51int orinoco_hw_get_bitratelist(struct orinoco_private *priv, 52 int *numrates, s32 *rates, int max); 53int orinoco_hw_trigger_scan(struct orinoco_private *priv, 54 const struct cfg80211_ssid *ssid); 55int orinoco_hw_disassociate(struct orinoco_private *priv, 56 u8 *addr, u16 reason_code); 57int orinoco_hw_get_current_bssid(struct orinoco_private *priv, 58 u8 *addr); 59 60#endif /* _ORINOCO_HW_H_ */