xref: /freebsd/contrib/wpa/src/ap/rrm.h (revision a90b9d0159070121c221b966469c3e36d912bf82)
1780fb4a2SCy Schubert /*
2780fb4a2SCy Schubert  * hostapd / Radio Measurement (RRM)
3780fb4a2SCy Schubert  * Copyright(c) 2013 - 2016 Intel Mobile Communications GmbH.
4780fb4a2SCy Schubert  * Copyright(c) 2011 - 2016 Intel Corporation. All rights reserved.
5780fb4a2SCy Schubert  *
6780fb4a2SCy Schubert  * This software may be distributed under the terms of the BSD license.
7780fb4a2SCy Schubert  * See README for more details.
8780fb4a2SCy Schubert  */
9780fb4a2SCy Schubert 
10780fb4a2SCy Schubert #ifndef RRM_H
11780fb4a2SCy Schubert #define RRM_H
12780fb4a2SCy Schubert 
13780fb4a2SCy Schubert /*
14780fb4a2SCy Schubert  * Max measure request length is 255, -6 of the body we have 249 for the
15780fb4a2SCy Schubert  * neighbor report elements. Each neighbor report element is at least 2 + 13
16780fb4a2SCy Schubert  * bytes, so we can't have more than 16 responders in the request.
17780fb4a2SCy Schubert  */
18780fb4a2SCy Schubert #define RRM_RANGE_REQ_MAX_RESPONDERS 16
19780fb4a2SCy Schubert 
20780fb4a2SCy Schubert void hostapd_handle_radio_measurement(struct hostapd_data *hapd,
21780fb4a2SCy Schubert 				      const u8 *buf, size_t len);
22780fb4a2SCy Schubert int hostapd_send_lci_req(struct hostapd_data *hapd, const u8 *addr);
23780fb4a2SCy Schubert int hostapd_send_range_req(struct hostapd_data *hapd, const u8 *addr,
24780fb4a2SCy Schubert 			   u16 random_interval, u8 min_ap,
25780fb4a2SCy Schubert 			   const u8 *responders, unsigned int n_responders);
26780fb4a2SCy Schubert void hostapd_clean_rrm(struct hostapd_data *hapd);
2785732ac8SCy Schubert int hostapd_send_beacon_req(struct hostapd_data *hapd, const u8 *addr,
2885732ac8SCy Schubert 			    u8 req_mode, const struct wpabuf *req);
2985732ac8SCy Schubert void hostapd_rrm_beacon_req_tx_status(struct hostapd_data *hapd,
3085732ac8SCy Schubert 				      const struct ieee80211_mgmt *mgmt,
3185732ac8SCy Schubert 				      size_t len, int ok);
32*a90b9d01SCy Schubert int hostapd_send_link_measurement_req(struct hostapd_data *hapd,
33*a90b9d01SCy Schubert 				      const u8 *addr);
34780fb4a2SCy Schubert 
35780fb4a2SCy Schubert #endif /* RRM_H */
36