Jouni Malinen | ff1d276 | 2005-05-12 22:54:16 -0400 | [diff] [blame] | 1 | #ifndef HOSTAP_H |
| 2 | #define HOSTAP_H |
| 3 | |
Adrian Bunk | 5fad5a2 | 2006-01-14 03:09:34 +0100 | [diff] [blame] | 4 | #include <linux/ethtool.h> |
Ahmed S. Darwish | 51471d3 | 2007-02-05 18:58:52 +0200 | [diff] [blame] | 5 | #include <linux/kernel.h> |
Adrian Bunk | 5fad5a2 | 2006-01-14 03:09:34 +0100 | [diff] [blame] | 6 | |
| 7 | #include "hostap_wlan.h" |
| 8 | #include "hostap_ap.h" |
| 9 | |
| 10 | static const long freq_list[] = { 2412, 2417, 2422, 2427, 2432, 2437, 2442, |
| 11 | 2447, 2452, 2457, 2462, 2467, 2472, 2484 }; |
Ahmed S. Darwish | 51471d3 | 2007-02-05 18:58:52 +0200 | [diff] [blame] | 12 | #define FREQ_COUNT ARRAY_SIZE(freq_list) |
Adrian Bunk | 5fad5a2 | 2006-01-14 03:09:34 +0100 | [diff] [blame] | 13 | |
Jouni Malinen | ff1d276 | 2005-05-12 22:54:16 -0400 | [diff] [blame] | 14 | /* hostap.c */ |
| 15 | |
| 16 | extern struct proc_dir_entry *hostap_proc; |
| 17 | |
| 18 | u16 hostap_tx_callback_register(local_info_t *local, |
| 19 | void (*func)(struct sk_buff *, int ok, void *), |
| 20 | void *data); |
| 21 | int hostap_tx_callback_unregister(local_info_t *local, u16 idx); |
| 22 | int hostap_set_word(struct net_device *dev, int rid, u16 val); |
| 23 | int hostap_set_string(struct net_device *dev, int rid, const char *val); |
| 24 | u16 hostap_get_porttype(local_info_t *local); |
| 25 | int hostap_set_encryption(local_info_t *local); |
| 26 | int hostap_set_antsel(local_info_t *local); |
| 27 | int hostap_set_roaming(local_info_t *local); |
| 28 | int hostap_set_auth_algs(local_info_t *local); |
| 29 | void hostap_dump_rx_header(const char *name, |
| 30 | const struct hfa384x_rx_frame *rx); |
| 31 | void hostap_dump_tx_header(const char *name, |
| 32 | const struct hfa384x_tx_frame *tx); |
Stephen Hemminger | 3b04ddd | 2007-10-09 01:40:57 -0700 | [diff] [blame] | 33 | extern const struct header_ops hostap_80211_ops; |
Dan Williams | 1ea893f | 2009-02-11 17:17:10 -0500 | [diff] [blame] | 34 | int hostap_80211_get_hdrlen(__le16 fc); |
Jouni Malinen | ff1d276 | 2005-05-12 22:54:16 -0400 | [diff] [blame] | 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, |
Daniel Drake | 09703f5 | 2007-09-26 21:45:24 +0100 | [diff] [blame] | 37 | int type); |
David Howells | c402895 | 2006-11-22 14:57:56 +0000 | [diff] [blame] | 38 | void hostap_set_multicast_list_queue(struct work_struct *work); |
Jouni Malinen | ff1d276 | 2005-05-12 22:54:16 -0400 | [diff] [blame] | 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); |
Jouni Malinen | 4339d32 | 2005-08-14 19:08:44 -0700 | [diff] [blame] | 49 | int prism2_sta_send_mgmt(local_info_t *local, u8 *dst, u16 stype, |
Jouni Malinen | ff1d276 | 2005-05-12 22:54:16 -0400 | [diff] [blame] | 50 | u8 *body, size_t bodylen); |
| 51 | int prism2_sta_deauth(local_info_t *local, u16 reason); |
Adrian Bunk | 5fad5a2 | 2006-01-14 03:09:34 +0100 | [diff] [blame] | 52 | int prism2_wds_add(local_info_t *local, u8 *remote_addr, |
| 53 | int rtnl_locked); |
| 54 | int prism2_wds_del(local_info_t *local, u8 *remote_addr, |
| 55 | int rtnl_locked, int do_not_remove); |
| 56 | |
| 57 | |
| 58 | /* hostap_ap.c */ |
| 59 | |
| 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, |
John W. Linville | 274bfb8 | 2008-10-29 11:35:05 -0400 | [diff] [blame] | 66 | struct lib80211_crypt_data ***crypt); |
Adrian Bunk | 5fad5a2 | 2006-01-14 03:09:34 +0100 | [diff] [blame] | 67 | int prism2_ap_get_sta_qual(local_info_t *local, struct sockaddr addr[], |
| 68 | struct iw_quality qual[], int buf_size, |
| 69 | int aplist); |
David S. Miller | ccc5805 | 2008-06-16 18:50:49 -0700 | [diff] [blame] | 70 | int prism2_ap_translate_scan(struct net_device *dev, |
| 71 | struct iw_request_info *info, char *buffer); |
Adrian Bunk | 5fad5a2 | 2006-01-14 03:09:34 +0100 | [diff] [blame] | 72 | int prism2_hostapd(struct ap_data *ap, struct prism2_hostapd_param *param); |
Jouni Malinen | ff1d276 | 2005-05-12 22:54:16 -0400 | [diff] [blame] | 73 | |
| 74 | |
| 75 | /* hostap_proc.c */ |
| 76 | |
| 77 | void hostap_init_proc(local_info_t *local); |
| 78 | void hostap_remove_proc(local_info_t *local); |
| 79 | |
| 80 | |
| 81 | /* hostap_info.c */ |
| 82 | |
| 83 | void hostap_info_init(local_info_t *local); |
| 84 | void hostap_info_process(local_info_t *local, struct sk_buff *skb); |
| 85 | |
| 86 | |
Adrian Bunk | 5fad5a2 | 2006-01-14 03:09:34 +0100 | [diff] [blame] | 87 | /* hostap_ioctl.c */ |
| 88 | |
| 89 | extern const struct iw_handler_def hostap_iw_handler_def; |
Jeff Garzik | 7282d49 | 2006-09-13 14:30:00 -0400 | [diff] [blame] | 90 | extern const struct ethtool_ops prism2_ethtool_ops; |
Adrian Bunk | 5fad5a2 | 2006-01-14 03:09:34 +0100 | [diff] [blame] | 91 | |
| 92 | int hostap_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); |
| 93 | |
| 94 | |
Jouni Malinen | ff1d276 | 2005-05-12 22:54:16 -0400 | [diff] [blame] | 95 | #endif /* HOSTAP_H */ |