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