blob: ad0ddf7ff3864a0214452c4ffcd4b25a4ee9b02b [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001/*
2 * hostapd / Hardware feature query and different modes
3 * Copyright 2002-2003, Instant802 Networks, Inc.
4 * Copyright 2005-2006, Devicescape Software, Inc.
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -08005 * Copyright (c) 2008-2011, Jouni Malinen <j@w1.fi>
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07006 *
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -08007 * This software may be distributed under the terms of the BSD license.
8 * See README for more details.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07009 */
10
11#ifndef HW_FEATURES_H
12#define HW_FEATURES_H
13
14#ifdef NEED_AP_MLME
15void hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
16 size_t num_hw_features);
17int hostapd_get_hw_features(struct hostapd_iface *iface);
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -080018int hostapd_acs_completed(struct hostapd_iface *iface, int err);
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070019int hostapd_select_hw_mode(struct hostapd_iface *iface);
20const char * hostapd_hw_mode_txt(int mode);
21int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan);
22int hostapd_hw_get_channel(struct hostapd_data *hapd, int freq);
23int hostapd_check_ht_capab(struct hostapd_iface *iface);
Hai Shalomc3565922019-10-28 11:58:20 -070024int hostapd_check_edmg_capab(struct hostapd_iface *iface);
Hai Shalom60840252021-02-19 19:02:11 -080025int hostapd_check_he_6ghz_capab(struct hostapd_iface *iface);
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080026int hostapd_prepare_rates(struct hostapd_iface *iface,
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070027 struct hostapd_hw_modes *mode);
Dmitry Shmidt7832adb2014-04-29 10:53:02 -070028void hostapd_stop_setup_timers(struct hostapd_iface *iface);
Hai Shalomfdcde762020-04-02 11:19:20 -070029int hostapd_hw_skip_mode(struct hostapd_iface *iface,
30 struct hostapd_hw_modes *mode);
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070031#else /* NEED_AP_MLME */
32static inline void
33hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
34 size_t num_hw_features)
35{
36}
37
38static inline int hostapd_get_hw_features(struct hostapd_iface *iface)
39{
40 return -1;
41}
42
Dmitry Shmidt912c6ec2015-03-30 13:16:51 -070043static inline int hostapd_acs_completed(struct hostapd_iface *iface, int err)
44{
45 return -1;
46}
47
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070048static inline int hostapd_select_hw_mode(struct hostapd_iface *iface)
49{
Jouni Malinen87fd2792011-05-16 18:35:42 +030050 return -100;
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070051}
52
53static inline const char * hostapd_hw_mode_txt(int mode)
54{
Hai Shalomfdcde762020-04-02 11:19:20 -070055 return "UNKNOWN";
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070056}
57
58static inline int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan)
59{
60 return -1;
61}
62
63static inline int hostapd_check_ht_capab(struct hostapd_iface *iface)
64{
65 return 0;
66}
67
Hai Shalomc3565922019-10-28 11:58:20 -070068static inline int hostapd_check_edmg_capab(struct hostapd_iface *iface)
69{
70 return 0;
71}
72
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080073static inline int hostapd_prepare_rates(struct hostapd_iface *iface,
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070074 struct hostapd_hw_modes *mode)
75{
76 return 0;
77}
78
Dmitry Shmidt7832adb2014-04-29 10:53:02 -070079static inline void hostapd_stop_setup_timers(struct hostapd_iface *iface)
80{
81}
82
Hai Shalomfdcde762020-04-02 11:19:20 -070083static inline int hostapd_hw_skip_mode(struct hostapd_iface *iface,
84 struct hostapd_hw_modes *mode)
85{
86 return 0;
87}
88
Hai Shalom60840252021-02-19 19:02:11 -080089static inline int hostapd_check_he_6ghz_capab(struct hostapd_iface *iface)
90{
91 return 0;
92}
93
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070094#endif /* NEED_AP_MLME */
95
96#endif /* HW_FEATURES_H */