-static int i802_set_dtim_period(const char *iface, void *priv, int value)
-{
- struct i802_driver_data *drv = priv;
- struct nl_msg *msg;
- int ret = -ENOBUFS;
- struct i802_bss *bss;
-
- bss = get_bss(drv, iface);
- if (bss == NULL)
- return -ENOENT;
-
- msg = nlmsg_alloc();
- if (!msg)
- return -ENOMEM;
-
- wpa_printf(MSG_DEBUG, "nl80211: Set beacon DTIM period %d (iface=%s "
- "beacon_set=%d)", value, iface, bss->beacon_set);
- genlmsg_put(msg, 0, 0, genl_family_get_id(drv->nl80211), 0,
- 0, NL80211_CMD_SET_BEACON, 0);
- NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, if_nametoindex(iface));
-
- bss->dtim_period = value;
- NLA_PUT_U32(msg, NL80211_ATTR_DTIM_PERIOD, bss->dtim_period);
-
- ret = send_and_recv_msgs(drv, msg, NULL, NULL);
- if (ret)
- wpa_printf(MSG_DEBUG, "nl80211: NL80211_CMD_SET_BEACON(%s) "
- "result: %d (%s)", iface, ret, strerror(-ret));
-
- nla_put_failure:
- return ret;
-}
-
-