1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /* Copyright (c) 2016 Quantenna Communications. All rights reserved. */
4 #ifndef QLINK_COMMANDS_H_
5 #define QLINK_COMMANDS_H_
7 #include <linux/nl80211.h>
12 int qtnf_cmd_send_init_fw(struct qtnf_bus
*bus
);
13 void qtnf_cmd_send_deinit_fw(struct qtnf_bus
*bus
);
14 int qtnf_cmd_get_hw_info(struct qtnf_bus
*bus
);
15 int qtnf_cmd_get_mac_info(struct qtnf_wmac
*mac
);
16 int qtnf_cmd_send_add_intf(struct qtnf_vif
*vif
, enum nl80211_iftype iftype
,
17 int use4addr
, u8
*mac_addr
);
18 int qtnf_cmd_send_change_intf_type(struct qtnf_vif
*vif
,
19 enum nl80211_iftype iftype
,
22 int qtnf_cmd_send_del_intf(struct qtnf_vif
*vif
);
23 int qtnf_cmd_band_info_get(struct qtnf_wmac
*mac
,
24 struct ieee80211_supported_band
*band
);
25 int qtnf_cmd_send_regulatory_config(struct qtnf_wmac
*mac
, const char *alpha2
);
26 int qtnf_cmd_send_start_ap(struct qtnf_vif
*vif
,
27 const struct cfg80211_ap_settings
*s
);
28 int qtnf_cmd_send_stop_ap(struct qtnf_vif
*vif
);
29 int qtnf_cmd_send_register_mgmt(struct qtnf_vif
*vif
, u16 frame_type
, bool reg
);
30 int qtnf_cmd_send_frame(struct qtnf_vif
*vif
, u32 cookie
, u16 flags
,
31 u16 freq
, const u8
*buf
, size_t len
);
32 int qtnf_cmd_send_mgmt_set_appie(struct qtnf_vif
*vif
, u8 frame_type
,
33 const u8
*buf
, size_t len
);
34 int qtnf_cmd_get_sta_info(struct qtnf_vif
*vif
, const u8
*sta_mac
,
35 struct station_info
*sinfo
);
36 int qtnf_cmd_send_phy_params(struct qtnf_wmac
*mac
, u16 cmd_action
,
38 int qtnf_cmd_send_add_key(struct qtnf_vif
*vif
, u8 key_index
, bool pairwise
,
39 const u8
*mac_addr
, struct key_params
*params
);
40 int qtnf_cmd_send_del_key(struct qtnf_vif
*vif
, u8 key_index
, bool pairwise
,
42 int qtnf_cmd_send_set_default_key(struct qtnf_vif
*vif
, u8 key_index
,
43 bool unicast
, bool multicast
);
44 int qtnf_cmd_send_set_default_mgmt_key(struct qtnf_vif
*vif
, u8 key_index
);
45 int qtnf_cmd_send_add_sta(struct qtnf_vif
*vif
, const u8
*mac
,
46 struct station_parameters
*params
);
47 int qtnf_cmd_send_change_sta(struct qtnf_vif
*vif
, const u8
*mac
,
48 struct station_parameters
*params
);
49 int qtnf_cmd_send_del_sta(struct qtnf_vif
*vif
,
50 struct station_del_parameters
*params
);
51 int qtnf_cmd_send_scan(struct qtnf_wmac
*mac
);
52 int qtnf_cmd_send_connect(struct qtnf_vif
*vif
,
53 struct cfg80211_connect_params
*sme
);
54 int qtnf_cmd_send_external_auth(struct qtnf_vif
*vif
,
55 struct cfg80211_external_auth_params
*auth
);
56 int qtnf_cmd_send_disconnect(struct qtnf_vif
*vif
,
58 int qtnf_cmd_send_updown_intf(struct qtnf_vif
*vif
,
60 int qtnf_cmd_reg_notify(struct qtnf_wmac
*mac
, struct regulatory_request
*req
,
61 bool slave_radar
, bool dfs_offload
);
62 int qtnf_cmd_get_chan_stats(struct qtnf_wmac
*mac
, u16 channel
,
63 struct qtnf_chan_stats
*stats
);
64 int qtnf_cmd_send_chan_switch(struct qtnf_vif
*vif
,
65 struct cfg80211_csa_settings
*params
);
66 int qtnf_cmd_get_channel(struct qtnf_vif
*vif
, struct cfg80211_chan_def
*chdef
);
67 int qtnf_cmd_start_cac(const struct qtnf_vif
*vif
,
68 const struct cfg80211_chan_def
*chdef
,
70 int qtnf_cmd_set_mac_acl(const struct qtnf_vif
*vif
,
71 const struct cfg80211_acl_data
*params
);
72 int qtnf_cmd_send_pm_set(const struct qtnf_vif
*vif
, u8 pm_mode
, int timeout
);
73 int qtnf_cmd_get_tx_power(const struct qtnf_vif
*vif
, int *dbm
);
74 int qtnf_cmd_set_tx_power(const struct qtnf_vif
*vif
,
75 enum nl80211_tx_power_setting type
, int mbm
);
76 int qtnf_cmd_send_wowlan_set(const struct qtnf_vif
*vif
,
77 const struct cfg80211_wowlan
*wowl
);
78 int qtnf_cmd_netdev_changeupper(const struct qtnf_vif
*vif
, int br_domain
);
80 #endif /* QLINK_COMMANDS_H_ */