xref: /freebsd/contrib/wpa/src/ap/mbo_ap.h (revision 780fb4a2fa9a9aee5ac48a60b790f567c0dc13e9)
1*780fb4a2SCy Schubert /*
2*780fb4a2SCy Schubert  * MBO related functions and structures
3*780fb4a2SCy Schubert  * Copyright (c) 2016, Qualcomm Atheros, Inc.
4*780fb4a2SCy Schubert  *
5*780fb4a2SCy Schubert  * This software may be distributed under the terms of the BSD license.
6*780fb4a2SCy Schubert  * See README for more details.
7*780fb4a2SCy Schubert  */
8*780fb4a2SCy Schubert 
9*780fb4a2SCy Schubert #ifndef MBO_AP_H
10*780fb4a2SCy Schubert #define MBO_AP_H
11*780fb4a2SCy Schubert 
12*780fb4a2SCy Schubert struct hostapd_data;
13*780fb4a2SCy Schubert struct sta_info;
14*780fb4a2SCy Schubert struct ieee802_11_elems;
15*780fb4a2SCy Schubert 
16*780fb4a2SCy Schubert #ifdef CONFIG_MBO
17*780fb4a2SCy Schubert 
18*780fb4a2SCy Schubert void mbo_ap_check_sta_assoc(struct hostapd_data *hapd, struct sta_info *sta,
19*780fb4a2SCy Schubert 			    struct ieee802_11_elems *elems);
20*780fb4a2SCy Schubert int mbo_ap_get_info(struct sta_info *sta, char *buf, size_t buflen);
21*780fb4a2SCy Schubert void mbo_ap_wnm_notification_req(struct hostapd_data *hapd, const u8 *addr,
22*780fb4a2SCy Schubert 				 const u8 *buf, size_t len);
23*780fb4a2SCy Schubert void mbo_ap_sta_free(struct sta_info *sta);
24*780fb4a2SCy Schubert 
25*780fb4a2SCy Schubert #else /* CONFIG_MBO */
26*780fb4a2SCy Schubert 
mbo_ap_check_sta_assoc(struct hostapd_data * hapd,struct sta_info * sta,struct ieee802_11_elems * elems)27*780fb4a2SCy Schubert static inline void mbo_ap_check_sta_assoc(struct hostapd_data *hapd,
28*780fb4a2SCy Schubert 					  struct sta_info *sta,
29*780fb4a2SCy Schubert 					  struct ieee802_11_elems *elems)
30*780fb4a2SCy Schubert {
31*780fb4a2SCy Schubert }
32*780fb4a2SCy Schubert 
mbo_ap_get_info(struct sta_info * sta,char * buf,size_t buflen)33*780fb4a2SCy Schubert static inline int mbo_ap_get_info(struct sta_info *sta, char *buf,
34*780fb4a2SCy Schubert 				  size_t buflen)
35*780fb4a2SCy Schubert {
36*780fb4a2SCy Schubert 	return 0;
37*780fb4a2SCy Schubert }
38*780fb4a2SCy Schubert 
mbo_ap_wnm_notification_req(struct hostapd_data * hapd,const u8 * addr,const u8 * buf,size_t len)39*780fb4a2SCy Schubert static inline void mbo_ap_wnm_notification_req(struct hostapd_data *hapd,
40*780fb4a2SCy Schubert 					       const u8 *addr,
41*780fb4a2SCy Schubert 					       const u8 *buf, size_t len)
42*780fb4a2SCy Schubert {
43*780fb4a2SCy Schubert }
44*780fb4a2SCy Schubert 
mbo_ap_sta_free(struct sta_info * sta)45*780fb4a2SCy Schubert static inline void mbo_ap_sta_free(struct sta_info *sta)
46*780fb4a2SCy Schubert {
47*780fb4a2SCy Schubert }
48*780fb4a2SCy Schubert 
49*780fb4a2SCy Schubert #endif /* CONFIG_MBO */
50*780fb4a2SCy Schubert 
51*780fb4a2SCy Schubert #endif /* MBO_AP_H */
52