1e5b75505Sopenharmony_ci/*
2e5b75505Sopenharmony_ci * hostapd / Hardware feature query and different modes
3e5b75505Sopenharmony_ci * Copyright 2002-2003, Instant802 Networks, Inc.
4e5b75505Sopenharmony_ci * Copyright 2005-2006, Devicescape Software, Inc.
5e5b75505Sopenharmony_ci * Copyright (c) 2008-2011, Jouni Malinen <j@w1.fi>
6e5b75505Sopenharmony_ci *
7e5b75505Sopenharmony_ci * This software may be distributed under the terms of the BSD license.
8e5b75505Sopenharmony_ci * See README for more details.
9e5b75505Sopenharmony_ci */
10e5b75505Sopenharmony_ci
11e5b75505Sopenharmony_ci#ifndef HW_FEATURES_H
12e5b75505Sopenharmony_ci#define HW_FEATURES_H
13e5b75505Sopenharmony_ci
14e5b75505Sopenharmony_ci#ifdef NEED_AP_MLME
15e5b75505Sopenharmony_civoid hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
16e5b75505Sopenharmony_ci			      size_t num_hw_features);
17e5b75505Sopenharmony_ciint hostapd_get_hw_features(struct hostapd_iface *iface);
18e5b75505Sopenharmony_ciint hostapd_acs_completed(struct hostapd_iface *iface, int err);
19e5b75505Sopenharmony_ciint hostapd_select_hw_mode(struct hostapd_iface *iface);
20e5b75505Sopenharmony_ciconst char * hostapd_hw_mode_txt(int mode);
21e5b75505Sopenharmony_ciint hostapd_hw_get_freq(struct hostapd_data *hapd, int chan);
22e5b75505Sopenharmony_ciint hostapd_hw_get_channel(struct hostapd_data *hapd, int freq);
23e5b75505Sopenharmony_ciint hostapd_check_ht_capab(struct hostapd_iface *iface);
24e5b75505Sopenharmony_ciint hostapd_prepare_rates(struct hostapd_iface *iface,
25e5b75505Sopenharmony_ci			  struct hostapd_hw_modes *mode);
26e5b75505Sopenharmony_civoid hostapd_stop_setup_timers(struct hostapd_iface *iface);
27e5b75505Sopenharmony_ci#else /* NEED_AP_MLME */
28e5b75505Sopenharmony_cistatic inline void
29e5b75505Sopenharmony_cihostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
30e5b75505Sopenharmony_ci			 size_t num_hw_features)
31e5b75505Sopenharmony_ci{
32e5b75505Sopenharmony_ci}
33e5b75505Sopenharmony_ci
34e5b75505Sopenharmony_cistatic inline int hostapd_get_hw_features(struct hostapd_iface *iface)
35e5b75505Sopenharmony_ci{
36e5b75505Sopenharmony_ci	return -1;
37e5b75505Sopenharmony_ci}
38e5b75505Sopenharmony_ci
39e5b75505Sopenharmony_cistatic inline int hostapd_acs_completed(struct hostapd_iface *iface, int err)
40e5b75505Sopenharmony_ci{
41e5b75505Sopenharmony_ci	return -1;
42e5b75505Sopenharmony_ci}
43e5b75505Sopenharmony_ci
44e5b75505Sopenharmony_cistatic inline int hostapd_select_hw_mode(struct hostapd_iface *iface)
45e5b75505Sopenharmony_ci{
46e5b75505Sopenharmony_ci	return -100;
47e5b75505Sopenharmony_ci}
48e5b75505Sopenharmony_ci
49e5b75505Sopenharmony_cistatic inline const char * hostapd_hw_mode_txt(int mode)
50e5b75505Sopenharmony_ci{
51e5b75505Sopenharmony_ci	return NULL;
52e5b75505Sopenharmony_ci}
53e5b75505Sopenharmony_ci
54e5b75505Sopenharmony_cistatic inline int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan)
55e5b75505Sopenharmony_ci{
56e5b75505Sopenharmony_ci	return -1;
57e5b75505Sopenharmony_ci}
58e5b75505Sopenharmony_ci
59e5b75505Sopenharmony_cistatic inline int hostapd_check_ht_capab(struct hostapd_iface *iface)
60e5b75505Sopenharmony_ci{
61e5b75505Sopenharmony_ci	return 0;
62e5b75505Sopenharmony_ci}
63e5b75505Sopenharmony_ci
64e5b75505Sopenharmony_cistatic inline int hostapd_prepare_rates(struct hostapd_iface *iface,
65e5b75505Sopenharmony_ci					struct hostapd_hw_modes *mode)
66e5b75505Sopenharmony_ci{
67e5b75505Sopenharmony_ci	return 0;
68e5b75505Sopenharmony_ci}
69e5b75505Sopenharmony_ci
70e5b75505Sopenharmony_cistatic inline void hostapd_stop_setup_timers(struct hostapd_iface *iface)
71e5b75505Sopenharmony_ci{
72e5b75505Sopenharmony_ci}
73e5b75505Sopenharmony_ci
74e5b75505Sopenharmony_ci#endif /* NEED_AP_MLME */
75e5b75505Sopenharmony_ci
76e5b75505Sopenharmony_ci#endif /* HW_FEATURES_H */
77