--- a/phy.c +++ b/phy.c @@ -532,3 +532,31 @@ COMMAND(set, antenna, " | all | NL80211_CMD_SET_WIPHY, 0, CIB_PHY, handle_antenna, "Set a bitmap of allowed antennas to use for TX and RX.\n" "The driver may reject antenna configurations it cannot support."); + +static int handle_antenna_gain(struct nl80211_state *state, + struct nl_cb *cb, + struct nl_msg *msg, + int argc, char **argv, + enum id_input id) +{ + char *endptr; + int dbm; + + /* get the required args */ + if (argc != 1) + return 1; + + dbm = strtol(argv[0], &endptr, 10); + if (*endptr) + return 2; + + NLA_PUT_U32(msg, NL80211_ATTR_WIPHY_ANTENNA_GAIN, dbm); + + return 0; + + nla_put_failure: + return -ENOBUFS; +} +COMMAND(set, antenna_gain, "", + NL80211_CMD_SET_WIPHY, 0, CIB_PHY, handle_antenna_gain, + "Specify antenna gain.");