Lines Matching defs:mbo

43 	const u8 *mbo;
48 mbo = mbo_ie + MBO_IE_HEADER;
50 return get_ie(mbo, 2 + ie_len - MBO_IE_HEADER, attr);
69 const u8 *mbo, *end;
74 mbo = wpa_bss_get_vendor_ie(bss, MBO_IE_VENDOR_TYPE);
75 if (!mbo)
78 end = mbo + 2 + mbo[1];
79 mbo += MBO_IE_HEADER;
81 return get_ie(mbo, end - mbo, attr);
86 struct wpabuf *mbo,
91 wpabuf_put_u8(mbo, wpa_s->non_pref_chan[start].oper_class);
94 wpabuf_put_u8(mbo, wpa_s->non_pref_chan[i].chan);
96 wpabuf_put_u8(mbo, wpa_s->non_pref_chan[start].preference);
97 wpabuf_put_u8(mbo, wpa_s->non_pref_chan[start].reason);
101 static void wpas_mbo_non_pref_chan_attr_hdr(struct wpabuf *mbo, size_t size)
103 wpabuf_put_u8(mbo, MBO_ATTR_ID_NON_PREF_CHAN_REPORT);
104 wpabuf_put_u8(mbo, size); /* Length */
109 struct wpabuf *mbo, u8 start, u8 end)
113 if (size + 2 > wpabuf_tailroom(mbo))
116 wpas_mbo_non_pref_chan_attr_hdr(mbo, size);
117 wpas_mbo_non_pref_chan_attr_body(wpa_s, mbo, start, end);
121 static void wpas_mbo_non_pref_chan_subelem_hdr(struct wpabuf *mbo, u8 len)
123 wpabuf_put_u8(mbo, WLAN_EID_VENDOR_SPECIFIC);
124 wpabuf_put_u8(mbo, len); /* Length */
125 wpabuf_put_be24(mbo, OUI_WFA);
126 wpabuf_put_u8(mbo, MBO_ATTR_ID_NON_PREF_CHAN_REPORT);
131 struct wpabuf *mbo, u8 start,
136 if (size + 2 > wpabuf_tailroom(mbo))
139 wpas_mbo_non_pref_chan_subelem_hdr(mbo, size);
140 wpas_mbo_non_pref_chan_attr_body(wpa_s, mbo, start, end);
145 struct wpabuf *mbo, int subelement)
152 wpas_mbo_non_pref_chan_subelem_hdr(mbo, 4);
154 wpas_mbo_non_pref_chan_attr_hdr(mbo, 0);
169 wpas_mbo_non_pref_chan_subelement(wpa_s, mbo,
172 wpas_mbo_non_pref_chan_attr(wpa_s, mbo, start,
188 struct wpabuf *mbo;
196 mbo = wpabuf_alloc(len - MBO_IE_HEADER);
197 if (!mbo)
201 wpas_mbo_non_pref_chan_attrs(wpa_s, mbo, 0);
207 wpabuf_put_u8(mbo, MBO_ATTR_ID_CELL_DATA_CAPA);
208 wpabuf_put_u8(mbo, 1);
209 wpabuf_put_u8(mbo, wpa_s->conf->mbo_cell_capa);
213 wpabuf_put_u8(mbo, OCE_ATTR_ID_CAPA_IND);
214 wpabuf_put_u8(mbo, 1);
215 wpabuf_put_u8(mbo, OCE_RELEASE);
218 res = mbo_add_ie(buf, len, wpabuf_head_u8(mbo), wpabuf_len(mbo));
222 wpabuf_free(mbo);