blob: c682c6d20b817c6ba68be348c1b3c46e5f9be7ce [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);
Sunil Ravi2a14cf12023-11-21 00:54:38 +000018int hostapd_csa_update_hwmode(struct hostapd_iface *iface);
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -080019int hostapd_acs_completed(struct hostapd_iface *iface, int err);
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070020int hostapd_select_hw_mode(struct hostapd_iface *iface);
21const char * hostapd_hw_mode_txt(int mode);
22int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan);
23int hostapd_hw_get_channel(struct hostapd_data *hapd, int freq);
24int hostapd_check_ht_capab(struct hostapd_iface *iface);
Hai Shalomc3565922019-10-28 11:58:20 -070025int hostapd_check_edmg_capab(struct hostapd_iface *iface);
Hai Shalom60840252021-02-19 19:02:11 -080026int hostapd_check_he_6ghz_capab(struct hostapd_iface *iface);
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080027int hostapd_prepare_rates(struct hostapd_iface *iface,
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070028 struct hostapd_hw_modes *mode);
Dmitry Shmidt7832adb2014-04-29 10:53:02 -070029void hostapd_stop_setup_timers(struct hostapd_iface *iface);
Hai Shalomfdcde762020-04-02 11:19:20 -070030int hostapd_hw_skip_mode(struct hostapd_iface *iface,
31 struct hostapd_hw_modes *mode);
Sunil Ravi2a14cf12023-11-21 00:54:38 +000032int hostapd_determine_mode(struct hostapd_iface *iface);
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070033#else /* NEED_AP_MLME */
34static inline void
35hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
36 size_t num_hw_features)
37{
38}
39
40static inline int hostapd_get_hw_features(struct hostapd_iface *iface)
41{
42 return -1;
43}
44
Sunil Ravi2a14cf12023-11-21 00:54:38 +000045static inline int hostapd_csa_update_hwmode(struct hostapd_iface *iface)
46{
47 return 0;
48}
49
Dmitry Shmidt912c6ec2015-03-30 13:16:51 -070050static inline int hostapd_acs_completed(struct hostapd_iface *iface, int err)
51{
52 return -1;
53}
54
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070055static inline int hostapd_select_hw_mode(struct hostapd_iface *iface)
56{
Jouni Malinen87fd2792011-05-16 18:35:42 +030057 return -100;
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070058}
59
60static inline const char * hostapd_hw_mode_txt(int mode)
61{
Hai Shalomfdcde762020-04-02 11:19:20 -070062 return "UNKNOWN";
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070063}
64
65static inline int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan)
66{
67 return -1;
68}
69
70static inline int hostapd_check_ht_capab(struct hostapd_iface *iface)
71{
72 return 0;
73}
74
Hai Shalomc3565922019-10-28 11:58:20 -070075static inline int hostapd_check_edmg_capab(struct hostapd_iface *iface)
76{
77 return 0;
78}
79
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080080static inline int hostapd_prepare_rates(struct hostapd_iface *iface,
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070081 struct hostapd_hw_modes *mode)
82{
83 return 0;
84}
85
Dmitry Shmidt7832adb2014-04-29 10:53:02 -070086static inline void hostapd_stop_setup_timers(struct hostapd_iface *iface)
87{
88}
89
Hai Shalomfdcde762020-04-02 11:19:20 -070090static inline int hostapd_hw_skip_mode(struct hostapd_iface *iface,
91 struct hostapd_hw_modes *mode)
92{
93 return 0;
94}
95
Hai Shalom60840252021-02-19 19:02:11 -080096static inline int hostapd_check_he_6ghz_capab(struct hostapd_iface *iface)
97{
98 return 0;
99}
100
Sunil Ravi2a14cf12023-11-21 00:54:38 +0000101static inline int hostapd_determine_mode(struct hostapd_iface *iface)
102{
103 return 0;
104}
105
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700106#endif /* NEED_AP_MLME */
107
108#endif /* HW_FEATURES_H */