Merge branch 'topic/sc6000' into for-linus
[linux-2.6] / drivers / net / wireless / orinoco / hw.h
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
26 int orinoco_get_bitratemode(int bitrate, int automatic);
27 void orinoco_get_ratemode_cfg(int ratemode, int *bitrate, int *automatic);
28
29 int orinoco_hw_get_tkip_iv(struct orinoco_private *priv, int key, u8 *tsc);
30 int __orinoco_hw_set_bitrate(struct orinoco_private *priv);
31 int orinoco_hw_get_act_bitrate(struct orinoco_private *priv, int *bitrate);
32 int __orinoco_hw_set_wap(struct orinoco_private *priv);
33 int __orinoco_hw_setup_wepkeys(struct orinoco_private *priv);
34 int __orinoco_hw_setup_enc(struct orinoco_private *priv);
35 int __orinoco_hw_set_tkip_key(hermes_t *hw, int key_idx, int set_tx,
36                               u8 *key, u8 *rsc, u8 *tsc);
37 int orinoco_clear_tkip_key(struct orinoco_private *priv, int key_idx);
38 int __orinoco_hw_set_multicast_list(struct orinoco_private *priv,
39                                     struct dev_addr_list *mc_list,
40                                     int mc_count, int promisc);
41 int orinoco_hw_get_essid(struct orinoco_private *priv, int *active,
42                          char buf[IW_ESSID_MAX_SIZE+1]);
43 int orinoco_hw_get_freq(struct orinoco_private *priv);
44 int orinoco_hw_get_bitratelist(struct orinoco_private *priv,
45                                int *numrates, s32 *rates, int max);
46
47 #endif /* _ORINOCO_HW_H_ */