4 #include <linux/ethtool.h>
6 #include "hostap_wlan.h"
9 static const long freq_list
[] = { 2412, 2417, 2422, 2427, 2432, 2437, 2442,
10 2447, 2452, 2457, 2462, 2467, 2472, 2484 };
11 #define FREQ_COUNT (sizeof(freq_list) / sizeof(freq_list[0]))
15 extern struct proc_dir_entry
*hostap_proc
;
17 u16
hostap_tx_callback_register(local_info_t
*local
,
18 void (*func
)(struct sk_buff
*, int ok
, void *),
20 int hostap_tx_callback_unregister(local_info_t
*local
, u16 idx
);
21 int hostap_set_word(struct net_device
*dev
, int rid
, u16 val
);
22 int hostap_set_string(struct net_device
*dev
, int rid
, const char *val
);
23 u16
hostap_get_porttype(local_info_t
*local
);
24 int hostap_set_encryption(local_info_t
*local
);
25 int hostap_set_antsel(local_info_t
*local
);
26 int hostap_set_roaming(local_info_t
*local
);
27 int hostap_set_auth_algs(local_info_t
*local
);
28 void hostap_dump_rx_header(const char *name
,
29 const struct hfa384x_rx_frame
*rx
);
30 void hostap_dump_tx_header(const char *name
,
31 const struct hfa384x_tx_frame
*tx
);
32 int hostap_80211_header_parse(struct sk_buff
*skb
, unsigned char *haddr
);
33 int hostap_80211_prism_header_parse(struct sk_buff
*skb
, unsigned char *haddr
);
34 int hostap_80211_get_hdrlen(u16 fc
);
35 struct net_device_stats
*hostap_get_stats(struct net_device
*dev
);
36 void hostap_setup_dev(struct net_device
*dev
, local_info_t
*local
,
38 void hostap_set_multicast_list_queue(struct work_struct
*work
);
39 int hostap_set_hostapd(local_info_t
*local
, int val
, int rtnl_locked
);
40 int hostap_set_hostapd_sta(local_info_t
*local
, int val
, int rtnl_locked
);
41 void hostap_cleanup(local_info_t
*local
);
42 void hostap_cleanup_handler(void *data
);
43 struct net_device
* hostap_add_interface(struct local_info
*local
,
44 int type
, int rtnl_locked
,
45 const char *prefix
, const char *name
);
46 void hostap_remove_interface(struct net_device
*dev
, int rtnl_locked
,
47 int remove_from_list
);
48 int prism2_update_comms_qual(struct net_device
*dev
);
49 int prism2_sta_send_mgmt(local_info_t
*local
, u8
*dst
, u16 stype
,
50 u8
*body
, size_t bodylen
);
51 int prism2_sta_deauth(local_info_t
*local
, u16 reason
);
52 int prism2_wds_add(local_info_t
*local
, u8
*remote_addr
,
54 int prism2_wds_del(local_info_t
*local
, u8
*remote_addr
,
55 int rtnl_locked
, int do_not_remove
);
60 int ap_control_add_mac(struct mac_restrictions
*mac_restrictions
, u8
*mac
);
61 int ap_control_del_mac(struct mac_restrictions
*mac_restrictions
, u8
*mac
);
62 void ap_control_flush_macs(struct mac_restrictions
*mac_restrictions
);
63 int ap_control_kick_mac(struct ap_data
*ap
, struct net_device
*dev
, u8
*mac
);
64 void ap_control_kickall(struct ap_data
*ap
);
65 void * ap_crypt_get_ptrs(struct ap_data
*ap
, u8
*addr
, int permanent
,
66 struct ieee80211_crypt_data
***crypt
);
67 int prism2_ap_get_sta_qual(local_info_t
*local
, struct sockaddr addr
[],
68 struct iw_quality qual
[], int buf_size
,
70 int prism2_ap_translate_scan(struct net_device
*dev
, char *buffer
);
71 int prism2_hostapd(struct ap_data
*ap
, struct prism2_hostapd_param
*param
);
76 void hostap_init_proc(local_info_t
*local
);
77 void hostap_remove_proc(local_info_t
*local
);
82 void hostap_info_init(local_info_t
*local
);
83 void hostap_info_process(local_info_t
*local
, struct sk_buff
*skb
);
88 extern const struct iw_handler_def hostap_iw_handler_def
;
89 extern const struct ethtool_ops prism2_ethtool_ops
;
91 int hostap_ioctl(struct net_device
*dev
, struct ifreq
*ifr
, int cmd
);