blob: f8d537fe1ed8cd118a04a1cbd6c757b63466a581 [file] [log] [blame]
developer6b200c72022-06-15 19:48:25 +08001--- a/phy.c
2+++ b/phy.c
3@@ -855,3 +855,30 @@ static int handle_get_txq(struct nl80211
4 COMMAND(get, txq, "",
5 NL80211_CMD_GET_WIPHY, 0, CIB_PHY, handle_get_txq,
6 "Get TXQ parameters.");
7+
8+static int handle_antenna_gain(struct nl80211_state *state,
9+ struct nl_msg *msg,
10+ int argc, char **argv,
11+ enum id_input id)
12+{
13+ char *endptr;
14+ int dbm;
15+
16+ /* get the required args */
17+ if (argc != 1)
18+ return 1;
19+
20+ dbm = strtol(argv[0], &endptr, 10);
21+ if (*endptr)
22+ return 2;
23+
24+ NLA_PUT_U32(msg, NL80211_ATTR_WIPHY_ANTENNA_GAIN, dbm);
25+
26+ return 0;
27+
28+ nla_put_failure:
29+ return -ENOBUFS;
30+}
31+COMMAND(set, antenna_gain, "<antenna gain in dBm>",
32+ NL80211_CMD_SET_WIPHY, 0, CIB_PHY, handle_antenna_gain,
33+ "Specify antenna gain.");