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