13ff40c12SJohn Marino /*
23ff40c12SJohn Marino * hostapd / Hardware feature query and different modes
33ff40c12SJohn Marino * Copyright 2002-2003, Instant802 Networks, Inc.
43ff40c12SJohn Marino * Copyright 2005-2006, Devicescape Software, Inc.
53ff40c12SJohn Marino * Copyright (c) 2008-2011, Jouni Malinen <j@w1.fi>
63ff40c12SJohn Marino *
73ff40c12SJohn Marino * This software may be distributed under the terms of the BSD license.
83ff40c12SJohn Marino * See README for more details.
93ff40c12SJohn Marino */
103ff40c12SJohn Marino
113ff40c12SJohn Marino #ifndef HW_FEATURES_H
123ff40c12SJohn Marino #define HW_FEATURES_H
133ff40c12SJohn Marino
143ff40c12SJohn Marino #ifdef NEED_AP_MLME
153ff40c12SJohn Marino void hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
163ff40c12SJohn Marino size_t num_hw_features);
173ff40c12SJohn Marino int hostapd_get_hw_features(struct hostapd_iface *iface);
183ff40c12SJohn Marino int hostapd_acs_completed(struct hostapd_iface *iface, int err);
193ff40c12SJohn Marino int hostapd_select_hw_mode(struct hostapd_iface *iface);
203ff40c12SJohn Marino const char * hostapd_hw_mode_txt(int mode);
213ff40c12SJohn Marino int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan);
223ff40c12SJohn Marino int hostapd_hw_get_channel(struct hostapd_data *hapd, int freq);
233ff40c12SJohn Marino int hostapd_check_ht_capab(struct hostapd_iface *iface);
243ff40c12SJohn Marino int hostapd_prepare_rates(struct hostapd_iface *iface,
253ff40c12SJohn Marino struct hostapd_hw_modes *mode);
26*a1157835SDaniel Fojt void hostapd_stop_setup_timers(struct hostapd_iface *iface);
273ff40c12SJohn Marino #else /* NEED_AP_MLME */
283ff40c12SJohn Marino static inline void
hostapd_free_hw_features(struct hostapd_hw_modes * hw_features,size_t num_hw_features)293ff40c12SJohn Marino hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
303ff40c12SJohn Marino size_t num_hw_features)
313ff40c12SJohn Marino {
323ff40c12SJohn Marino }
333ff40c12SJohn Marino
hostapd_get_hw_features(struct hostapd_iface * iface)343ff40c12SJohn Marino static inline int hostapd_get_hw_features(struct hostapd_iface *iface)
353ff40c12SJohn Marino {
363ff40c12SJohn Marino return -1;
373ff40c12SJohn Marino }
383ff40c12SJohn Marino
hostapd_acs_completed(struct hostapd_iface * iface,int err)39*a1157835SDaniel Fojt static inline int hostapd_acs_completed(struct hostapd_iface *iface, int err)
40*a1157835SDaniel Fojt {
41*a1157835SDaniel Fojt return -1;
42*a1157835SDaniel Fojt }
43*a1157835SDaniel Fojt
hostapd_select_hw_mode(struct hostapd_iface * iface)443ff40c12SJohn Marino static inline int hostapd_select_hw_mode(struct hostapd_iface *iface)
453ff40c12SJohn Marino {
463ff40c12SJohn Marino return -100;
473ff40c12SJohn Marino }
483ff40c12SJohn Marino
hostapd_hw_mode_txt(int mode)493ff40c12SJohn Marino static inline const char * hostapd_hw_mode_txt(int mode)
503ff40c12SJohn Marino {
513ff40c12SJohn Marino return NULL;
523ff40c12SJohn Marino }
533ff40c12SJohn Marino
hostapd_hw_get_freq(struct hostapd_data * hapd,int chan)543ff40c12SJohn Marino static inline int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan)
553ff40c12SJohn Marino {
563ff40c12SJohn Marino return -1;
573ff40c12SJohn Marino }
583ff40c12SJohn Marino
hostapd_check_ht_capab(struct hostapd_iface * iface)593ff40c12SJohn Marino static inline int hostapd_check_ht_capab(struct hostapd_iface *iface)
603ff40c12SJohn Marino {
613ff40c12SJohn Marino return 0;
623ff40c12SJohn Marino }
633ff40c12SJohn Marino
hostapd_prepare_rates(struct hostapd_iface * iface,struct hostapd_hw_modes * mode)643ff40c12SJohn Marino static inline int hostapd_prepare_rates(struct hostapd_iface *iface,
653ff40c12SJohn Marino struct hostapd_hw_modes *mode)
663ff40c12SJohn Marino {
673ff40c12SJohn Marino return 0;
683ff40c12SJohn Marino }
693ff40c12SJohn Marino
hostapd_stop_setup_timers(struct hostapd_iface * iface)70*a1157835SDaniel Fojt static inline void hostapd_stop_setup_timers(struct hostapd_iface *iface)
71*a1157835SDaniel Fojt {
72*a1157835SDaniel Fojt }
73*a1157835SDaniel Fojt
743ff40c12SJohn Marino #endif /* NEED_AP_MLME */
753ff40c12SJohn Marino
763ff40c12SJohn Marino #endif /* HW_FEATURES_H */
77