Lines Matching defs:tb

102 					 struct nlattr *tb)
107 if (tb == NULL)
110 nla_for_each_nested(nl_mode, tb, i) {
202 struct nlattr *tb)
207 if (tb == NULL)
210 nla_for_each_nested(nl_combi, tb, rem_combi) {
218 struct nlattr *tb)
223 if (tb == NULL)
226 nla_for_each_nested(nl_cmd, tb, i) {
252 struct nlattr *tb)
257 if (tb == NULL)
260 num = nla_len(tb) / sizeof(u32);
261 ciphers = nla_data(tb);
311 struct nlattr *tb)
313 if (tb)
314 capa->max_remain_on_chan = nla_get_u32(tb);
348 struct nlattr *tb)
354 if (tb == NULL)
357 ext_features = nla_data(tb);
358 len = nla_len(tb);
440 struct nlattr *tb)
445 if (tb == NULL)
448 flags = nla_get_u32(tb);
512 struct nlattr *tb)
516 if (tb == NULL)
519 protocols = nla_get_u32(tb);
528 struct nlattr *tb)
532 if (tb == NULL)
536 tb, NULL))
557 struct nlattr *tb)
562 if (!tb || drv->num_iface_ext_capa == NL80211_IFTYPE_MAX)
565 nla_for_each_nested(attr, tb, rem) {
625 struct nlattr *tb[NL80211_ATTR_MAX + 1];
631 nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
634 if (tb[NL80211_ATTR_WIPHY])
635 drv->wiphy_idx = nla_get_u32(tb[NL80211_ATTR_WIPHY]);
637 if (tb[NL80211_ATTR_WIPHY_NAME])
639 nla_get_string(tb[NL80211_ATTR_WIPHY_NAME]),
641 if (tb[NL80211_ATTR_MAX_NUM_SCAN_SSIDS])
643 nla_get_u8(tb[NL80211_ATTR_MAX_NUM_SCAN_SSIDS]);
645 if (tb[NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS])
647 nla_get_u8(tb[NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS]);
649 if (tb[NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS] &&
650 tb[NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL] &&
651 tb[NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS]) {
653 nla_get_u32(tb[NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS]);
656 nla_get_u32(tb[NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL]);
659 nla_get_u32(tb[NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS]);
662 if (tb[NL80211_ATTR_MAX_MATCH_SETS])
664 nla_get_u8(tb[NL80211_ATTR_MAX_MATCH_SETS]);
666 if (tb[NL80211_ATTR_MAC_ACL_MAX])
668 nla_get_u8(tb[NL80211_ATTR_MAC_ACL_MAX]);
670 wiphy_info_supported_iftypes(info, tb[NL80211_ATTR_SUPPORTED_IFTYPES]);
671 wiphy_info_iface_comb(info, tb[NL80211_ATTR_INTERFACE_COMBINATIONS]);
672 wiphy_info_supp_cmds(info, tb[NL80211_ATTR_SUPPORTED_COMMANDS]);
673 wiphy_info_cipher_suites(info, tb[NL80211_ATTR_CIPHER_SUITES]);
675 if (tb[NL80211_ATTR_OFFCHANNEL_TX_OK]) {
681 if (tb[NL80211_ATTR_ROAM_SUPPORT]) {
687 tb[NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION]);
689 if (tb[NL80211_ATTR_SUPPORT_AP_UAPSD])
692 wiphy_info_tdls(capa, tb[NL80211_ATTR_TDLS_SUPPORT],
693 tb[NL80211_ATTR_TDLS_EXTERNAL_SETUP]);
695 if (tb[NL80211_ATTR_DEVICE_AP_SME])
698 wiphy_info_feature_flags(info, tb[NL80211_ATTR_FEATURE_FLAGS]);
699 wiphy_info_ext_feature_flags(info, tb[NL80211_ATTR_EXT_FEATURES]);
701 tb[NL80211_ATTR_PROBE_RESP_OFFLOAD]);
703 if (tb[NL80211_ATTR_EXT_CAPA] && tb[NL80211_ATTR_EXT_CAPA_MASK] &&
706 os_malloc(nla_len(tb[NL80211_ATTR_EXT_CAPA]));
709 nla_data(tb[NL80211_ATTR_EXT_CAPA]),
710 nla_len(tb[NL80211_ATTR_EXT_CAPA]));
712 nla_len(tb[NL80211_ATTR_EXT_CAPA]);
718 os_malloc(nla_len(tb[NL80211_ATTR_EXT_CAPA_MASK]));
721 nla_data(tb[NL80211_ATTR_EXT_CAPA_MASK]),
722 nla_len(tb[NL80211_ATTR_EXT_CAPA_MASK]));
734 wiphy_info_extended_capab(drv, tb[NL80211_ATTR_IFTYPE_EXT_CAPA]);
736 if (tb[NL80211_ATTR_VENDOR_DATA]) {
740 nla_for_each_nested(nl, tb[NL80211_ATTR_VENDOR_DATA], rem) {
799 if (tb[NL80211_ATTR_VENDOR_EVENTS]) {
803 nla_for_each_nested(nl, tb[NL80211_ATTR_VENDOR_EVENTS], rem) {
816 tb[NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED]);
818 if (tb[NL80211_ATTR_MAX_AP_ASSOC_STA])
820 nla_get_u32(tb[NL80211_ATTR_MAX_AP_ASSOC_STA]);
822 if (tb[NL80211_ATTR_MAX_CSA_COUNTERS])
824 nla_get_u8(tb[NL80211_ATTR_MAX_CSA_COUNTERS]);
826 if (tb[NL80211_ATTR_WIPHY_SELF_MANAGED_REG])
912 struct nlattr *tb[NL80211_ATTR_MAX + 1];
916 nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
919 if (tb[NL80211_ATTR_VENDOR_DATA]) {
920 struct nlattr *nl_vend = tb[NL80211_ATTR_VENDOR_DATA];
962 static unsigned int get_akm_suites_info(struct nlattr *tb)
968 if (!tb)
971 num = nla_len(tb) / sizeof(u32);
972 akms = nla_data(tb);
1031 struct nlattr *tb[NL80211_ATTR_MAX + 1];
1035 nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
1038 if (tb[NL80211_ATTR_VENDOR_DATA]) {
1039 struct nlattr *nl_vend = tb[NL80211_ATTR_VENDOR_DATA];
1091 struct nlattr *tb[NL80211_ATTR_MAX + 1];
1096 nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
1099 nl_vend = tb[NL80211_ATTR_VENDOR_DATA];
1452 struct hostapd_hw_modes *mode, struct nlattr *tb)
1474 if (tb == NULL)
1477 nla_for_each_nested(nl_freq, tb, rem_freq) {
1496 nla_for_each_nested(nl_freq, tb, rem_freq) {
1510 static int phy_info_rates(struct hostapd_hw_modes *mode, struct nlattr *tb)
1521 if (tb == NULL)
1524 nla_for_each_nested(nl_rate, tb, rem_rate) {
1539 nla_for_each_nested(nl_rate, tb, rem_rate) {
1556 struct nlattr **tb, struct nlattr **tb_flags)
1583 if (tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]) {
1584 len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]);
1589 nla_data(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]),
1593 if (tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC]) {
1594 len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC]);
1599 nla_data(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC]),
1603 if (tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET]) {
1604 len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET]);
1609 nla_data(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET]),
1613 if (tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE]) {
1614 len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE]);
1619 nla_data(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE]),
1628 struct nlattr *tb[NL80211_BAND_IFTYPE_ATTR_MAX + 1];
1632 nla_parse(tb, NL80211_BAND_IFTYPE_ATTR_MAX,
1635 if (!tb[NL80211_BAND_IFTYPE_ATTR_IFTYPES])
1639 tb[NL80211_BAND_IFTYPE_ATTR_IFTYPES], NULL))
1643 phy_info_iftype_copy(&mode->he_capab[i], i, tb, tb_flags);
1902 static void nl80211_reg_rule_sec(struct nlattr *tb[],
1908 if (tb[NL80211_ATTR_FREQ_RANGE_START] == NULL ||
1909 tb[NL80211_ATTR_FREQ_RANGE_END] == NULL ||
1910 tb[NL80211_ATTR_FREQ_RANGE_MAX_BW] == NULL)
1913 start = nla_get_u32(tb[NL80211_ATTR_FREQ_RANGE_START]) / 1000;
1914 end = nla_get_u32(tb[NL80211_ATTR_FREQ_RANGE_END]) / 1000;
1915 max_bw = nla_get_u32(tb[NL80211_ATTR_FREQ_RANGE_MAX_BW]) / 1000;
1977 static void nl80211_reg_rule_vht(struct nlattr *tb[],
1983 if (tb[NL80211_ATTR_FREQ_RANGE_START] == NULL ||
1984 tb[NL80211_ATTR_FREQ_RANGE_END] == NULL ||
1985 tb[NL80211_ATTR_FREQ_RANGE_MAX_BW] == NULL)
1988 start = nla_get_u32(tb[NL80211_ATTR_FREQ_RANGE_START]) / 1000;
1989 end = nla_get_u32(tb[NL80211_ATTR_FREQ_RANGE_END]) / 1000;
1990 max_bw = nla_get_u32(tb[NL80211_ATTR_FREQ_RANGE_MAX_BW]) / 1000;