Lines Matching defs:mbo
44 const u8 *mbo;
49 mbo = mbo_ie + MBO_IE_HEADER;
51 return get_ie(mbo, 2 + ie_len - MBO_IE_HEADER, attr);
71 const u8 *mbo, *end;
77 mbo = wpa_bss_get_vendor_ie_beacon(bss, MBO_IE_VENDOR_TYPE);
79 mbo = wpa_bss_get_vendor_ie(bss, MBO_IE_VENDOR_TYPE);
80 if (!mbo)
83 end = mbo + 2 + mbo[1];
84 mbo += MBO_IE_HEADER;
86 return get_ie(mbo, end - mbo, attr);
106 const u8 *rsne, *mbo, *oce;
112 mbo = wpas_mbo_get_bss_attr(bss, MBO_ATTR_ID_AP_CAPA_IND, false);
114 if (!mbo && !oce)
133 struct wpabuf *mbo,
138 wpabuf_put_u8(mbo, wpa_s->non_pref_chan[start].oper_class);
141 wpabuf_put_u8(mbo, wpa_s->non_pref_chan[i].chan);
143 wpabuf_put_u8(mbo, wpa_s->non_pref_chan[start].preference);
144 wpabuf_put_u8(mbo, wpa_s->non_pref_chan[start].reason);
148 static void wpas_mbo_non_pref_chan_attr_hdr(struct wpabuf *mbo, size_t size)
150 wpabuf_put_u8(mbo, MBO_ATTR_ID_NON_PREF_CHAN_REPORT);
151 wpabuf_put_u8(mbo, size); /* Length */
156 struct wpabuf *mbo, u8 start, u8 end)
160 if (size + 2 > wpabuf_tailroom(mbo))
163 wpas_mbo_non_pref_chan_attr_hdr(mbo, size);
164 wpas_mbo_non_pref_chan_attr_body(wpa_s, mbo, start, end);
168 static void wpas_mbo_non_pref_chan_subelem_hdr(struct wpabuf *mbo, u8 len)
170 wpabuf_put_u8(mbo, WLAN_EID_VENDOR_SPECIFIC);
171 wpabuf_put_u8(mbo, len); /* Length */
172 wpabuf_put_be24(mbo, OUI_WFA);
173 wpabuf_put_u8(mbo, MBO_ATTR_ID_NON_PREF_CHAN_REPORT);
178 struct wpabuf *mbo, u8 start,
183 if (size + 2 > wpabuf_tailroom(mbo))
186 wpas_mbo_non_pref_chan_subelem_hdr(mbo, size);
187 wpas_mbo_non_pref_chan_attr_body(wpa_s, mbo, start, end);
192 struct wpabuf *mbo, int subelement)
199 wpas_mbo_non_pref_chan_subelem_hdr(mbo, 4);
201 wpas_mbo_non_pref_chan_attr_hdr(mbo, 0);
216 wpas_mbo_non_pref_chan_subelement(wpa_s, mbo,
219 wpas_mbo_non_pref_chan_attr(wpa_s, mbo, start,
235 struct wpabuf *mbo;
243 mbo = wpabuf_alloc(len - MBO_IE_HEADER);
244 if (!mbo)
248 wpas_mbo_non_pref_chan_attrs(wpa_s, mbo, 0);
254 wpabuf_put_u8(mbo, MBO_ATTR_ID_CELL_DATA_CAPA);
255 wpabuf_put_u8(mbo, 1);
256 wpabuf_put_u8(mbo, wpa_s->conf->mbo_cell_capa);
260 wpabuf_put_u8(mbo, OCE_ATTR_ID_CAPA_IND);
261 wpabuf_put_u8(mbo, 1);
262 wpabuf_put_u8(mbo, OCE_RELEASE);
265 res = mbo_add_ie(buf, len, wpabuf_head_u8(mbo), wpabuf_len(mbo));
269 wpabuf_free(mbo);