David Kilroy | 712a434 | 2009-02-04 23:05:55 +0000 | [diff] [blame] | 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 | |
| 11 | /* Hardware BAPs */ |
| 12 | #define USER_BAP 0 |
| 13 | #define IRQ_BAP 1 |
| 14 | |
| 15 | /* WEP key sizes */ |
| 16 | #define SMALL_KEY_SIZE 5 |
| 17 | #define LARGE_KEY_SIZE 13 |
| 18 | |
| 19 | /* Number of supported channels */ |
| 20 | #define NUM_CHANNELS 14 |
| 21 | |
| 22 | /* Forward declarations */ |
| 23 | struct orinoco_private; |
| 24 | struct dev_addr_list; |
| 25 | |
David Kilroy | a2d1a42 | 2009-06-18 23:21:18 +0100 | [diff] [blame] | 26 | int determine_fw_capabilities(struct orinoco_private *priv); |
David Kilroy | e9e3d01 | 2009-06-18 23:21:19 +0100 | [diff] [blame] | 27 | int orinoco_hw_read_card_settings(struct orinoco_private *priv, u8 *dev_addr); |
David Kilroy | 42a51b9 | 2009-06-18 23:21:20 +0100 | [diff] [blame^] | 28 | int orinoco_hw_allocate_fid(struct orinoco_private *priv); |
David Kilroy | 712a434 | 2009-02-04 23:05:55 +0000 | [diff] [blame] | 29 | int orinoco_get_bitratemode(int bitrate, int automatic); |
| 30 | void orinoco_get_ratemode_cfg(int ratemode, int *bitrate, int *automatic); |
| 31 | |
| 32 | int orinoco_hw_get_tkip_iv(struct orinoco_private *priv, int key, u8 *tsc); |
| 33 | int __orinoco_hw_set_bitrate(struct orinoco_private *priv); |
| 34 | int orinoco_hw_get_act_bitrate(struct orinoco_private *priv, int *bitrate); |
| 35 | int __orinoco_hw_set_wap(struct orinoco_private *priv); |
| 36 | int __orinoco_hw_setup_wepkeys(struct orinoco_private *priv); |
| 37 | int __orinoco_hw_setup_enc(struct orinoco_private *priv); |
| 38 | int __orinoco_hw_set_tkip_key(hermes_t *hw, int key_idx, int set_tx, |
| 39 | u8 *key, u8 *rsc, u8 *tsc); |
| 40 | int orinoco_clear_tkip_key(struct orinoco_private *priv, int key_idx); |
| 41 | int __orinoco_hw_set_multicast_list(struct orinoco_private *priv, |
| 42 | struct dev_addr_list *mc_list, |
| 43 | int mc_count, int promisc); |
| 44 | int orinoco_hw_get_essid(struct orinoco_private *priv, int *active, |
| 45 | char buf[IW_ESSID_MAX_SIZE+1]); |
| 46 | int orinoco_hw_get_freq(struct orinoco_private *priv); |
| 47 | int orinoco_hw_get_bitratelist(struct orinoco_private *priv, |
| 48 | int *numrates, s32 *rates, int max); |
| 49 | |
| 50 | #endif /* _ORINOCO_HW_H_ */ |