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