1 /* 2 * hostapd / Hardware feature query and different modes 3 * Copyright 2002-2003, Instant802 Networks, Inc. 4 * Copyright 2005-2006, Devicescape Software, Inc. 5 * Copyright (c) 2008-2011, Jouni Malinen <j@w1.fi> 6 * 7 * This software may be distributed under the terms of the BSD license. 8 * See README for more details. 9 */ 10 11 #ifndef HW_FEATURES_H 12 #define HW_FEATURES_H 13 14 #ifdef NEED_AP_MLME 15 void hostapd_free_hw_features(struct hostapd_hw_modes *hw_features, 16 size_t num_hw_features); 17 int hostapd_get_hw_features(struct hostapd_iface *iface); 18 int hostapd_csa_update_hwmode(struct hostapd_iface *iface); 19 int hostapd_acs_completed(struct hostapd_iface *iface, int err); 20 int hostapd_select_hw_mode(struct hostapd_iface *iface); 21 const char * hostapd_hw_mode_txt(int mode); 22 int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan); 23 int hostapd_hw_get_channel(struct hostapd_data *hapd, int freq); 24 int hostapd_check_ht_capab(struct hostapd_iface *iface); 25 int hostapd_check_edmg_capab(struct hostapd_iface *iface); 26 int hostapd_check_he_6ghz_capab(struct hostapd_iface *iface); 27 int hostapd_prepare_rates(struct hostapd_iface *iface, 28 struct hostapd_hw_modes *mode); 29 void hostapd_stop_setup_timers(struct hostapd_iface *iface); 30 int hostapd_hw_skip_mode(struct hostapd_iface *iface, 31 struct hostapd_hw_modes *mode); 32 int hostapd_determine_mode(struct hostapd_iface *iface); 33 void hostapd_free_multi_hw_info(struct hostapd_multi_hw_info *multi_hw_info); 34 int hostapd_set_current_hw_info(struct hostapd_iface *iface, int oper_freq); 35 #else /* NEED_AP_MLME */ 36 static inline void hostapd_free_hw_features(struct hostapd_hw_modes * hw_features,size_t num_hw_features)37 hostapd_free_hw_features(struct hostapd_hw_modes *hw_features, 38 size_t num_hw_features) 39 { 40 } 41 hostapd_get_hw_features(struct hostapd_iface * iface)42 static inline int hostapd_get_hw_features(struct hostapd_iface *iface) 43 { 44 return -1; 45 } 46 hostapd_csa_update_hwmode(struct hostapd_iface * iface)47 static inline int hostapd_csa_update_hwmode(struct hostapd_iface *iface) 48 { 49 return 0; 50 } 51 hostapd_acs_completed(struct hostapd_iface * iface,int err)52 static inline int hostapd_acs_completed(struct hostapd_iface *iface, int err) 53 { 54 return -1; 55 } 56 hostapd_select_hw_mode(struct hostapd_iface * iface)57 static inline int hostapd_select_hw_mode(struct hostapd_iface *iface) 58 { 59 return -100; 60 } 61 hostapd_hw_mode_txt(int mode)62 static inline const char * hostapd_hw_mode_txt(int mode) 63 { 64 return "UNKNOWN"; 65 } 66 hostapd_hw_get_freq(struct hostapd_data * hapd,int chan)67 static inline int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan) 68 { 69 return -1; 70 } 71 hostapd_check_ht_capab(struct hostapd_iface * iface)72 static inline int hostapd_check_ht_capab(struct hostapd_iface *iface) 73 { 74 return 0; 75 } 76 hostapd_check_edmg_capab(struct hostapd_iface * iface)77 static inline int hostapd_check_edmg_capab(struct hostapd_iface *iface) 78 { 79 return 0; 80 } 81 hostapd_prepare_rates(struct hostapd_iface * iface,struct hostapd_hw_modes * mode)82 static inline int hostapd_prepare_rates(struct hostapd_iface *iface, 83 struct hostapd_hw_modes *mode) 84 { 85 return 0; 86 } 87 hostapd_stop_setup_timers(struct hostapd_iface * iface)88 static inline void hostapd_stop_setup_timers(struct hostapd_iface *iface) 89 { 90 } 91 hostapd_hw_skip_mode(struct hostapd_iface * iface,struct hostapd_hw_modes * mode)92 static inline int hostapd_hw_skip_mode(struct hostapd_iface *iface, 93 struct hostapd_hw_modes *mode) 94 { 95 return 0; 96 } 97 hostapd_check_he_6ghz_capab(struct hostapd_iface * iface)98 static inline int hostapd_check_he_6ghz_capab(struct hostapd_iface *iface) 99 { 100 return 0; 101 } 102 hostapd_determine_mode(struct hostapd_iface * iface)103 static inline int hostapd_determine_mode(struct hostapd_iface *iface) 104 { 105 return 0; 106 } 107 108 static inline hostapd_free_multi_hw_info(struct hostapd_multi_hw_info * multi_hw_info)109 void hostapd_free_multi_hw_info(struct hostapd_multi_hw_info *multi_hw_info) 110 { 111 } 112 hostapd_set_current_hw_info(struct hostapd_iface * iface,u32 oper_freq)113 static inline int hostapd_set_current_hw_info(struct hostapd_iface *iface, 114 u32 oper_freq) 115 { 116 return 0; 117 } 118 #endif /* NEED_AP_MLME */ 119 120 #endif /* HW_FEATURES_H */ 121