1#ifndef HOSTAP_H 2#define HOSTAP_H 3 4#include <linux/ethtool.h> 5#include <linux/kernel.h> 6 7#include "hostap_wlan.h" 8#include "hostap_ap.h" 9 10static const long freq_list[] = { 2412, 2417, 2422, 2427, 2432, 2437, 2442, 11 2447, 2452, 2457, 2462, 2467, 2472, 2484 }; 12#define FREQ_COUNT ARRAY_SIZE(freq_list) 13 14/* hostap.c */ 15 16extern struct proc_dir_entry *hostap_proc; 17 18u16 hostap_tx_callback_register(local_info_t *local, 19 void (*func)(struct sk_buff *, int ok, void *), 20 void *data); 21int hostap_tx_callback_unregister(local_info_t *local, u16 idx); 22int hostap_set_word(struct net_device *dev, int rid, u16 val); 23int hostap_set_string(struct net_device *dev, int rid, const char *val); 24u16 hostap_get_porttype(local_info_t *local); 25int hostap_set_encryption(local_info_t *local); 26int hostap_set_antsel(local_info_t *local); 27int hostap_set_roaming(local_info_t *local); 28int hostap_set_auth_algs(local_info_t *local); 29void hostap_dump_rx_header(const char *name, 30 const struct hfa384x_rx_frame *rx); 31void hostap_dump_tx_header(const char *name, 32 const struct hfa384x_tx_frame *tx); 33extern const struct header_ops hostap_80211_ops; 34int hostap_80211_get_hdrlen(__le16 fc); 35struct net_device_stats *hostap_get_stats(struct net_device *dev); 36void hostap_setup_dev(struct net_device *dev, local_info_t *local, 37 int type); 38void hostap_set_multicast_list_queue(struct work_struct *work); 39int hostap_set_hostapd(local_info_t *local, int val, int rtnl_locked); 40int hostap_set_hostapd_sta(local_info_t *local, int val, int rtnl_locked); 41void hostap_cleanup(local_info_t *local); 42void hostap_cleanup_handler(void *data); 43struct net_device * hostap_add_interface(struct local_info *local, 44 int type, int rtnl_locked, 45 const char *prefix, const char *name); 46void hostap_remove_interface(struct net_device *dev, int rtnl_locked, 47 int remove_from_list); 48int prism2_update_comms_qual(struct net_device *dev); 49int prism2_sta_send_mgmt(local_info_t *local, u8 *dst, u16 stype, 50 u8 *body, size_t bodylen); 51int prism2_sta_deauth(local_info_t *local, u16 reason); 52int prism2_wds_add(local_info_t *local, u8 *remote_addr, 53 int rtnl_locked); 54int 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 60int ap_control_add_mac(struct mac_restrictions *mac_restrictions, u8 *mac); 61int ap_control_del_mac(struct mac_restrictions *mac_restrictions, u8 *mac); 62void ap_control_flush_macs(struct mac_restrictions *mac_restrictions); 63int ap_control_kick_mac(struct ap_data *ap, struct net_device *dev, u8 *mac); 64void ap_control_kickall(struct ap_data *ap); 65void * ap_crypt_get_ptrs(struct ap_data *ap, u8 *addr, int permanent, 66 struct lib80211_crypt_data ***crypt); 67int prism2_ap_get_sta_qual(local_info_t *local, struct sockaddr addr[], 68 struct iw_quality qual[], int buf_size, 69 int aplist); 70int prism2_ap_translate_scan(struct net_device *dev, 71 struct iw_request_info *info, char *buffer); 72int prism2_hostapd(struct ap_data *ap, struct prism2_hostapd_param *param); 73 74 75/* hostap_proc.c */ 76 77void hostap_init_proc(local_info_t *local); 78void hostap_remove_proc(local_info_t *local); 79 80 81/* hostap_info.c */ 82 83void hostap_info_init(local_info_t *local); 84void hostap_info_process(local_info_t *local, struct sk_buff *skb); 85 86 87/* hostap_ioctl.c */ 88 89extern const struct iw_handler_def hostap_iw_handler_def; 90extern const struct ethtool_ops prism2_ethtool_ops; 91 92int hostap_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); 93 94 95#endif /* HOSTAP_H */ 96